package cn.huge.module.ctuser.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.module.constant.BaseConsts; import cn.huge.module.constant.ByBaseConsts; import cn.huge.module.constant.ByUserConsts; import cn.huge.module.ctuser.dao.mapper.CtuserMapper; import cn.huge.module.ctuser.domain.dto.GZCtDeptDTO; import cn.huge.module.ctuser.domain.dto.GZCtUserDTO; import cn.huge.module.ctuser.domain.po.CtDept; import cn.huge.module.ctuser.domain.po.Ctuser; import cn.huge.module.cust.constant.UserBaseConsts; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @title: 客户用户表业务逻辑处理 * @Description 客户用户表业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-17 17:31:45 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CtuserService extends ServiceImpl{ @Autowired private CtuserMapper mapper; /** * 更新对象 * @param entity 对象 */ public void updateCtuser(Ctuser entity){ try{ mapper.updateCtuser(entity); }catch (Exception e){ log.error("[CtuserService.updateCtuser]调用失败,异常信息:"+e, e); throw new ServiceException("CtuserService.updateCtuser", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCtuserTerms(Ctuser entity, Map terms){ try{ mapper.updateCtuserTerms(entity, terms); }catch (Exception e){ log.error("[CtuserService.updateCtuserTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CtuserService.updateCtuserTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCtuser(String id){ try{ mapper.deleteCtuser(id); }catch (Exception e){ log.error("[CtuserService.deleteCtuser]调用失败,异常信息:"+e, e); throw new ServiceException("CtuserService.deleteCtuser", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(content, page, total); } /** * 数据割接-用户信息 * @return */ public List byToGzCtUser(){ List gzCtUserDTOList = new ArrayList<>(); List ctuserList = this.list(); for (Ctuser ctuser: ctuserList){ GZCtUserDTO gzCtUserDTO = new GZCtUserDTO(); BeanUtils.copyProperties(ctuser, gzCtUserDTO); // 映射实名认证状态 if (ByUserConsts.REAL_STATUS_1.equals(ctuser.getRealStatus())) { gzCtUserDTO.setRealStatus(UserBaseConsts.REAL_STATUS_1); }else { gzCtUserDTO.setRealStatus(UserBaseConsts.REAL_STATUS_0); } // 用户状态 if (ByUserConsts.USER_STATUS_1.equals(ctuser.getStatus())) { gzCtUserDTO.setRealStatus(UserBaseConsts.USER_STATUS_1); }else if (ByUserConsts.USER_STATUS_2.equals(ctuser.getStatus())) { gzCtUserDTO.setRealStatus(UserBaseConsts.USER_STATUS_2); }else { gzCtUserDTO.setRealStatus(UserBaseConsts.USER_STATUS_3); } // 映射是否可以找他调 if (ByUserConsts.FIND_STATUS_2.equals(ctuser.getFindStatus())) { gzCtUserDTO.setFindStatus(UserBaseConsts.FIND_STATUS_1); }else { gzCtUserDTO.setFindStatus(UserBaseConsts.FIND_STATUS_0); } // 映射是否参与自动调度 if (ByUserConsts.DISP_STATUS_2.equals(ctuser.getDispStatus())) { gzCtUserDTO.setDispStatus(UserBaseConsts.DISP_STATUS_1); }else { gzCtUserDTO.setDispStatus(UserBaseConsts.DISP_STATUS_0); } // 映射删除状态 if (ByBaseConsts.DELETE_STATUS_1.equals(ctuser.getDeleteStatus())) { gzCtUserDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0); }else { gzCtUserDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1); } // 清除用户区域字段值 gzCtUserDTO.setProv(null); gzCtUserDTO.setProvName(null); gzCtUserDTO.setCity(null); gzCtUserDTO.setCityName(null); gzCtUserDTO.setArea(null); gzCtUserDTO.setAreaName(null); gzCtUserDTO.setRoad(null); gzCtUserDTO.setRoadName(null); gzCtUserDTO.setVillage(null); gzCtUserDTO.setVillageName(null); // 清除调解专长、调解范围 gzCtUserDTO.setGoodField(null); gzCtUserDTO.setGoodFieldName(null); gzCtUserDTO.setCanField(null); gzCtUserDTO.setCanFieldName(null); gzCtUserDTOList.add(gzCtUserDTO); } return gzCtUserDTOList; } }