UsersfreeServiceImpl.java 5.64 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;
	}

	
}