TdCBusinessUserServiceImpl.java 5.94 KB
package com.zteits.business.biz.impl;
import org.apache.commons.lang3.StringUtils;
import com.clouds.common.cache.sys.SysCodeValueCacheUtil;
import com.clouds.common.constants.CodeValKindEnum;
import com.clouds.common.utils.MD5Utils;
import com.github.pagehelper.PageInfo;
import com.zteits.business.domain.TdCBusinessUser;

import com.zteits.clouds.api.apibase.constants.ErrorType;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessNameDTO;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessUserNameDTO;
import com.zteits.clouds.api.dto.business.param.TdCBusinessUserNameRequest;
import com.zteits.clouds.api.dto.business.param.TdCBusinessUserRequest;
import com.zteits.clouds.api.service.business.TdCBusinessUserService;
import com.zteits.business.dao.TdCBusinessUserDao;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessUserDTO;
import org.apache.commons.collections4.CollectionUtils;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.dto.clouds.param.BatchDeleteByPrimaryKeyRequest;
import com.zteits.sys.pagepaper.PageBeanUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class TdCBusinessUserServiceImpl implements TdCBusinessUserService {

    private static final Logger logger = LoggerFactory.getLogger(TdCBusinessUserServiceImpl.class);

    @Autowired
    private TdCBusinessUserDao tdCBusinessUserDao;

    //收费员默认密码
    private static final String DEFAULTPWD = "123456";

    @Override
    public BizResult<List<TdCBusinessUserDTO>> queryTdCBusinessUser(TdCBusinessUserRequest request) {
        List<TdCBusinessUserDTO> tdCBusinessUserDTOS = new ArrayList<>();
        List<TdCBusinessUser> tdCBusinessUsers = tdCBusinessUserDao.queryTdCBusinessUser(request);
        if(CollectionUtils.isEmpty(tdCBusinessUsers)){
            return new BizResult<>(tdCBusinessUserDTOS);
        }
        for (TdCBusinessUser source:tdCBusinessUsers){
            TdCBusinessUserDTO dto = new TdCBusinessUserDTO();
            BeanUtils.copyProperties(source,dto);
            tdCBusinessUserDTOS.add(dto);
        }
        return new BizResult<>(tdCBusinessUserDTOS);
    }

    @Override
    public BizResult<PageBean<TdCBusinessUserDTO>> queryTdCBusinessUserForPage(TdCBusinessUserRequest request) {
        logger.info("进入用户信息分页查询");
        PageBean<TdCBusinessUserDTO> pageBean = new PageBean<>();
        PageInfo<TdCBusinessUser> pageInfo = tdCBusinessUserDao.queryTdCBusinessUserForPage(request);
        if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) {
            PageBeanUtil.copyProperties(pageInfo, pageBean, TdCBusinessUserDTO.class);
        }
        return new BizResult<>(pageBean);
    }

    @Override
    public BizResult<Boolean> batchDeleteTdCBusinessUserByPrimaryKey(BatchDeleteByPrimaryKeyRequest request) {
        int delenum = tdCBusinessUserDao.batchDeleteTdCBusinessUserByPrimaryKey(request.getIds(),request.getOpId(),request.getsOpName());
        return new BizResult<>(delenum>0);
    }

    @Override
    public BizResult<Boolean> saveTdCBusinessUser(TdCBusinessUserRequest request) {
        /**查询判断用户账号是否存在**/
        List<TdCBusinessUser> list = tdCBusinessUserDao.queryTdCBusinessUser(request);
        if(CollectionUtils.isNotEmpty(list)){
            throw new BizException(ErrorType.RECORD_IS_EXIST, "用户账号已存在");
        }

        /**保存商户用户信息*/
        TdCBusinessUser tdCBusinessUser = new TdCBusinessUser();
        BeanUtils.copyProperties(request,tdCBusinessUser);
        if(StringUtils.isNotEmpty(request.getPassword())){
            tdCBusinessUser.setPassword(MD5Utils.enMD5(request.getPassword()));
        }
        if(StringUtils.isNotEmpty(request.getDataState())){
            tdCBusinessUser.setDataState(Integer.valueOf(request.getDataState()));
        }
        int saveNum = tdCBusinessUserDao.saveTdCBusinessUser(tdCBusinessUser);
        return new BizResult<>(saveNum>0);
    }

    @Override
    public BizResult<Boolean> updateByPrimaryKeySelective(TdCBusinessUserRequest request) {
        TdCBusinessUser tdCBusinessUser = new TdCBusinessUser();
        BeanUtils.copyProperties(request,tdCBusinessUser);
        tdCBusinessUser.setDataState(Integer.valueOf(request.getDataState()));
        int upNum = tdCBusinessUserDao.updateByPrimaryKeySelective(tdCBusinessUser);
        return new BizResult<>(upNum>0);
    }

    @Override
   public BizResult<Boolean> resetPwd(TdCBusinessUserRequest request){
        //默认密码
        String defaultPwd = SysCodeValueCacheUtil.queryCodeValue(CodeValKindEnum.PDA_DEFAULT_PWD);
        if (StringUtils.isBlank(defaultPwd)) {
            defaultPwd = DEFAULTPWD;
        }
        logger.info("生成默认密码:" + defaultPwd);
        String md5Pwd = MD5Utils.enMD5(defaultPwd);
        TdCBusinessUser tdCBusinessUser = new TdCBusinessUser();
        BeanUtils.copyProperties(request,tdCBusinessUser);
        tdCBusinessUser.setPassword(md5Pwd);
        tdCBusinessUserDao.updateByPrimaryKeySelective(tdCBusinessUser);
        return new BizResult<>(true);
    }

    /**
     * 获取商户名称列表
     * @param request
     * @return
     */
    @Override
    public BizResult<List<TdCBusinessNameDTO>> getBusinessNameList(TdCBusinessUserNameRequest request) {
        return tdCBusinessUserDao.getBusinessNameList(request);
    }

    /**
     * 获取商户用户名称列表
     * @param request
     * @return
     */
    @Override
    public BizResult<List<TdCBusinessUserNameDTO>> getBusinessUserNameList(TdCBusinessUserNameRequest request) {
        return tdCBusinessUserDao.getBusinessUserNameList(request);
    }
}