|  |  | 
 |  |  | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; | 
 |  |  | import com.doumee.service.system.SystemLoginService; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.collections.CollectionUtils; | 
 |  |  | import org.apache.commons.lang3.RandomStringUtils; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | 
 |  |  |  * @date 2023/11/30 15:33 | 
 |  |  |  */ | 
 |  |  | @Service | 
 |  |  | @Slf4j | 
 |  |  | public class MemberServiceImpl implements MemberService { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |      | 
 |  |  |     @Value("${debug_model}") | 
 |  |  |     private Boolean isDebug; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
 |  |  |     public Member create(Member member) { | 
 |  |  | 
 |  |  |             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,人员信息不存在!"); | 
 |  |  |         } | 
 |  |  |        if(model.getCompanyId()!=null) { | 
 |  |  |            member.setEditor(member.getLoginUserInfo().getId()); | 
 |  |  |            member.setEditDate(new Date()); | 
 |  |  |            if(Constants.equalsInteger(member.getHeadStatus(),Constants.ONE)){ | 
 |  |  |                //如果是取消主管 | 
 |  |  |                companyMapper.update(null,new UpdateWrapper<Company>().lambda() | 
 |  |  | 
 |  |  |             loginUserInfo = member.getLoginUserInfo(); | 
 |  |  |         } | 
 |  |  |         Member update = new Member(); | 
 |  |  |         update.setId(model.getId()); | 
 |  |  |         update.setEditDate(new Date()); | 
 |  |  |         update.setEditor(loginUserInfo.getId()); | 
 |  |  |         update.setStatus(member.getStatus()); | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 微信授权接口 | 
 |  |  |      * @param code | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public WxAuthorizeVO ywWxAuthorize(String code){ | 
 |  |  |         if(StringUtils.isBlank(code)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode(); | 
 |  |  |         String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode(); | 
 |  |  |         String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code) | 
 |  |  |                 .replace("APPID", appId).replace("SECRET", appSecret); | 
 |  |  |         log.error("=========================getTokenUrl=====================" + getTokenUrl); | 
 |  |  |         JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true)); | 
 |  |  |         log.error("=========================tokenJson=====================" + tokenJson); | 
 |  |  |         String openId = ""; | 
 |  |  |         WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO(); | 
 |  |  |         if(Objects.nonNull(tokenJson)&&!Objects.isNull(tokenJson.get("access_token"))){ | 
 |  |  |             openId = tokenJson.getString("openid"); | 
 |  |  |         }else{ | 
 |  |  |             if(StringUtils.isBlank(openId)){ | 
 |  |  |                 return wxAuthorizeVO; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         wxAuthorizeVO.setOpenid(openId); | 
 |  |  |         //根据openId 查询用户信息 | 
 |  |  |         SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda() | 
 |  |  |                 .eq(SystemUser::getOpenid,openId) | 
 |  |  |                 .eq(SystemUser::getDeleted,Boolean.FALSE) | 
 |  |  |                 .last(" limit 1 ")); | 
 |  |  |         if(!Objects.isNull(user)){ | 
 |  |  |             String token = systemLoginService.loginByUserId(user.getId()); | 
 |  |  |             wxAuthorizeVO.setToken(token); | 
 |  |  |         } | 
 |  |  |         return wxAuthorizeVO; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){ | 
 |  |  |         List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() | 
 |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /********************************************************阜宁运维*********************************************************************************************/ | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
 |  |  |     public Member ywCreate(Member member) { | 
 |  |  |         if(Objects.isNull(member) | 
 |  |  |         || Objects.isNull(member.getCustomerId()) | 
 |  |  |         || StringUtils.isBlank(member.getName()) | 
 |  |  |         || StringUtils.isBlank(member.getPhone()) | 
 |  |  |         || Objects.isNull(member.getHighCheckor()) | 
 |  |  |         || Objects.isNull(member.getIdcardType()) | 
 |  |  |         ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         LoginUserInfo loginUserInfo = member.getLoginUserInfo(); | 
 |  |  |         member.setCreator(loginUserInfo.getId()); | 
 |  |  |         member.setCreateDate(new Date()); | 
 |  |  |         member.setType(Constants.memberType.customer); | 
 |  |  |         member.setStatus(Constants.ZERO); | 
 |  |  |         member.setIsdeleted(Constants.ZERO); | 
 |  |  |         member.setStatus(Constants.ZERO); | 
 |  |  |         this.checkYwMember(member); | 
 |  |  |         memberMapper.insert(member); | 
 |  |  |         return member; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Member ywUpdate(Member member) { | 
 |  |  |         if(Objects.isNull(member) | 
 |  |  |                 || Objects.isNull(member.getCustomerId()) | 
 |  |  |                 || Objects.isNull(member.getId()) | 
 |  |  |                 || StringUtils.isBlank(member.getName()) | 
 |  |  |                 || StringUtils.isBlank(member.getPhone()) | 
 |  |  |                 || Objects.isNull(member.getHighCheckor()) | 
 |  |  |                 || Objects.isNull(member.getIdcardType()) | 
 |  |  |         ){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST); | 
 |  |  |         } | 
 |  |  |         LoginUserInfo loginUserInfo = member.getLoginUserInfo(); | 
 |  |  |         member.setEditor(loginUserInfo.getId()); | 
 |  |  |         member.setCustomerId(null); | 
 |  |  |         member.setEditDate(new Date()); | 
 |  |  |         member.setType(Constants.memberType.customer); | 
 |  |  |         member.setStatus(Constants.ZERO); | 
 |  |  |         member.setIsdeleted(Constants.ZERO); | 
 |  |  |         member.setStatus(Constants.ZERO); | 
 |  |  |         this.checkYwMember(member); | 
 |  |  |         memberMapper.updateById(member); | 
 |  |  |         return member; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<Member> ywList(Member member) { | 
 |  |  |         List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>() | 
 |  |  |                 .lambda() | 
 |  |  |                 .eq(Member::getIsdeleted,Constants.ZERO) | 
 |  |  |                         .eq(Member::getStatus,Constants.ZERO) | 
 |  |  |                 .eq(Objects.nonNull(member.getCustomerId()),Member::getCustomerId,member.getCustomerId()) | 
 |  |  |                 .eq(Member::getType,Constants.memberType.customer) | 
 |  |  |         ); | 
 |  |  |         return memberList; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public void checkYwMember(Member member){ | 
 |  |  |         if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"电话号码格式有误"); | 
 |  |  |         } | 
 |  |  |         if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO)  && !IdcardUtil.isValidCard(member.getIdcardNo())){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"身份证号格式有误"); | 
 |  |  |         } | 
 |  |  |         if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){ | 
 |  |  |             if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() | 
 |  |  |                             .ne(Objects.nonNull(member.getId()),Member::getId,member.getId()) | 
 |  |  |                     .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo())) | 
 |  |  |                     .eq(Member::getIsdeleted,Constants.ZERO)) >0){ | 
 |  |  |                 throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "身份证号【"+member.getIdcardNo()+"】已被使用,不能重复"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() | 
 |  |  |                 .ne(Objects.nonNull(member.getId()),Member::getId,member.getId()) | 
 |  |  |                 .eq(Member::getPhone,  member.getPhone()) | 
 |  |  |                 .eq(Member::getIsdeleted,Constants.ZERO) ) >0){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "手机号【"+member.getPhone()+"】已被使用,不能重复"); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PageData<Member> ywFindPage(PageWrap<Member> pageWrap) { | 
 |  |  |         IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
 |  |  |         MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<Member>(); | 
 |  |  |         Utils.MP.blankToNull(pageWrap.getModel()); | 
 |  |  |         Member model = pageWrap.getModel(); | 
 |  |  |         IPage iPage = memberMapper.selectJoinPage(page,Member.class,new MPJLambdaWrapper<Member>() | 
 |  |  |                         .selectAll(Member.class) | 
 |  |  |                 .selectAs(YwCustomer::getName,Member::getCustomerName) | 
 |  |  |                 .leftJoin(YwCustomer.class,YwCustomer::getId,Member::getCustomerId) | 
 |  |  |                 .eq(Member::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(Member::getType,Constants.memberType.customer) | 
 |  |  |                 .eq(Objects.nonNull(model)&&Objects.nonNull(model.getCustomerId()),Member::getCustomerId,model.getCustomerId()) | 
 |  |  |                 .and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(Member::getName,model.getName()).or().like( | 
 |  |  |                         Member::getPhone,model.getName() | 
 |  |  |                 )) | 
 |  |  |                 .orderByDesc(Member::getCreateDate) | 
 |  |  |         ); | 
 |  |  |         return PageData.from(iPage); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |