From 30a14783481d100a6503a56c902b47182e542c93 Mon Sep 17 00:00:00 2001 From: jiaosong <jiaosong6760@dingtalk.com> Date: 星期五, 08 十二月 2023 15:42:09 +0800 Subject: [PATCH] #组织树 和企业下的人员信息 人员卡信息 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 92 insertions(+), 4 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 8dca011..359e435 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -2,8 +2,15 @@ import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.PatternPool; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.PhoneUtil; +import cn.hutool.core.util.ReUtil; +import com.alibaba.fastjson.JSONObject; +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.config.Jwt.JwtPayLoad; +import com.doumee.config.Jwt.JwtTokenUtil; import com.doumee.core.annotation.excel.ExcelImporter; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -11,17 +18,18 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.HttpsUtil; import com.doumee.core.utils.Utils; +import com.doumee.core.wx.WXConstant; import com.doumee.dao.admin.request.LaborEmpowerDTO; import com.doumee.dao.admin.request.LaborMemberDTO; +import com.doumee.dao.admin.request.MemberQuery; import com.doumee.dao.admin.response.MemberInfoDTO; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.TrainTimeMapper; import com.doumee.dao.business.join.MemberJoinMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.Empower; -import com.doumee.dao.business.model.Member; -import com.doumee.dao.business.model.TrainTime; +import com.doumee.dao.business.model.*; +import com.doumee.dao.web.response.WxAuthorizeVO; import com.doumee.service.business.MemberService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -54,6 +62,10 @@ @Autowired private TrainTimeMapper trainTimeMapper; + + + @Autowired + private SystemDictDataBiz systemDictDataBiz; @Override public Integer create(Member member) { @@ -371,4 +383,80 @@ // } + + @Override + public PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap) { + + //鏄惁鏄暟瀛� + boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); + //鏄惁鍖呭惈涓枃 + boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); + //鏄惁鍖呭惈鑻辨枃 + boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords()); + + IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); + MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); + MemberQuery model = pageWrap.getModel(); + Utils.MP.blankToNull(model); + + queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId) + .leftJoin(DeviceRole.class,DeviceRole::getId,Member::getRoleId) + .leftJoin(MemberCard.class,MemberCard::getMemberId,Member::getId); + + queryWrapper.selectAll(Member.class) + .selectAs(Company::getName,MemberInfoDTO::getCompanyName) + .selectAs(DeviceRole::getName,MemberInfoDTO::getRoleName) + .select("count(t3.id) as memberCardCount "); + + queryWrapper.in(Objects.nonNull(model.getCompanyIds()),Member::getCompanyId,model.getCompanyIds()) + .like(number,Member::getPhone,model.getKeyWords()) + .like((b||hasWord),Member::getPhone,model.getKeyWords()) + .isNull(Constants.equalsInteger(model.getHasFace(),Constants.ZERO),Member::getFaceId) + .isNotNull(Constants.equalsInteger(model.getHasFace(),Constants.ONE),Member::getFaceId) + .eq(Objects.nonNull(model.getCanVisit()),Member::getCanVisit,model.getCanVisit()) + .eq(Objects.nonNull(model.getStatus()),Member::getStatus,model.getStatus()); + IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); + if (!CollectionUtils.isEmpty(memberIPage.getRecords())){ + memberIPage.getRecords().forEach(s->s.setSex(IdcardUtil.getGenderByIdCard(s.getIdcardDecode()))); + } + return PageData.from(memberIPage); + } + + /********************************************鍏紬鍙锋帴鍙�***********************************************************************/ + + + + /** + * 寰俊鎺堟潈鎺ュ彛 + * @param code + * @return + */ + @Override + public WxAuthorizeVO wxAuthorize(String code){ + 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); + JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true)); + String openId = null; + if(!Objects.isNull(tokenJson.get("access_token"))){ + openId = tokenJson.getString("openid"); + } + WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO(); + wxAuthorizeVO.setOpenid(openId); + return wxAuthorizeVO; + } + + + + + + + + + + + + + } -- Gitblit v1.9.3