UsersfreeServiceImpl.java 5.97 KB
package com.cnlive.shenhe.serviceImpl;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.cnlive.shenhe.dto.UsersFreeDTO;
import com.cnlive.shenhe.entity.ShyUsers;
import com.cnlive.shenhe.entity.ShyUsersfree;
import com.cnlive.shenhe.mapper.ShyUsersfreeMapper;
import com.cnlive.shenhe.utils.AuditPass;
import com.cnlive.shenhe.utils.CommonUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;

import java.util.List;

/**
 * @Auther: 李伟
 * @Date: 2019/05/13 14:23
 * @Description:
 */
@Service
public class UsersfreeServiceImpl {
    private static Logger logger = LoggerFactory.getLogger(UsersfreeServiceImpl.class);
    @Autowired
    ShyUsersfreeMapper shyUsersfreeMapper;
    @Autowired
    AuditPass Pass;

    public ShyUsersfree get(Integer id) {
        return shyUsersfreeMapper.selectByPrimaryKey(id);
    }

    public ShyUsersfree select(ShyUsersfree shyUsersfree) {
        return shyUsersfreeMapper.selectOne(shyUsersfree);
    }

    public Integer updateState(Integer id, Boolean isEnable) {
        ShyUsersfree shyUsersfree = get(id);
        shyUsersfree.setIs_enable(isEnable);
        return shyUsersfreeMapper.updateByPrimaryKeySelective(shyUsersfree);
    }

    public PageInfo<ShyUsersfree> getpage(UsersFreeDTO usersFreeDTO) {
        logger.info("接受参数列表为,UsersFreeDTO:{}", JSON.toJSONString(usersFreeDTO));
        Example example = new Example(ShyUsers.class);
        Example.Criteria criteria = example.createCriteria();
        if (CommonUtils.isNotEmpty(usersFreeDTO.getOrderByClause())) {
            example.setOrderByClause(usersFreeDTO.getOrderByClause());
        } else {
            example.setOrderByClause("created_at desc");
        }
        if (CommonUtils.isNotEmpty(usersFreeDTO.getUserId())) {
            criteria.andEqualTo("user_id", usersFreeDTO.getUserId());
        }
        if (CommonUtils.isNotEmpty(usersFreeDTO.getMobile())) {
            criteria.andLike("mobile", "%" + usersFreeDTO.getMobile() + "%");
        }
        PageHelper.startPage(usersFreeDTO.getPage(), usersFreeDTO.getPageSize(), true);
        List<ShyUsersfree> ShyUsersList = shyUsersfreeMapper.selectByExample(example);
        PageInfo<ShyUsersfree> pageInfo = new PageInfo<ShyUsersfree>(ShyUsersList);
        return pageInfo;
    }

    /**
     * 通过spid、栏目、用户id来查看是否是免审
     *
     * @param sp_id
     * @param category
     * @param user_id
     * @return
     */
    public ShyUsersfree selectUser(Integer sp_id, String category, String user_id) {
        ShyUsersfree shyUserfree = new ShyUsersfree();
        shyUserfree.setSp_id(sp_id);
//		shyUserfree.setCategory(category);
        shyUserfree.setUser_id(user_id);
        shyUserfree.setIs_enable(true);
        shyUserfree.setIs_delete(false);
        ShyUsersfree shyUserfree1 = shyUsersfreeMapper.selectOne(shyUserfree);
        if (shyUserfree1 != null && shyUserfree1.getCategory().contains(category)) {
            return shyUserfree1;
        }
        return null;
    }

    public boolean update(String userId, String userMobile, String write, Integer spId, String updater) {
        JSONObject result = new JSONObject();
        try {
            result = Pass.queryUser(userId, userMobile);
        } catch (Exception e) {
            logger.error("用户白名单获取失败,userId:{},userMobile:{}", userId, userMobile);
            return false;
        }
        if (result == null) {
            logger.error("用户白名单返回无结果,userId:{},userMobile:{}", userId, userMobile);
            return false;
        } else {
            Integer code = result.getInteger("errorCode");
            if (code != 0) {
                logger.error("用户白名单返回code值为,errorCode:{},errorMessage:{},userId:{},userMobile:{}", code, result.getString("errorMessage"), userId, userMobile);
                return false;
            }
            JSONObject jsonData = result.getJSONObject("data");
            String mobile = jsonData.getString("mobile");
            String user_id = jsonData.getString("uid");
            String user_name = jsonData.getString("nickName");
            String email = jsonData.getString("email");

            ShyUsersfree shyUserfree = new ShyUsersfree();
            shyUserfree.setUser_id(user_id);
            ShyUsersfree shyUserfree1 = shyUsersfreeMapper.selectOne(shyUserfree);

            if (shyUserfree1 != null) {
                shyUserfree1.setMobile(mobile);
                shyUserfree1.setCategory(write);
                shyUserfree1.setUser_name(user_name);
                shyUserfree1.setEmail(email);
                shyUserfree1.setSp_id(spId);
                shyUserfree1.setUpdated_at(CommonUtils.getCurrentTime());
                shyUserfree1.setUpdater(updater);
                shyUserfree1.setIs_delete(false);
                shyUserfree1.setIs_enable(true);
                int re = shyUsersfreeMapper.updateByPrimaryKeySelective(shyUserfree1);
                if (re != 1) {
                    return false;
                }
            } else {
                shyUserfree.setMobile(mobile);
                shyUserfree.setCategory(write);
                shyUserfree.setUser_name(user_name);
                shyUserfree.setEmail(email);
                shyUserfree.setSp_id(spId);
                shyUserfree.setCreated_at(CommonUtils.getCurrentTime());
                shyUserfree.setUpdated_at(CommonUtils.getCurrentTime());
                shyUserfree.setUpdater(updater);
                shyUserfree.setIs_delete(false);
                shyUserfree.setIs_enable(true);

                int re = shyUsersfreeMapper.insertSelective(shyUserfree);
                if (re != 1) {
                    return false;
                }
            }
        }

        return true;
    }


}