From 955fbce6ef52bae47ad6444dd5334561148f32fd Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 19 十二月 2024 15:31:33 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 181 ++++++++++++++++++++++++++++++++------------
1 files changed, 131 insertions(+), 50 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index c6875d3..24ceeb7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -62,6 +62,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.*;
import java.util.stream.Collectors;
@@ -152,6 +153,10 @@
}else{
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
}
+ }catch (BusinessException e){
+ //濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
+ deleteHkUserBiz(new String[]{insert.getHkId()});
+ throw e;
}catch (Exception e){
//濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
e.printStackTrace();
@@ -210,6 +215,9 @@
insert.setHkId(UUID.randomUUID().toString().replace("-",""));
insert.setHkStatus(Constants.ONE);
insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
+ insert.setJobDate(member.getJobDate());
+ insert.setIsDangyuan(member.getIsDangyuan());
+ insert.setPositionId(member.getPositionId());
if(StringUtils.isNotBlank(member.getIdcardNo())){
insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
insert.setIdcardNo(DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()));//韬唤璇佸彿鍔犲瘑
@@ -239,7 +247,7 @@
* @return
*/
private boolean dealHkUserBiz(Member insert) {
- String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
UserAddRequest hkAddRequest = HkSyncOrgUserToHKServiceImpl.getUserAddModel(insert,path,Constants.ZERO);
if(hkAddRequest == null){
@@ -262,7 +270,7 @@
return false;
}
private boolean dealHkUserForUpdateBiz(Member update ) {
- String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
UserAddRequest hkAddRequest = HkSyncOrgUserToHKServiceImpl.getUserAddModel(update,path,Constants.ONE);
@@ -414,7 +422,6 @@
.ne(Member::getId,member.getId())) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNoNew()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
}
-
member.setSex(Constants.getSexByCardNo( member.getIdcardNoNew()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
member.setIdcardDecode( Constants.getTuominStr(member.getIdcardNoNew()));
member.setIdcardNo(encrptNo);
@@ -966,7 +973,7 @@
wrapper.lambda().ne(Member::getRemark,"浜鸿劯宸插悓姝ユ渶鏂�");
List<Member> list =memberMapper.selectList(wrapper);
if(list!=null){
- String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
for(Member m : list){
String faceId= HkSyncOrgUserToHKServiceImpl.dealMemberFace(m,path);
@@ -1124,6 +1131,7 @@
.selectAs(Company::getName,Member::getCompanyName) ;
queryWrapper.selectAs(Position::getName,Member::getPositionName);
queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
if(StringUtils.isNotBlank(member.getName())){
queryWrapper.like(Member::getName,member.getName());
}
@@ -1138,6 +1146,12 @@
}
if(null != member.getCompanyId()) {
queryWrapper.eq(Member::getCompanyId,member.getCompanyId());
+ }
+ if(null != member.getQuerySpecial() && Constants.equalsInteger(member.getQuerySpecial(),Constants.ONE)){
+ String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode();
+ if(StringUtils.isNotBlank(companySpecialId)){
+ queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) ");
+ }
}
queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
queryWrapper.eq(Member::getWorkStatus,Constants.ZERO);
@@ -1374,11 +1388,22 @@
queryWrapper.selectAs(Company::getCompanyNamePath,Member::getCompanyNamePath);
queryWrapper.selectAs(Company::getCompanyPath,Member::getCompanyPath);
queryWrapper.select(" ( select count(1) from member_card mc where mc.isdeleted = 0 and mc.member_id = t.id ) as memberCardCount ");
+ queryWrapper.select(" ( select max(tt.END_TIME) from train_time tt where tt.isdeleted = 0 and tt.member_id = t.id ) as trainEndTime ");
+
queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Member::getEditor);
queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.selectAs(Position::getName,Member::getPositionName);
queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId);
queryWrapper.eq(Member::getType,pageWrap.getModel().getType());
+ LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
+ if(userInfo!=null && userInfo.getCompanyIdList()!=null){
+ if( userInfo.getCompanyIdList().size() ==0){
+ //鍙兘鐪嬭嚜宸�
+ queryWrapper.eq(Member::getId,userInfo.getMemberId());
+ }else{
+ queryWrapper.in(Company::getId,userInfo.getCompanyIdList());
+ }
+ }
// queryWrapper.eq(Objects.nonNull(model.getCompanyId()),Member::getCompanyId,model.getCompanyId())
queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0,
Member::getCompanyId,pageWrap.getModel().getCompanyIds())
@@ -1440,6 +1465,19 @@
if(StringUtils.isNotBlank(memberInfoDTO.getImgurl())){
memberInfoDTO.setImgurlFull(prefixUrl + memberInfoDTO.getImgurl());
}
+ memberInfoDTO.setHasFace(memberInfoDTO.getFaceId()!=null?Constants.ONE:Constants.ZERO);
+ if(Constants.equalsInteger(Constants.ONE,memberInfoDTO.getAuthStatus())){
+ if(memberInfoDTO.getStartTime() ==null || memberInfoDTO.getEndTime() ==null ){
+ memberInfoDTO.setRoleTimeInfo("闀挎湡鏈夋晥");
+ }else{
+ memberInfoDTO.setRoleTimeInfo(DateUtil.getPlusTime2(memberInfoDTO.getStartTime())+"鑷�"+DateUtil.getPlusTime2(memberInfoDTO.getEndTime()));
+ }
+ }else{
+ memberInfoDTO.setRoleTimeInfo("-");
+ }
+ memberInfoDTO.setAuthStatus(Constants.formatIntegerNum(memberInfoDTO.getAuthStatus()));
+ memberInfoDTO.setWorkStatus(Constants.formatIntegerNum(memberInfoDTO.getWorkStatus()));
+ memberInfoDTO.setSex(Constants.formatIntegerNum(memberInfoDTO.getSex()));
}
}
return PageData.from(memberIPage);
@@ -1619,9 +1657,11 @@
}catch (Exception e){
}
- List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>()
- .lambda().eq(Member::getIsdeleted,Constants.ZERO)
- .eq(Member::getType,Constants.memberType.internal)
+ List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Company::getType,Constants.ZERO)
.eq(Member::getStatus,Constants.ZERO)
.isNotNull(Member::getHkId)
.apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" ));
@@ -1660,6 +1700,7 @@
/**
* 寰俊鎺堟潈鎺ュ彛
* @param code
+ * 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐
* @return
*/
@Override
@@ -1671,50 +1712,83 @@
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 = code;
-// if(!Objects.isNull(tokenJson.get("access_token"))){
-// openId = tokenJson.getString("openid");
-// }
-// String openId = "12345";
+ JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
+ String openId = "";
+ if(Objects.nonNull(tokenJson)&&!Objects.isNull(tokenJson.get("access_token"))){
+ openId = tokenJson.getString("openid");
+ }
WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
+ if(StringUtils.isBlank(openId)){
+ return wxAuthorizeVO;
+ }
wxAuthorizeVO.setOpenid(openId);
- //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
- Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
- .selectAll(Member.class)
- .selectAs(Company::getName,Member::getCompanyName)
- .leftJoin(Company.class,Company::getId,Member::getCompanyId)
- .eq(Member::getOpenid,openId)
- .eq(Member::getType,source)
- .eq(Member::getIsdeleted,Constants.ZERO)
- .orderByDesc(Member::getCreateDate)
- .last(" limit 1 ")
- );
- //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
- if(!Objects.isNull(member)){
- if(member.getIsdeleted() == Constants.ONE){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
- }
- if(member.getStatus() != Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
- }
- if(StringUtils.isNotBlank(member.getIdcardNo())){
- member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
- }
- String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
- systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
- member.setPrefixUrl(prefixUrl);
- wxAuthorizeVO.setMember(member);
- //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
- if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){
- SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId())
- .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 "));
- if(Objects.nonNull(systemUser)){
- String token = systemLoginService.loginByUserId(systemUser.getId());
- wxAuthorizeVO.setToken(token);
+ if(source==1){
+ //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
+ Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .selectAs(Company::getName,Member::getCompanyName)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .eq(Member::getOpenid,openId)
+ .eq(Member::getType,source)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .orderByDesc(Member::getCreateDate)
+ .last(" limit 1 ")
+ );
+ //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
+ if(!Objects.isNull(member)){
+ if(member.getIsdeleted() == Constants.ONE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(member.getStatus() != Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(StringUtils.isNotBlank(member.getIdcardNo())){
+ member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+ }
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ member.setPrefixUrl(prefixUrl);
+ wxAuthorizeVO.setMember(member);
+ //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+ if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){
+ SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId())
+ .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 "));
+ if(Objects.nonNull(systemUser)){
+ String token = systemLoginService.loginByUserId(systemUser.getId());
+ wxAuthorizeVO.setToken(token);
+ }
}
}
+ }else{
+ //濡傛灉鏄徃鏈烘垨鑰呭唴閮ㄤ汉鍛橈紝鍒欎粠system_user鏌ヨ
+ SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getOpenid,openId)
+ .eq(SystemUser::getType,source)
+ .eq(SystemUser::getDeleted,Boolean.FALSE)
+ .last(" limit 1 "));
+ //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
+ if(!Objects.isNull(user)){
+ Member member = memberMapper.selectById(user.getMemberId());
+ if(member.getIsdeleted() == Constants.ONE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(member.getStatus() != Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(StringUtils.isNotBlank(member.getIdcardNo())){
+ member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+ }
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ member.setPrefixUrl(prefixUrl);
+ wxAuthorizeVO.setMember(member);
+ //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+ String token = systemLoginService.loginByUserId(user.getId());
+ wxAuthorizeVO.setToken(token);
+ }
}
+
+
return wxAuthorizeVO;
}
@@ -1733,8 +1807,9 @@
.eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName())
.eq(Member::getIsdeleted,Constants.ZERO)
.eq(Member::getStatus,Constants.ZERO)
+ .eq(Member::getWorkStatus,Constants.ZERO)
.eq(Member::getCanVisit,Constants.ONE)
- .eq(Member::getType,Constants.memberType.internal)
+ .eq(Company::getType,Constants.ONE)
);
List<MemberVO> memberVOList = new ArrayList<>();
if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
@@ -1843,7 +1918,7 @@
ExcelImporter ie = null;
List<MemberImport> dataList =null;
try {
- ie = new ExcelImporter(file,1,0);
+ ie = new ExcelImporter(file,2,0);
dataList = ie.getDataList(MemberImport.class,null);
} catch (Exception e) {
e.printStackTrace();
@@ -1927,6 +2002,11 @@
}
if (!PhoneUtil.isPhone(model.getPhone())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛屾墜鏈哄彿銆�"+model.getPhone()+"銆戞牸寮忎笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
+ }
+ if(model.getPhone().indexOf(".")>=Constants.ZERO){
+ model.setPhone(
+ String.valueOf(new BigDecimal(model.getPhone()).intValue())
+ );
}
if(StringUtils.isNotBlank(model.getIdcardNo())){
if ( !isDebug && !IdcardUtil.isValidCard(model.getIdcardNo())){
@@ -2017,6 +2097,7 @@
}
if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
.eq(Member::getIsdeleted,Constants.ZERO)
+ .ne(Member::getType,Constants.memberType.visitor)
.eq(Member::getPhone,registerDriverDTO.getPhone())
)>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙峰凡娉ㄥ唽!");
@@ -2027,14 +2108,13 @@
)>Constants.ZERO){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙峰凡娉ㄥ唽!");
};
-
smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone());
String salt = RandomStringUtils.randomAlphabetic(6);
;
Member member = new Member();
member.setCreateDate(new Date());
member.setIsdeleted(Constants.ZERO);
- member.setType(Constants.THREE);
+ member.setType(Constants.memberType.driver);
member.setName(registerDriverDTO.getName());
member.setPhone(registerDriverDTO.getPhone());
member.setStatus(Constants.ZERO);
@@ -2052,6 +2132,7 @@
systemUser.setSalt(salt);
systemUser.setPassword(member.getPassward());
systemUser.setStatus(Constants.ZERO);
+ systemUser.setType(Constants.memberType.driver);
systemUser.setSource(Constants.TWO);
systemUserMapper.insert(systemUser);
--
Gitblit v1.9.3