From 078bfa743804c25754162f5ec47231c499e28828 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 22 十二月 2023 11:29:12 +0800 Subject: [PATCH] ERP接口 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 134 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 126 insertions(+), 8 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 022edea..28a14b7 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 @@ -26,11 +26,11 @@ 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.*; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.join.UserActionJoinMapper; import com.doumee.dao.business.model.*; +import com.doumee.dao.system.model.SystemDictData; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.reqeust.CheckVisitedDTO; import com.doumee.dao.web.response.MemberVO; @@ -45,15 +45,14 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.shiro.SecurityUtils; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; /** * 浜哄憳淇℃伅琛⊿ervice瀹炵幇 @@ -72,6 +71,17 @@ @Autowired private TrainTimeMapper trainTimeMapper; + @Autowired + private MemberRoleMapper memberRoleMapper; + + @Autowired + private DeviceRoleMapper deviceRoleMapper; + + @Autowired + private EmpowerMapper empowerMapper; + + @Autowired + private DeviceMapper deviceMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -256,6 +266,9 @@ update.setStatus(Constants.Status.ENABLE.getValue()); update.setId(s.getId()); memberMapper.updateById(update); + + //瑙e喕涓氬姟 澶勭悊鐢ㄦ埛鎺堟潈瀵煎叆璁板綍 + this.thawMember(result); UserAction userAction=new UserAction(); userAction.setIsdeleted(Constants.ZERO); @@ -618,8 +631,6 @@ @Override public PageData<MemberInfoDTO> findUnusualPage(PageWrap<MemberQuery> pageWrap) { - - IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); @@ -648,6 +659,113 @@ } + + /** + * 鐢ㄦ埛瑙e喕 娣诲姞鎺堟潈瀵煎叆璁板綍 + * @param member + */ + public void thawMember(Member member){ + //鐢ㄦ埛瑙掕壊缁� + List<MemberRole> memberRoleList = memberRoleMapper.selectList(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId())); + if(CollectionUtils.isNotEmpty(memberRoleList)){ + List<Integer> roleIds = memberRoleList.stream().map(m->m.getId()).collect(Collectors.toList()); + //瑙掕壊缁勮澶囨潈闄� + List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda() + .eq(DeviceRole::getType,Constants.TWO) + .in(DeviceRole::getId,roleIds)); + + if(CollectionUtils.isNotEmpty(deviceRoleList)){ + String ids = ""; + List<Integer> r = new ArrayList<>(); + for (int i = 0; i < deviceRoleList.size(); i++) { + DeviceRole deviceRole =deviceRoleList.get(i); + if(i>0){ + ids += ","; + } + Integer id =deviceRole.getId(); + ids += "["+id+"]"; + String doorids =deviceRole.getDoorIds(); + if(StringUtils.isNotBlank(doorids)){ + String[] ss = doorids.split(","); + try { + for(String s :ss){ + r.add(Integer.parseInt(s)); + } + }catch (Exception e){ + //鑴忔暟鎹笉澶勭悊 + } + } + } + + if(CollectionUtils.isNotEmpty(r)){ + List<Empower> list = new ArrayList<>(); + List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,r)); + if(deviceList == null || deviceList.size() == 0){ + return; + } + for (Device deviceRole:deviceList) { + Empower model = new Empower(); + model.setCreateDate(new Date()); + model.setMemberId(member.getId()); + model.setIsdeleted(Constants.ZERO); + model.setDeviceId(deviceRole.getId()); + model.setSendStatus(Constants.ZERO); + model.setSendType(Constants.ZERO); + list.add(model); + } + //瀵煎叆鏂板鐨勬巿鏉冧俊鎭� + empowerMapper.insertBatchSomeColumn(list); + } + } + } + } + + + + /** + * 瀹氭椂鍐荤粨鍐呴儴浜哄憳 + */ + @Override + public void memberFreeze(){ + SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_FREEZE); + if(Objects.isNull(systemDictData)|| + StringUtils.isBlank(systemDictData.getCode()) + ){ + return; + } + List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>() + .lambda().eq(Member::getIsdeleted,Constants.ZERO) + .eq(Member::getType,Constants.memberType.internal) + .isNotNull(Member::getHkId) + .notExists(" SELECT 1 FROM device_event b WHERE b.ext_event_person_no = a.HK_ID AND TO_DAYS( NOW())- TO_DAYS( b.CREATE_DATE )> "+systemDictData.getCode()+") ") + ); + if(CollectionUtils.isEmpty(memberList)){ + return; + } + List<Integer> memberIds = memberList.stream().map(m->m.getId()).collect(Collectors.toList()); + + //鍐荤粨鐘舵�� + memberMapper.update(null,new UpdateWrapper<Member>() + .lambda().set(Member::getStatus,Constants.TWO) + .in(Member::getId,memberIds) + ); + //澶勭悊涓嬪彂鏁版嵁 + empowerMapper.update(null,new UpdateWrapper<Empower>() + .lambda() + .set(Empower::getIsdeleted,Constants.ONE) + .set(Empower::getSendStatus,Constants.ZERO) + .set(Empower::getEditDate,new Date()) + .in(Empower::getMemberId,memberIds) + ); + } + + + + + + + + /********************************************鍏紬鍙锋帴鍙�***********************************************************************/ -- Gitblit v1.9.3