From 84a1495c03621752f303e1384d6d20a1fde3d5fa Mon Sep 17 00:00:00 2001 From: guohb Date: Fri, 31 May 2024 17:02:09 +0800 Subject: [PATCH 01/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E5=95=86=20=E9=87=8D=E5=A4=8D=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/enums/ErrorCodeEnum.java | 2 ++ .../cool/store/service/impl/IntentAgreementServiceImpl.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 8b7a65ec4..aa1b710ef 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -194,6 +194,8 @@ public enum ErrorCodeEnum { UNISSUED_STATEMENT_2(109014, "该门店已发布账单", null), + DUPLICATE_SUBMISSION(109015, "重复提交!", null), + INSERT_OPENING_OPERATION_PLAN_AUDIT_FALSE(103001,"插入运营方案审核信息失败",null), INSERT_OPENING_OPERATION_PLAN_FALSE(103002,"插入运营方案失败",null), diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index aa5aa3496..2a7810847 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -269,6 +269,9 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten if (Objects.isNull(lineInfoDO)) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } + if (StringUtil.isNotBlank(lineInfoDO.getPartnerNum())){ + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } if (lineInfoDO.getPartnerNum() != null){ return new ResponseResult(200000,null,null); } From 5e8408d74f8701a4f95aa0ce3e993cc04f7564ab Mon Sep 17 00:00:00 2001 From: guohb Date: Fri, 31 May 2024 17:25:55 +0800 Subject: [PATCH 02/36] =?UTF-8?q?=E4=B8=BA=E6=96=B9=E6=B3=95=E5=8A=A0?= =?UTF-8?q?=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/IntentAgreementServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 2a7810847..48730bf28 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -244,7 +244,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } @Override - public ResponseResult save(FranchiseeSaveRequest request, LoginUserInfo user) throws ApiException { + public synchronized ResponseResult save(FranchiseeSaveRequest request, LoginUserInfo user) throws ApiException { log.info("save request:{}", JSONObject.toJSONString(request)); if (Objects.isNull(request)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); From 0959ae0dd491cdb08a8f74a2c38ee10ee732c7ee Mon Sep 17 00:00:00 2001 From: guohb Date: Fri, 31 May 2024 18:45:15 +0800 Subject: [PATCH 03/36] =?UTF-8?q?=E5=88=86=E5=B8=83=E5=BC=8F=E9=94=81?= =?UTF-8?q?=EF=BC=8C=E5=8D=81=E7=A7=92=E8=BF=87=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/CoolStoreStartFlowServiceImpl.java | 2 - .../impl/SignFranchiseServiceImpl.java | 62 ++++++++++++++----- .../service/impl/SysStoreAppServiceImpl.java | 59 ++++++++++++------ 3 files changed, 86 insertions(+), 37 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java index 0a7dd346a..0d80c927c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CoolStoreStartFlowServiceImpl.java @@ -53,7 +53,6 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService log.info("newStore API response:{}", JSONObject.toJSONString(initiatingResponse)); if (initiatingResponse.getCode() != 0L) { throw new ServiceException(ErrorCodeEnum.FRANCHISE_AGREEMENT_FALSE, initiatingResponse.getMsg(),initiatingResponse.getData()); -// return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); } else { //更新阶段信息 shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_31, null); @@ -79,7 +78,6 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, request, InitiatingResponse.class); log.info("franchiseAgreement API response:{}", JSONObject.toJSONString(initiatingResponse)); if (initiatingResponse.getCode() != 0L) { -// throw new ServiceException(500, initiatingResponse.getMsg(), initiatingResponse.getData()); throw new ServiceException(ErrorCodeEnum.FRANCHISE_AGREEMENT_FALSE, initiatingResponse.getMsg(),initiatingResponse.getData()); } else { return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index e599d8c91..8b54ccf00 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -22,12 +22,14 @@ import com.cool.store.service.SignFranchiseService; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.TimeUnit; @Service @Slf4j @@ -80,6 +82,11 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu @Resource CommonService commonService; + + @Resource + private StringRedisTemplate redisTemplate; + + @Override public Boolean auditResult(AuditResultRequest request) { log.info("SignFranchiseServiceImpl auditResult request:{}", JSONObject.toJSONString(request)); @@ -135,24 +142,45 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (Objects.isNull(request.getShopId())) { throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST); } - SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); - if (Objects.isNull(request.getId())) { - signFranchiseMapper.insertSelective(signFranchiseDO); - } else { - signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); + String lockKey = "submitSignFranchise:" + request.getShopId(); + //流水 + String lockValue = UUID.randomUUID().toString(); + boolean acquired = false; + try { + //10s过期 + acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + if (Boolean.TRUE.equals(acquired)) { + SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); + if (Objects.isNull(request.getId())) { + signFranchiseMapper.insertSelective(signFranchiseDO); + } else { + signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); + } + //店铺信息 + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); + FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request, shopInfoDO, user); + MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId()); + log.info("submitSignFranchise franchiseAgreementRequest :{}",JSONObject.toJSONString(franchiseAgreementRequest)); + ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType()); + //更新状态为加盟商 + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); + lineInfoDO.setJoinStatus(2); + lineInfoMapper.insertOrUpdate(lineInfoDO); + shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); + return responseResult; + }else { + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } + + }finally { + if (Boolean.TRUE.equals(acquired)) { + String currentValue = redisTemplate.opsForValue().get(lockKey); + if (lockValue.equals(currentValue)) { + redisTemplate.delete(lockKey); + } + } } - //店铺信息 - ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); - FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request, shopInfoDO, user); - MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId()); - log.info("submitSignFranchise franchiseAgreementRequest :{}",JSONObject.toJSONString(franchiseAgreementRequest)); - ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType()); - //更新状态为加盟商 - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); - lineInfoDO.setJoinStatus(2); - lineInfoMapper.insertOrUpdate(lineInfoDO); - shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); - return responseResult; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index 030ceb597..8b1ccdeea 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -23,17 +23,17 @@ import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.PreparationService; import com.cool.store.service.SysStoreAppService; import com.cool.store.service.UserAuthMappingService; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; @@ -86,6 +86,12 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe @Resource PointDetailInfoMapper pointDetailInfoMapper; + @Resource + private StringRedisTemplate redisTemplate; + + @Resource + RedisUtilPool redisUtilPool; + @Override @Transactional(rollbackFor = Exception.class) public ResponseResult submitSysBuildStore(SysStoreAppRequest request, LoginUserInfo user) { @@ -93,21 +99,38 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe if (Objects.isNull(request)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } - //1.操作数据库 - SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request); - if (request.getId() == null) { - systemBuildingShopMapper.insertSelective(systemBuildingShopDO); - } else { - systemBuildingShopDO.setId(request.getId()); - systemBuildingShopMapper.updateByPrimaryKeySelective(systemBuildingShopDO); + String lockKey = "submitSysBuildStore:" + request.getShopId(); + String lockValue = UUID.randomUUID().toString(); + boolean acquired = false; + try { + acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + if (Boolean.TRUE.equals(acquired)) { + //1.操作数据库 + SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request); + if (request.getId() == null) { + systemBuildingShopMapper.insertSelective(systemBuildingShopDO); + } else { + systemBuildingShopDO.setId(request.getId()); + systemBuildingShopMapper.updateByPrimaryKeySelective(systemBuildingShopDO); + } + //2.查找、组装数组 + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId());//线索信息 + PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(request.getLineId(), request.getShopId());//查铺位信息确定铺位所在大区、战区、门店所在省市区街道地址 + //3.请求鲜丰接口 + NewStoreRequest apiRequest = convertToNewStoreRequest(request, lineInfoDO, pointInfoDO, user); + log.info("submitSysBuildStore apiRequest:{}",JSONObject.toJSONString(apiRequest)); + return coolStoreStartFlowService.newStore(apiRequest, request.getShopId()); + }else { + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } + }finally { + if (Boolean.TRUE.equals(acquired)) { + String currentValue = redisTemplate.opsForValue().get(lockKey); + if (lockValue.equals(currentValue)) { + redisTemplate.delete(lockKey); + } + } } - //2.查找、组装数组 - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId());//线索信息 - PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(request.getLineId(), request.getShopId());//查铺位信息确定铺位所在大区、战区、门店所在省市区街道地址 - //3.请求鲜丰接口 - NewStoreRequest apiRequest = convertToNewStoreRequest(request, lineInfoDO, pointInfoDO, user); - log.info("submitSysBuildStore apiRequest:{}",JSONObject.toJSONString(apiRequest)); - return coolStoreStartFlowService.newStore(apiRequest, request.getShopId()); } @Override From 4ed67b93b43a07f1d5ff27612595c77769ac23b7 Mon Sep 17 00:00:00 2001 From: guohb <1808583880@qq.com> Date: Fri, 31 May 2024 19:25:49 +0800 Subject: [PATCH 04/36] initiating --- .../impl/IntentAgreementServiceImpl.java | 67 ++++++++++++------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 48730bf28..c2fdf166e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -24,15 +24,14 @@ import com.cool.store.vo.BusinessLicenseInfoVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; +import java.util.*; +import java.util.concurrent.TimeUnit; @Service @@ -76,6 +75,9 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten @Resource AliyunService aliyunService; + @Resource + private StringRedisTemplate redisTemplate; + @Override @Transactional(rollbackFor = Exception.class) @@ -202,26 +204,45 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } verifyDate(request); - Map requestMap = new HashMap<>(); - fillSignatureInfo(requestMap); - String url = xfsgUrl + Constants.INTENTION_CONTRACT_URL + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); - InitiatingDO initiatingDO = request.toInitiatingDO(); - initiatingDO.setApply_user(user.getJobNumber()); - initiatingDO.setApply_user_name(user.getName()); - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); - initiatingDO.setJmsxx(lineInfoDO.getPartnerNum()); - initiatingDO.setKdzBusinessId(AuditEnum.CONTRACT_INTENTION.getCode() + "_" + lineInfoDO.getId() + "_" + lineInfoDO.getWorkflowSubStageStatus()); - InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, initiatingDO, InitiatingResponse.class); - if (initiatingResponse.getCode() != 0L) { - return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); - } else { - String redisKey = "OA:" + request.getMobile() + request.getIdCardNo(); - log.info("initiating redisKey:{},request:{}", redisKey, JSONObject.toJSONString(request)); - redisUtilPool.setString(redisKey, JSONObject.toJSONString(request)); - lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()); - lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO); - return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); + String lockKey = "submitSignFranchise:" + request.getLineId(); + //流水 + String lockValue = UUID.randomUUID().toString(); + boolean acquired = false; + try { + acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + if (Boolean.TRUE.equals(acquired)) { + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + String url = xfsgUrl + Constants.INTENTION_CONTRACT_URL + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); + InitiatingDO initiatingDO = request.toInitiatingDO(); + initiatingDO.setApply_user(user.getJobNumber()); + initiatingDO.setApply_user_name(user.getName()); + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); + initiatingDO.setJmsxx(lineInfoDO.getPartnerNum()); + initiatingDO.setKdzBusinessId(AuditEnum.CONTRACT_INTENTION.getCode() + "_" + lineInfoDO.getId() + "_" + lineInfoDO.getWorkflowSubStageStatus()); + InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, initiatingDO, InitiatingResponse.class); + if (initiatingResponse.getCode() != 0L) { + return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); + } else { + String redisKey = "OA:" + request.getMobile() + request.getIdCardNo(); + log.info("initiating redisKey:{},request:{}", redisKey, JSONObject.toJSONString(request)); + redisUtilPool.setString(redisKey, JSONObject.toJSONString(request)); + lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_75.getCode()); + lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO); + return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); + } + }else { + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } + }finally { + if (Boolean.TRUE.equals(acquired)) { + String currentValue = redisTemplate.opsForValue().get(lockKey); + if (lockValue.equals(currentValue)) { + redisTemplate.delete(lockKey); + } + } } + } private void verifyDate(InitiatingRequest request) { From 68c209d0caf37f9013c52acfa572ca9cc27e2a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Jun 2024 09:59:07 +0800 Subject: [PATCH 05/36] @Resource --- .../store/service/impl/IntentAgreementServiceImpl.java | 8 ++++---- .../store/service/impl/SignFranchiseServiceImpl.java | 8 ++++---- .../cool/store/service/impl/SysStoreAppServiceImpl.java | 9 +++++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index c2fdf166e..500debbe1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -76,7 +76,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten AliyunService aliyunService; @Resource - private StringRedisTemplate redisTemplate; + private StringRedisTemplate stringRedisTemplate; @Override @@ -209,7 +209,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); @@ -236,9 +236,9 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } }finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = redisTemplate.opsForValue().get(lockKey); + String currentValue = stringRedisTemplate.opsForValue().get(lockKey); if (lockValue.equals(currentValue)) { - redisTemplate.delete(lockKey); + stringRedisTemplate.delete(lockKey); } } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 8b54ccf00..4a9e6b36b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -84,7 +84,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu @Resource - private StringRedisTemplate redisTemplate; + private StringRedisTemplate stringRedisTemplate; @Override @@ -148,7 +148,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu boolean acquired = false; try { //10s过期 - acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); if (Boolean.TRUE.equals(acquired)) { SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); if (Objects.isNull(request.getId())) { @@ -174,9 +174,9 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu }finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = redisTemplate.opsForValue().get(lockKey); + String currentValue = stringRedisTemplate.opsForValue().get(lockKey); if (lockValue.equals(currentValue)) { - redisTemplate.delete(lockKey); + stringRedisTemplate.delete(lockKey); } } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index 8b1ccdeea..5c5f70684 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -27,6 +27,7 @@ import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -87,7 +88,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe PointDetailInfoMapper pointDetailInfoMapper; @Resource - private StringRedisTemplate redisTemplate; + private StringRedisTemplate stringRedisTemplate; @Resource RedisUtilPool redisUtilPool; @@ -103,7 +104,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); if (Boolean.TRUE.equals(acquired)) { //1.操作数据库 SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request); @@ -125,9 +126,9 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe } }finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = redisTemplate.opsForValue().get(lockKey); + String currentValue = stringRedisTemplate.opsForValue().get(lockKey); if (lockValue.equals(currentValue)) { - redisTemplate.delete(lockKey); + stringRedisTemplate.delete(lockKey); } } } From 6e94ee497575da87e17c5de0ea9f8b946396c944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Jun 2024 16:31:19 +0800 Subject: [PATCH 06/36] LARGE_REGION --- .../cool/store/service/impl/RegionAreaConfigServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionAreaConfigServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionAreaConfigServiceImpl.java index b35dcf9d7..8dd72bbcb 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionAreaConfigServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionAreaConfigServiceImpl.java @@ -41,7 +41,7 @@ public class RegionAreaConfigServiceImpl implements RegionAreaConfigService { if(regionDO == null){ throw new ServiceException(ErrorCodeEnum.REGION_NOT_EXIST); } - if(!ThirdRegionTypeEnum.WAR_REGION.getCode().equals(regionDO.getThirdRegionType())){ + if(!ThirdRegionTypeEnum.LARGE_REGION.getCode().equals(regionDO.getThirdRegionType())){ throw new ServiceException(ErrorCodeEnum.ONLY_WAR_REGION_CONFIG); } List areaIdList = regionAreaConfigAddRequest.getAreaIdList(); From 9f2525cbdf93d2d7d9733c513894652a5b753f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Jun 2024 17:20:00 +0800 Subject: [PATCH 07/36] =?UTF-8?q?=E9=98=B2=E6=AD=A2=E4=B8=80=E7=9B=B4?= =?UTF-8?q?=E5=9C=A8=E9=A1=B5=E9=9D=A2=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/ApplyLicenseServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index 59fc74506..cead9b560 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -89,6 +89,11 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { return false; } LicenseTransactDO licenseTransactDO = request.toLicenseTransactDO(); + //防止一直在页面提交 + if (licenseTransactDO.getId() == null){ + LicenseTransactDO license = applyLicenseMapper.selectByShopId(request.getShopId()); + licenseTransactDO.setId(license.getId()); + } if (request.getId() == null) { applyLicenseMapper.insertSelective(licenseTransactDO); } else { From 7a221f753025506bb9149ae16c3d7437d786cf13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Mon, 3 Jun 2024 21:28:39 +0800 Subject: [PATCH 08/36] =?UTF-8?q?=E9=98=B2=E6=AD=A2=E4=B8=80=E7=9B=B4?= =?UTF-8?q?=E5=9C=A8=E9=A1=B5=E9=9D=A2=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/ApplyLicenseServiceImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index cead9b560..6660532b1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -9,6 +9,7 @@ import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; import com.cool.store.request.LicenseListRequest; import com.cool.store.request.SubmitLicenseRequest; @@ -27,11 +28,13 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @Service @@ -80,6 +83,9 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { @Resource LineInfoMapper lineInfoMapper; + @Resource + StringRedisTemplate stringRedisTemplate; + @Override @Transactional(rollbackFor = Exception.class) @@ -88,6 +94,13 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { if (Objects.isNull(request)) { return false; } + String lockKey = "submitLicense:" + request.getShopId(); + String lockValue = UUID.randomUUID().toString(); + boolean acquired = Boolean.FALSE; + acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 1, TimeUnit.SECONDS); + if (!acquired) { + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } LicenseTransactDO licenseTransactDO = request.toLicenseTransactDO(); //防止一直在页面提交 if (licenseTransactDO.getId() == null){ From c9ed6dc77906c98030c4622d9c296e81acaa169b Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Tue, 4 Jun 2024 09:34:42 +0800 Subject: [PATCH 09/36] =?UTF-8?q?=E7=BA=BF=E7=B4=A2=E5=8A=A0=E5=A4=A7?= =?UTF-8?q?=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/enums/ErrorCodeEnum.java | 2 +- .../src/main/resources/mapper/LineInfoMapper.xml | 10 ++++++++++ .../main/java/com/cool/store/entity/LineInfoDO.java | 3 +++ .../java/com/cool/store/request/AddLineRequest.java | 2 ++ .../store/service/impl/JoinIntentionServiceImpl.java | 2 +- .../com/cool/store/service/impl/LineServiceImpl.java | 3 ++- 6 files changed, 19 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index aa1b710ef..65aa2734e 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -159,7 +159,7 @@ public enum ErrorCodeEnum { OPEN_AREA_IS_NOT_EXISTS(107006, "意向区域城市不存在", null), REGION_NOT_EXIST(108001, "区域不存在",null), - ONLY_WAR_REGION_CONFIG(108002, "意向省市只能配置到战区",null), + ONLY_WAR_REGION_CONFIG(108002, "意向省市只能配置到大区",null), NOT_APPROVE_NODE(109001, "不是审批节点",null), diff --git a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml index 84834535c..bf65ab919 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LineInfoMapper.xml @@ -30,6 +30,7 @@ + INSERT INTO xfsg_line_info @@ -43,6 +44,9 @@ region_id, + + big_region_id, + mobile, @@ -129,6 +133,9 @@ #{param.regionId}, + + #{param.bigRegionId}, + #{param.mobile}, @@ -213,6 +220,9 @@ region_id = #{param.regionId}, + + big_region_id = #{param.bigRegionId}, + mobile = #{param.mobile}, diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java index e27d5a4a3..4be2b2613 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/LineInfoDO.java @@ -21,6 +21,9 @@ public class LineInfoDO { @Column(name = "region_id") private Long regionId; + @Column(name = "big_region_id") + private Long bigRegionId; + /** * 手机号 */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java index 0fa951060..a35581d59 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java @@ -18,4 +18,6 @@ public class AddLineRequest { private String investmentManagerUserId; + private Long warRegionId; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 23301a940..ccd2ac794 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -80,7 +80,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt lineInfoParam.setLineStatus(1); if (lineInfoParam.getWantShopAreaId() != null) { Long regionId = regionAreaConfigDao.getByWantShopAreaId(lineInfoParam.getWantShopAreaId()); - lineInfoParam.setRegionId(regionId); + lineInfoParam.setBigRegionId(regionId); } lineInfoDAO.insertOrUpdate(lineInfoParam); MemberQuestionDO memberQuestionDO = request.toMemberQuestionDO(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index e814a64d1..cb899f181 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -417,7 +417,8 @@ public class LineServiceImpl implements LineService { userId = user.getUserId(); } Long regionId = regionAreaConfigDao.getByWantShopAreaId(addLineRequest.getWantShopAreaId()); - lineInfoDO.setRegionId(regionId); + lineInfoDO.setBigRegionId(regionId); + lineInfoDO.setRegionId(addLineRequest.getWarRegionId()); lineInfoDO.setInvestmentManager(userId); lineInfoDO.setCreateUserId(userId); lineInfoDO.setUpdateUserId(userId); From 2ccc641baeef2c54b50553cd2af60124e266749f Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Tue, 4 Jun 2024 09:40:27 +0800 Subject: [PATCH 10/36] =?UTF-8?q?set=E5=A4=A7=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/request/AddLineRequest.java | 3 --- .../main/java/com/cool/store/service/impl/LineServiceImpl.java | 1 - 2 files changed, 4 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java index a35581d59..7614775ab 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AddLineRequest.java @@ -17,7 +17,4 @@ public class AddLineRequest { private Long wantShopAreaId; private String investmentManagerUserId; - - private Long warRegionId; - } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index cb899f181..7ee9c5280 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -418,7 +418,6 @@ public class LineServiceImpl implements LineService { } Long regionId = regionAreaConfigDao.getByWantShopAreaId(addLineRequest.getWantShopAreaId()); lineInfoDO.setBigRegionId(regionId); - lineInfoDO.setRegionId(addLineRequest.getWarRegionId()); lineInfoDO.setInvestmentManager(userId); lineInfoDO.setCreateUserId(userId); lineInfoDO.setUpdateUserId(userId); From afa5cd4146e91f6f82356c9e874795bf585d8069 Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 09:41:38 +0800 Subject: [PATCH 11/36] =?UTF-8?q?1.=E5=AE=A1=E6=89=B9=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E9=80=89=E6=88=98=E5=8C=BA=202.=E6=9F=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=97=B6=E5=9B=9E=E6=98=BE=E5=A4=A7=E5=8C=BAregionId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/request/AuditPassRequest.java | 3 +++ .../src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java | 2 ++ .../com/cool/store/service/impl/JoinIntentionServiceImpl.java | 1 + .../main/java/com/cool/store/service/impl/LineFlowService.java | 2 ++ 4 files changed, 8 insertions(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditPassRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditPassRequest.java index 23e851ec2..dca04c48c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditPassRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditPassRequest.java @@ -26,4 +26,7 @@ public class AuditPassRequest { @ApiModelProperty("通过原因") private String passReason; + @ApiModelProperty("战区regionId,只在意向加盟申请阶段使用") + private Long fightRegion; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java index dfa54d416..f56bfeeec 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java @@ -68,6 +68,8 @@ public class PartnerBaseInfoVO { @ApiModelProperty("公开拒绝原因") private String rejectPublicReason; + @ApiModelProperty("大区regionId") + private Long bigRegionId; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index ccd2ac794..c7870b56f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -142,6 +142,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt } response.setRejectPublicReason(lineAuditInfoDO.getRejectPublicReason()); } + response.setBigRegionId(byLineId.getRegionId()); return response; } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java index e346d3c40..14f48497a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java @@ -47,6 +47,8 @@ public abstract class LineFlowService { if(!lineInfo.getWorkflowSubStage().equals(request.getWorkflowSubStage())){ throw new ServiceException(ErrorCodeEnum.WORK_FLOW_STAGE_PASS_ERROR); } + lineInfo.setRegionId(request.getFightRegion()); + Integer updateFlag = lineInfoDAO.updateLineInfo(lineInfo); String partnerId = lineInfo.getPartnerId(); LineAuditInfoDO auditInfo = new LineAuditInfoDO(); auditInfo.setLineId(request.getLineId()); From d59123c339950740c890e92a001adfd17e998cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 10:47:35 +0800 Subject: [PATCH 12/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/JoinIntentionServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index c7870b56f..25a8a7379 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -64,8 +64,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt } LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); log.info("lineInfoDO : {}", JSONObject.toJSONString(lineInfoDO)); - if (!Objects.isNull(lineInfoDO) && (WorkflowSubStageStatusEnum.INTENT_5.getCode().equals(lineInfoDO.getWorkflowSubStageStatus())|| - WorkflowSubStageEnum.INTEND.getCode() Date: Tue, 4 Jun 2024 11:02:45 +0800 Subject: [PATCH 13/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java | 1 + 1 file changed, 1 insertion(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java index f56bfeeec..a09f527b7 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerBaseInfoVO.java @@ -104,6 +104,7 @@ public class PartnerBaseInfoVO { partnerBaseInfoVO.setLineId(lineInfoDO.getId()); partnerBaseInfoVO.setSex(Integer.valueOf(lineInfoDO.getSex())); partnerBaseInfoVO.setAreaCode(String.valueOf(lineInfoDO.getWantShopAreaId())); + partnerBaseInfoVO.setBigRegionId(lineInfoDO.getBigRegionId()); return partnerBaseInfoVO; } From d73ad8cd55f03a2e9f2b239ed1865fdbb3592f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 11:13:06 +0800 Subject: [PATCH 14/36] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/JoinIntentionServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 25a8a7379..435ce4197 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -141,7 +141,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt } response.setRejectPublicReason(lineAuditInfoDO.getRejectPublicReason()); } - response.setBigRegionId(byLineId.getRegionId()); + response.setBigRegionId(byLineId.getBigRegionId()); return response; } } From f35a2cc5480dedc5a69f8356b7bb8ce24121428b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 13:19:44 +0800 Subject: [PATCH 15/36] =?UTF-8?q?=E5=A4=A7=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/RegionServiceImpl.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java index c612a620d..f4cbeab1c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java @@ -126,20 +126,21 @@ public class RegionServiceImpl implements RegionService { if(Objects.isNull(warRegionId)){ return 0L; } - RegionDO warRegion = regionMapper.getByRegionId(warRegionId); - if(warRegion == null){ - throw new ServiceException(ErrorCodeEnum.REGION_NOT_EXIST); - } - // 根据战区id获取大区id - String warRegionPath = warRegion.getRegionPath().substring(1, warRegion.getRegionPath().length() - 1); - String[] warRegionIdArr = warRegionPath.split(Constants.FORWARD_SLASH); - List regionDOList = regionMapper.getRegionByRegionIds(Arrays.asList(warRegionIdArr)); - for (RegionDO regionDO : regionDOList){ - if(ThirdRegionTypeEnum.LARGE_REGION.getCode().equals(regionDO.getThirdRegionType())){ - return regionDO.getId(); - } - } - return 0L; + return warRegionId; +// RegionDO warRegion = regionMapper.getByRegionId(warRegionId); +// if(warRegion == null){ +// throw new ServiceException(ErrorCodeEnum.REGION_NOT_EXIST); +// } +// // 根据战区id获取大区id +// String warRegionPath = warRegion.getRegionPath().substring(1, warRegion.getRegionPath().length() - 1); +// String[] warRegionIdArr = warRegionPath.split(Constants.FORWARD_SLASH); +// List regionDOList = regionMapper.getRegionByRegionIds(Arrays.asList(warRegionIdArr)); +// for (RegionDO regionDO : regionDOList){ +// if(ThirdRegionTypeEnum.LARGE_REGION.getCode().equals(regionDO.getThirdRegionType())){ +// return regionDO.getId(); +// } +// } +// return 0L; } @Override From 3e16248c3b049a9a418761d9fd68f2b7ceb0716d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 13:43:24 +0800 Subject: [PATCH 16/36] =?UTF-8?q?=E5=A4=A7=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/vo/LineInfoVO.java | 2 ++ .../main/java/com/cool/store/service/impl/LineServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java index 1cf9ad017..ffe30879e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/LineInfoVO.java @@ -221,5 +221,7 @@ public class LineInfoVO { @ApiModelProperty("加盟商编码") private String partnerNum; + private Long bigRegionId; + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index 7ee9c5280..f05dd1194 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -100,6 +100,7 @@ public class LineServiceImpl implements LineService { result.setInvestmentManagerName(user.getName()); result.setInvestmentManagerMobile(user.getMobile()); } + result.setBigRegionId(lineInfo.getBigRegionId()); if(lineInfo.getRegionId() != null && lineInfo.getRegionId() != 0){ Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(lineInfo.getWantShopAreaId()); Map regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, lineInfo.getRegionId())); From 8dc093df2dd873fc3cf9de4764cd4d85a4ff3c96 Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 14:11:06 +0800 Subject: [PATCH 17/36] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E7=9B=9F?= =?UTF-8?q?=E5=95=86=E9=94=81=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IntentAgreementServiceImpl.java | 139 ++++++++++-------- 1 file changed, 79 insertions(+), 60 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index 500debbe1..d214647e1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -265,70 +265,89 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } @Override - public synchronized ResponseResult save(FranchiseeSaveRequest request, LoginUserInfo user) throws ApiException { + public ResponseResult save(FranchiseeSaveRequest request, LoginUserInfo user) throws ApiException { log.info("save request:{}", JSONObject.toJSONString(request)); if (Objects.isNull(request)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } - Map requestMap = new HashMap<>(); - fillSignatureInfo(requestMap); - String url = xfsgUrl + Constants.FRANCHISEE_STORE_NUM + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); - FranchiseeDO franchiseeDO = request.toFranchiseeDO(); - //查银行信息 - LinePayDO linePayDO = linePayMapper.getLinePayByLineId(request.getLineId()); - if (Objects.isNull(linePayDO)) { - throw new ServiceException(ErrorCodeEnum.LINE_PAY_FALSE); - } - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String dateString = sdf.format(linePayDO.getPayTime()); - franchiseeDO.setPayDateStr(dateString); - franchiseeDO.setRetAccount(ReceivingBankEnum.XFSG_RECEIVING_BANK.getAccountNum()); - franchiseeDO.setBank(linePayDO.getBankCode()); - franchiseeDO.setBankSub(linePayDO.getBranchBankCode()); - //查城市信息 - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); - if (Objects.isNull(lineInfoDO)) { - throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); - } - if (StringUtil.isNotBlank(lineInfoDO.getPartnerNum())){ - throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); - } - if (lineInfoDO.getPartnerNum() != null){ - return new ResponseResult(200000,null,null); - } - if ("1".equals(lineInfoDO.getSex())){ - franchiseeDO.setSex(1); - }else if ("2".equals(lineInfoDO.getSex())){ - franchiseeDO.setSex(0); - } - HyOpenAreaInfoDO openAreaInfoDO = openAreaInfoMapper.selectById(lineInfoDO.getWantShopAreaId()); - franchiseeDO.setProvinceCode(String.valueOf(openAreaInfoDO.getParentId())); - franchiseeDO.setCityCode(String.valueOf(openAreaInfoDO.getId())); - franchiseeDO.setOperator(user.getJobNumber()); - MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(lineInfoDO.getId()); - //如果是企业加盟,需要传有效期和法人 - if (Objects.nonNull(memberQuestionDO) && Constants.TWO_INTEGER.equals(memberQuestionDO.getJoinType())){ - SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null,lineInfoDO.getId()); - BusinessLicenseInfoVO businessLicenseInfo = aliyunService.getBusinessLicenseInfo(signingBaseInfoDO.getBusinessLicense()); - franchiseeDO.setBusinessTerm(businessLicenseInfo.getValidPeriod()); - franchiseeDO.setLegalPerson(businessLicenseInfo.getLegalPerson()); - } - InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, franchiseeDO, InitiatingResponse.class); - //更新线索(进入蓄水池并回填加盟商编码) - if (initiatingResponse.getCode() == 0) { - LineInfoDO lineInfoParam = new LineInfoDO(); - lineInfoParam.setId(request.getLineId()); - //蓄水池 - lineInfoParam.setJoinStatus(1); - lineInfoParam.setPartnerNum(initiatingResponse.getData()); - lineInfoMapper.updateByPrimaryKeySelective(lineInfoParam); - } - if (initiatingResponse.getCode() != 0) { - lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()); - lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO); - return new ResponseResult(500, initiatingResponse.getMessage(), initiatingResponse.getData()); - } else { - return new ResponseResult(200000, initiatingResponse.getMessage(), initiatingResponse.getData()); + + String lockKey = "saveFranchise:" + request.getLineId(); + //流水 + String lockValue = UUID.randomUUID().toString(); + boolean acquired = false; + try { + acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + if (Boolean.TRUE.equals(acquired)) { + Map requestMap = new HashMap<>(); + fillSignatureInfo(requestMap); + String url = xfsgUrl + Constants.FRANCHISEE_STORE_NUM + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); + FranchiseeDO franchiseeDO = request.toFranchiseeDO(); + //查银行信息 + LinePayDO linePayDO = linePayMapper.getLinePayByLineId(request.getLineId()); + if (Objects.isNull(linePayDO)) { + throw new ServiceException(ErrorCodeEnum.LINE_PAY_FALSE); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String dateString = sdf.format(linePayDO.getPayTime()); + franchiseeDO.setPayDateStr(dateString); + franchiseeDO.setRetAccount(ReceivingBankEnum.XFSG_RECEIVING_BANK.getAccountNum()); + franchiseeDO.setBank(linePayDO.getBankCode()); + franchiseeDO.setBankSub(linePayDO.getBranchBankCode()); + //查城市信息 + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); + if (Objects.isNull(lineInfoDO)) { + throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); + } + if (StringUtil.isNotBlank(lineInfoDO.getPartnerNum())){ + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } + if (lineInfoDO.getPartnerNum() != null){ + return new ResponseResult(200000,null,null); + } + if ("1".equals(lineInfoDO.getSex())){ + franchiseeDO.setSex(1); + }else if ("2".equals(lineInfoDO.getSex())){ + franchiseeDO.setSex(0); + } + HyOpenAreaInfoDO openAreaInfoDO = openAreaInfoMapper.selectById(lineInfoDO.getWantShopAreaId()); + franchiseeDO.setProvinceCode(String.valueOf(openAreaInfoDO.getParentId())); + franchiseeDO.setCityCode(String.valueOf(openAreaInfoDO.getId())); + franchiseeDO.setOperator(user.getJobNumber()); + MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(lineInfoDO.getId()); + //如果是企业加盟,需要传有效期和法人 + if (Objects.nonNull(memberQuestionDO) && Constants.TWO_INTEGER.equals(memberQuestionDO.getJoinType())){ + SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null,lineInfoDO.getId()); + BusinessLicenseInfoVO businessLicenseInfo = aliyunService.getBusinessLicenseInfo(signingBaseInfoDO.getBusinessLicense()); + franchiseeDO.setBusinessTerm(businessLicenseInfo.getValidPeriod()); + franchiseeDO.setLegalPerson(businessLicenseInfo.getLegalPerson()); + } + InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, franchiseeDO, InitiatingResponse.class); + //更新线索(进入蓄水池并回填加盟商编码) + if (initiatingResponse.getCode() == 0) { + LineInfoDO lineInfoParam = new LineInfoDO(); + lineInfoParam.setId(request.getLineId()); + //蓄水池 + lineInfoParam.setJoinStatus(1); + lineInfoParam.setPartnerNum(initiatingResponse.getData()); + lineInfoMapper.updateByPrimaryKeySelective(lineInfoParam); + } + if (initiatingResponse.getCode() != 0) { + lineInfoDO.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_63.getCode()); + lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO); + return new ResponseResult(500, initiatingResponse.getMessage(), initiatingResponse.getData()); + } else { + return new ResponseResult(200000, initiatingResponse.getMessage(), initiatingResponse.getData()); + } + }else { + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + } + }finally { + if (Boolean.TRUE.equals(acquired)) { + String currentValue = stringRedisTemplate.opsForValue().get(lockKey); + if (lockValue.equals(currentValue)) { + stringRedisTemplate.delete(lockKey); + } + } } } From e67ba6abdb5e7076ea0b8c05590157b2c20e80ac Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 15:44:55 +0800 Subject: [PATCH 18/36] redisUtilPool --- .../cool/store/constants/CommonConstants.java | 2 + .../store/vo/OpenAcceptanceInfoListVO.java | 8 +- .../service/impl/ApplyLicenseServiceImpl.java | 15 ++- .../impl/IntentAgreementServiceImpl.java | 47 ++++---- .../impl/SignFranchiseServiceImpl.java | 106 +++++++++--------- 5 files changed, 88 insertions(+), 90 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index d38ff3fe9..ddada2ade 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -26,6 +26,8 @@ public class CommonConstants { public static final int AN_HOUR_SECONDS = 3600; + public static final int TEN_SECONDS = 10; + /** * 跟进任务通知缓存时间 1小时 */ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAcceptanceInfoListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAcceptanceInfoListVO.java index 1bffda6a6..4c58db674 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAcceptanceInfoListVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenAcceptanceInfoListVO.java @@ -36,9 +36,15 @@ public class OpenAcceptanceInfoListVO { @ApiModelProperty("战区Id") private Long regionId; - @ApiModelProperty("所属区域") + @ApiModelProperty("所属战区区域") private String regionNodeName; + @ApiModelProperty("大区Id") + private Long bigRegionId; + + @ApiModelProperty("所属大区区域") + private String bigRegionNodeName; + @ApiModelProperty("计划开业时间") private Date planOpenTime; @ApiModelProperty("新店开业结束时间") diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index 6660532b1..282734fa8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -19,6 +19,7 @@ import com.cool.store.response.SubmitLicenseResponse; import com.cool.store.service.ApplyLicenseService; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.PreparationService; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; @@ -28,13 +29,11 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @Service @@ -84,7 +83,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { LineInfoMapper lineInfoMapper; @Resource - StringRedisTemplate stringRedisTemplate; + RedisUtilPool redisUtilPool; @Override @@ -97,13 +96,13 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { String lockKey = "submitLicense:" + request.getShopId(); String lockValue = UUID.randomUUID().toString(); boolean acquired = Boolean.FALSE; - acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 1, TimeUnit.SECONDS); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); if (!acquired) { - throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); + throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } LicenseTransactDO licenseTransactDO = request.toLicenseTransactDO(); //防止一直在页面提交 - if (licenseTransactDO.getId() == null){ + if (licenseTransactDO.getId() == null) { LicenseTransactDO license = applyLicenseMapper.selectByShopId(request.getShopId()); licenseTransactDO.setId(license.getId()); } @@ -138,7 +137,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { List userAuthByMappingIds = userAuthMappingMapper.getUserAuthByMappingIds(Collections.singletonList(String.valueOf(regionId))); if (CollectionUtils.isNotEmpty(userAuthByMappingIds)) { List sendUserIds = userAuthByMappingIds.stream().map(UserAuthMappingDO::getUserId).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(sendUserIds)){ + if (CollectionUtils.isNotEmpty(sendUserIds)) { sendUsers = enterpriseUserRoleMapper.getUserIdsByRoleIds(Collections.singletonList("130000000"), sendUserIds); } } @@ -209,7 +208,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { submitLicenseResponse.setLicenseLegalPerson(storeDocument.getStoreDirector()); submitLicenseResponse.setIssueTime(DateUtil.parseDate(storeDocument.getStoreBusinessDate())); submitLicenseResponse.setLicenseAddress(storeDocument.getStoreBusinessAdd()); - submitLicenseResponse.setValidity(storeBusinessValidPeriod ? null : DateUtil.parse(storeDocument.getStoreBusinessValidPeriod(),"yyyy-MM-dd")); + submitLicenseResponse.setValidity(storeBusinessValidPeriod ? null : DateUtil.parse(storeDocument.getStoreBusinessValidPeriod(), "yyyy-MM-dd")); submitLicenseResponse.setValidityType(storeBusinessValidPeriod ? 0 : 1); submitLicenseResponse.setOperator(storeDocument.getStoreDirector()); submitLicenseResponse.setFoodLicenseLegalPerson(storeDocument.getStoreFoodLicenseLegalRepresentative()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index d214647e1..fac34de58 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -24,14 +24,12 @@ import com.cool.store.vo.BusinessLicenseInfoVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.TimeUnit; @Service @@ -75,10 +73,6 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten @Resource AliyunService aliyunService; - @Resource - private StringRedisTemplate stringRedisTemplate; - - @Override @Transactional(rollbackFor = Exception.class) public boolean submit(IntentAgreementSubmitRequest request) { @@ -150,8 +144,8 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten requestMap.put("partnerUsername", lineInfo.getUsername()); requestMap.put("lineId", String.valueOf(lineInfo.getId())); requestMap.put("partnerMobile", lineInfo.getMobile()); - commonService.sendMessage(Collections.singletonList(lineInfo.getInvestmentManager()),MessageEnum.MESSAGE_32,requestMap); - commonService.sendSms(lineInfo.getMobile(),SMSMsgEnum.INTENTION_PAYMENT_PASS); + commonService.sendMessage(Collections.singletonList(lineInfo.getInvestmentManager()), MessageEnum.MESSAGE_32, requestMap); + commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.INTENTION_PAYMENT_PASS); } //更新auditId SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineInfo.getId()); @@ -209,7 +203,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); @@ -231,14 +225,14 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten lineInfoMapper.updateByPrimaryKeySelective(lineInfoDO); return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); } - }else { + } else { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } - }finally { + } finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = stringRedisTemplate.opsForValue().get(lockKey); + String currentValue = redisUtilPool.getString(lockKey); if (lockValue.equals(currentValue)) { - stringRedisTemplate.delete(lockKey); + redisUtilPool.delKey(lockKey); } } } @@ -272,11 +266,10 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } String lockKey = "saveFranchise:" + request.getLineId(); - //流水 String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); @@ -298,15 +291,15 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten if (Objects.isNull(lineInfoDO)) { throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } - if (StringUtil.isNotBlank(lineInfoDO.getPartnerNum())){ + if (StringUtil.isNotBlank(lineInfoDO.getPartnerNum())) { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } - if (lineInfoDO.getPartnerNum() != null){ - return new ResponseResult(200000,null,null); + if (lineInfoDO.getPartnerNum() != null) { + return new ResponseResult(200000, null, null); } - if ("1".equals(lineInfoDO.getSex())){ + if ("1".equals(lineInfoDO.getSex())) { franchiseeDO.setSex(1); - }else if ("2".equals(lineInfoDO.getSex())){ + } else if ("2".equals(lineInfoDO.getSex())) { franchiseeDO.setSex(0); } HyOpenAreaInfoDO openAreaInfoDO = openAreaInfoMapper.selectById(lineInfoDO.getWantShopAreaId()); @@ -315,8 +308,8 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten franchiseeDO.setOperator(user.getJobNumber()); MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(lineInfoDO.getId()); //如果是企业加盟,需要传有效期和法人 - if (Objects.nonNull(memberQuestionDO) && Constants.TWO_INTEGER.equals(memberQuestionDO.getJoinType())){ - SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null,lineInfoDO.getId()); + if (Objects.nonNull(memberQuestionDO) && Constants.TWO_INTEGER.equals(memberQuestionDO.getJoinType())) { + SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineInfoDO.getId()); BusinessLicenseInfoVO businessLicenseInfo = aliyunService.getBusinessLicenseInfo(signingBaseInfoDO.getBusinessLicense()); franchiseeDO.setBusinessTerm(businessLicenseInfo.getValidPeriod()); franchiseeDO.setLegalPerson(businessLicenseInfo.getLegalPerson()); @@ -338,14 +331,14 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten } else { return new ResponseResult(200000, initiatingResponse.getMessage(), initiatingResponse.getData()); } - }else { + } else { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } - }finally { + } finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = stringRedisTemplate.opsForValue().get(lockKey); + String currentValue = redisUtilPool.getString(lockKey); if (lockValue.equals(currentValue)) { - stringRedisTemplate.delete(lockKey); + redisUtilPool.delKey(lockKey); } } } @@ -364,7 +357,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST); } String auditResult = redisUtilPool.getString(redisKey); - if (WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode().equals(lineInfoDO.getWorkflowSubStageStatus())){ + if (WorkflowSubStageStatusEnum.SIGN_INTENT_AGREEMENT_70.getCode().equals(lineInfoDO.getWorkflowSubStageStatus())) { //鲜丰系统不稳定,会出现调用成功但内部状态未更改的情况,这时直接返回true即可 return true; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 4a9e6b36b..128c57921 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -1,8 +1,8 @@ package com.cool.store.service.impl; import cn.hutool.core.convert.Convert; -import cn.hutool.core.date.DateTime; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.*; @@ -19,17 +19,16 @@ import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.PreparationService; import com.cool.store.service.SignFranchiseService; +import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.TimeUnit; @Service @Slf4j @@ -82,9 +81,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu @Resource CommonService commonService; - @Resource - private StringRedisTemplate stringRedisTemplate; + RedisUtilPool redisUtilPool; @Override @@ -148,7 +146,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu boolean acquired = false; try { //10s过期 - acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); if (Objects.isNull(request.getId())) { @@ -160,7 +158,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); FranchiseAgreementRequest franchiseAgreementRequest = convertFranchiseAgreement(request, shopInfoDO, user); MemberQuestionDO memberQuestionDO = joinIntentionMapper.getByLineId(shopInfoDO.getLineId()); - log.info("submitSignFranchise franchiseAgreementRequest :{}",JSONObject.toJSONString(franchiseAgreementRequest)); + log.info("submitSignFranchise franchiseAgreementRequest :{}", JSONObject.toJSONString(franchiseAgreementRequest)); ResponseResult responseResult = coolStoreStartFlowService.franchiseAgreement(franchiseAgreementRequest, memberQuestionDO.getJoinType()); //更新状态为加盟商 LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); @@ -168,15 +166,15 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu lineInfoMapper.insertOrUpdate(lineInfoDO); shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); return responseResult; - }else { + } else { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } - }finally { + } finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = stringRedisTemplate.opsForValue().get(lockKey); + String currentValue = redisUtilPool.getString(lockKey); if (lockValue.equals(currentValue)) { - stringRedisTemplate.delete(lockKey); + redisUtilPool.delKey(lockKey); } } } @@ -192,47 +190,47 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu Long shopId = request.getShopId(); //线索信息 LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); - if (Objects.isNull(lineInfoDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("lineInfoDO").getErrorMessage()); + if (Objects.isNull(lineInfoDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("lineInfoDO").getErrorMessage()); } //缴费信息 FranchiseFeeDO franchiseFeeDO = franchiseFeeMapper.selectByShopId(shopId); - if (Objects.isNull(franchiseFeeDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("franchiseFeeDO").getErrorMessage()); + if (Objects.isNull(franchiseFeeDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("franchiseFeeDO").getErrorMessage()); } //线索id Long lineId = shopInfoDO.getLineId(); //签约信息 SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(null, lineId); - if (Objects.isNull(signingBaseInfoDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("signingBaseInfoDO").getErrorMessage()); + if (Objects.isNull(signingBaseInfoDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("signingBaseInfoDO").getErrorMessage()); } //缴款信息 LinePayDO linePayDO = linePayMapper.getByLineIdAndPayTypeAndShopId(lineId, 1, shopId); - if (Objects.isNull(linePayDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("linePayDO").getErrorMessage()); + if (Objects.isNull(linePayDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("linePayDO").getErrorMessage()); } //铺位信息 PointInfoDO pointInfoDO = pointInfoMapper.getDataByShopIdAndLineId(lineId, shopId); - if (Objects.isNull(pointInfoDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("pointInfoDO").getErrorMessage()); + if (Objects.isNull(pointInfoDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("pointInfoDO").getErrorMessage()); } //建店数据 SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).lineId(lineId).build()); - if (Objects.isNull(systemBuildingShopDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("systemBuildingShopDO").getErrorMessage()); + if (Objects.isNull(systemBuildingShopDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("systemBuildingShopDO").getErrorMessage()); } //证照办理 LicenseTransactDO licenseTransactDO = applyLicenseMapper.selectByShopId(shopId); - if (Objects.isNull(licenseTransactDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("licenseTransactDO").getErrorMessage()); + if (Objects.isNull(licenseTransactDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("licenseTransactDO").getErrorMessage()); } ThirdDepartmentDO thirdDepartmentDO = new ThirdDepartmentDO(); if (Objects.nonNull(systemBuildingShopDO)) { //三方部门表 thirdDepartmentDO = thirdDepartmentMapper.getByName(systemBuildingShopDO.getBigName()); - if (Objects.isNull(thirdDepartmentDO)){ - throw new ServiceException(109014,ApiErrorCodeEnum.getByCode("thirdDepartmentDO").getErrorMessage()); + if (Objects.isNull(thirdDepartmentDO)) { + throw new ServiceException(109014, ApiErrorCodeEnum.getByCode("thirdDepartmentDO").getErrorMessage()); } } //找不到的url统一用这个 @@ -254,12 +252,12 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu .hkbzj(Integer.valueOf(franchiseFeeDO.getLoanMargin())) .hkbzjdx(Integer.valueOf(franchiseFeeDO.getLoanMargin())) .hkbzjwb(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getLoanMargin()))) - .ht_day(timeUtils(request.getContractStartTime(),"day")) - .ht_day2(timeUtils(request.getContractStartEndTime(),"day")) - .ht_month1(timeUtils(request.getContractStartTime(),"month")) - .ht_month2(timeUtils(request.getContractStartEndTime(),"month")) - .ht_year1(timeUtils(request.getContractStartTime(),"year")) - .ht_year2(timeUtils(request.getContractStartEndTime(),"year")) + .ht_day(timeUtils(request.getContractStartTime(), "day")) + .ht_day2(timeUtils(request.getContractStartEndTime(), "day")) + .ht_month1(timeUtils(request.getContractStartTime(), "month")) + .ht_month2(timeUtils(request.getContractStartEndTime(), "month")) + .ht_year1(timeUtils(request.getContractStartTime(), "year")) + .ht_year2(timeUtils(request.getContractStartEndTime(), "year")) .idcard_1(Collections.singletonList(signingBaseInfoDO.getIdCardFront())) .idcard_2(Collections.singletonList(signingBaseInfoDO.getIdCardReverse())) .idcard_address(signingBaseInfoDO.getIdCardAddress()) @@ -276,26 +274,26 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu .jmf2(Integer.valueOf(franchiseFeeDO.getFirstYearFee())) .jmf3(Integer.valueOf(franchiseFeeDO.getSecondYearFee())) .jmf4(Integer.valueOf(franchiseFeeDO.getThirdYearFee())) - .jmfday1(timeUtils(franchiseFeeDO.getFirstYearStartTime(),"day")) - .jmfday2(timeUtils(franchiseFeeDO.getFirstYearEndTime(),"day")) - .jmfday3(timeUtils(franchiseFeeDO.getSecondYearStartTime(),"day")) - .jmfday4(timeUtils(franchiseFeeDO.getSecondYearEndTime(),"day")) - .jmfday5(timeUtils(franchiseFeeDO.getThirdYearStartTime(),"day")) - .jmfday6(timeUtils(franchiseFeeDO.getThirdYearEndTime(),"day")) + .jmfday1(timeUtils(franchiseFeeDO.getFirstYearStartTime(), "day")) + .jmfday2(timeUtils(franchiseFeeDO.getFirstYearEndTime(), "day")) + .jmfday3(timeUtils(franchiseFeeDO.getSecondYearStartTime(), "day")) + .jmfday4(timeUtils(franchiseFeeDO.getSecondYearEndTime(), "day")) + .jmfday5(timeUtils(franchiseFeeDO.getThirdYearStartTime(), "day")) + .jmfday6(timeUtils(franchiseFeeDO.getThirdYearEndTime(), "day")) .jmfdx(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee())) - .jmfmonth1(timeUtils(franchiseFeeDO.getFirstYearStartTime(),"month")) - .jmfmonth2(timeUtils(franchiseFeeDO.getFirstYearEndTime(),"month")) - .jmfmonth3(timeUtils(franchiseFeeDO.getSecondYearStartTime(),"month")) - .jmfmonth4(timeUtils(franchiseFeeDO.getSecondYearEndTime(),"month")) - .jmfmonth5(timeUtils(franchiseFeeDO.getThirdYearStartTime(),"month")) - .jmfmonth6(timeUtils(franchiseFeeDO.getThirdYearEndTime(),"month")) + .jmfmonth1(timeUtils(franchiseFeeDO.getFirstYearStartTime(), "month")) + .jmfmonth2(timeUtils(franchiseFeeDO.getFirstYearEndTime(), "month")) + .jmfmonth3(timeUtils(franchiseFeeDO.getSecondYearStartTime(), "month")) + .jmfmonth4(timeUtils(franchiseFeeDO.getSecondYearEndTime(), "month")) + .jmfmonth5(timeUtils(franchiseFeeDO.getThirdYearStartTime(), "month")) + .jmfmonth6(timeUtils(franchiseFeeDO.getThirdYearEndTime(), "month")) .jmfwb(Convert.digitToChinese(Integer.valueOf(franchiseFeeDO.getYearFranchiseFee()))) - .jmfyear1(timeUtils(franchiseFeeDO.getFirstYearStartTime(),"year")) - .jmfyear2(timeUtils(franchiseFeeDO.getFirstYearEndTime(),"year")) - .jmfyear3(timeUtils(franchiseFeeDO.getSecondYearStartTime(),"year")) - .jmfyear4(timeUtils(franchiseFeeDO.getSecondYearEndTime(),"year")) - .jmfyear5(timeUtils(franchiseFeeDO.getThirdYearStartTime(),"year")) - .jmfyear6(timeUtils(franchiseFeeDO.getThirdYearEndTime(),"year")) + .jmfyear1(timeUtils(franchiseFeeDO.getFirstYearStartTime(), "year")) + .jmfyear2(timeUtils(franchiseFeeDO.getFirstYearEndTime(), "year")) + .jmfyear3(timeUtils(franchiseFeeDO.getSecondYearStartTime(), "year")) + .jmfyear4(timeUtils(franchiseFeeDO.getSecondYearEndTime(), "year")) + .jmfyear5(timeUtils(franchiseFeeDO.getThirdYearStartTime(), "year")) + .jmfyear6(timeUtils(franchiseFeeDO.getThirdYearEndTime(), "year")) .jmsdkjt(temp) .jmsdm(lineInfoDO.getPartnerNum()) .jmshtzt(0) @@ -472,7 +470,7 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu @Override @Transactional(rollbackFor = Exception.class) public Boolean rePay(Long shopId) { - shopStageInfoDAO.updateShopStageInfo(shopId,ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_74); + shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_74); shopStageInfoDAO.updateShopStageToNotStarted(shopId, ShopSubStageEnum.SHOP_STAGE_8); return true; } @@ -480,13 +478,13 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu private int timeUtils(Date time, String type) { Calendar calendar = Calendar.getInstance(); calendar.setTime(time); - switch (type){ + switch (type) { case "year": return calendar.get(Calendar.YEAR); case "month": return calendar.get(Calendar.MONTH) + 1; case "day": - return calendar.get(Calendar.DAY_OF_MONTH); + return calendar.get(Calendar.DAY_OF_MONTH); default: return 0; } From d0983722947a0f4aedb71c4ebfcd6adee7c24c3d Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 16:00:54 +0800 Subject: [PATCH 19/36] redisUtilPool --- .../store/service/impl/SysStoreAppServiceImpl.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index 5c5f70684..fdc887bf5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -24,17 +24,13 @@ import com.cool.store.service.PreparationService; import com.cool.store.service.SysStoreAppService; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.RedisUtilPool; -import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; @@ -87,9 +83,6 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe @Resource PointDetailInfoMapper pointDetailInfoMapper; - @Resource - private StringRedisTemplate stringRedisTemplate; - @Resource RedisUtilPool redisUtilPool; @@ -104,7 +97,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = stringRedisTemplate.opsForValue().setIfAbsent(lockKey, lockValue, 10, TimeUnit.SECONDS); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); if (Boolean.TRUE.equals(acquired)) { //1.操作数据库 SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request); @@ -126,9 +119,9 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe } }finally { if (Boolean.TRUE.equals(acquired)) { - String currentValue = stringRedisTemplate.opsForValue().get(lockKey); + String currentValue = redisUtilPool.getString(lockKey); if (lockValue.equals(currentValue)) { - stringRedisTemplate.delete(lockKey); + redisUtilPool.delKey(lockKey); } } } From 148ce575e8350bc82a83bf326c32a1d105462a20 Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 16:07:59 +0800 Subject: [PATCH 20/36] @NotBlank --- .../store/request/SysStoreAppRequest.java | 45 ++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/SysStoreAppRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/SysStoreAppRequest.java index 72d59c8ad..fb4326d4e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/SysStoreAppRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/SysStoreAppRequest.java @@ -1,10 +1,10 @@ package com.cool.store.request; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; import java.util.Date; @Data @@ -37,88 +37,119 @@ public class SysStoreAppRequest { "6-直营门店;" + "7-同异业转化;" + "8-老加盟商迁址开新店") - private Integer franchiseeType; + @NotBlank(message = "加盟商类型不能为空") + private Integer franchiseeType; @ApiModelProperty("门店邀约人id") + @NotBlank(message = "门店邀约人id不能为空") private String inviteUserId; @ApiModelProperty("门店邀约人姓名") + @NotBlank(message = "门店邀约人姓名不能为空") private String storeInviteesName; } @Data - public static class StoreDetail{ + public static class StoreDetail { @ApiModelProperty("门店性质 20:加盟 10:直营") + @NotBlank(message = "门店性质不能为空") private Integer storeNature; - @ApiModelProperty("门店经营者") + @ApiModelProperty("门店性质") + @NotBlank(message = "门店性质不能为空") private Integer storeOperator; @ApiModelProperty("门店名称(默认带入一个门店名称,但是可修改)") + @NotBlank(message = "门店名称不能为空") private String storeName; @ApiModelProperty("大区描述") + @NotBlank(message = "大区描述不能为空") private String bigDesc; @ApiModelProperty("大区名称") + @NotBlank(message = "大区名称不能为空") private String bigName; @ApiModelProperty("大区code") + @NotBlank(message = "大区code不能为空") private String bigCode; @ApiModelProperty("战区描述") + @NotBlank(message = "战区描述不能为空") private String fightDesc; @ApiModelProperty("战区编码") + @NotBlank(message = "战区编码不能为空") private String fightCode; @ApiModelProperty("战区名称") + @NotBlank(message = "战区名称不能为空") private String fightName; @ApiModelProperty("小区code") + @NotBlank(message = "小区code不能为空") private String smallCode; @ApiModelProperty("小区描述") + @NotBlank(message = "小区描述不能为空") private String smallDesc; @ApiModelProperty("小区名称") + @NotBlank(message = "小区名称不能为空") private String smallName; @ApiModelProperty("主商圈类型 10-社区型;20-商业街边型;30-学校型;40-CBD/办公型;60-医院型;70-菜场型") + @NotBlank(message = "主商圈类型不能为空") private Integer mainBusinessType; @ApiModelProperty("次商圈类型 10-社区型;20-商业街边型;30-学校型;40-CBD/办公型;60-医院型;70-菜场型") + @NotBlank(message = "次商圈类型不能为空") private Integer subBusinessType; @ApiModelProperty("线下主要竞争对手 10-品牌水果店;20-夫妻水果店;30-菜场店;40-大商超;50-生鲜店;60-无") + @NotBlank(message = "线下主要竞争对手不能为空") private Integer offlineCompetitor; @ApiModelProperty("线下主要竞争品牌") + @NotBlank(message = "线下主要竞争品牌不能为空") private String offlineCompetingBrand; @ApiModelProperty("周边500米内二手房均价") + @NotBlank(message = "周边500米内二手房均价不能为空") private Integer averagePriceSh; @ApiModelProperty("100米周末日均客流量指数 0:1000以下 1:1000-1万 2:1万以上") + @NotBlank(message = "100米周末日均客流量指数不能为空") private Integer averageDailyRs; @ApiModelProperty("商圈门店类型 普通社区店 高档社区店") + @NotBlank(message = "商圈门店类型不能为空") private String businessStoreType; @ApiModelProperty("预估营业额") + @NotBlank(message = "预估营业额不能为空") private Integer estimatedTurnover; @ApiModelProperty("签约日期") + @NotBlank(message = "签约日期不能为空") private Date signDate; @ApiModelProperty("房东姓名") + @NotBlank(message = "房东姓名不能为空") private String landlordName; @ApiModelProperty("合同交房日期") + @NotBlank(message = "合同交房日期不能为空") private Date contractDeliveryDate; @ApiModelProperty("房东联系电话") + @NotBlank(message = "房东联系电话不能为空") private String landlordMobile; @ApiModelProperty("预约量房日期") + @NotBlank(message = "预约量房日期不能为空") private Date reservation; @ApiModelProperty("门店月租金") + @NotBlank(message = "门店月租金不能为空") private Integer storeRent; @ApiModelProperty("此店加盟费") + @NotBlank(message = "此店加盟费不能为空") private Integer storeFranchiseFee; @ApiModelProperty("此店保证金") + @NotBlank(message = "此店保证金不能为空") private Integer storeSecurityDeposit; @ApiModelProperty("享受加盟费和保证金优惠原因") private String reasons; @ApiModelProperty("品牌使用费率") + @NotBlank(message = "品牌使用费率不能为空") private String usageRate; - @ApiModelProperty("详细地址") private String detailAddress; } @Data - public static class SupervisorDetail{ + public static class SupervisorDetail { @ApiModelProperty("督导姓名") private String supervisorName; From d114275c7e4c2ddf38459db58bd7bd71cf8ed3bb Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 16:28:08 +0800 Subject: [PATCH 21/36] fix --- .../java/com/cool/store/constants/CommonConstants.java | 4 ++-- .../main/java/com/cool/store/utils/RedisUtilPool.java | 10 ++++++++++ .../store/service/impl/ApplyLicenseServiceImpl.java | 3 ++- .../store/service/impl/IntentAgreementServiceImpl.java | 5 +++-- .../com/cool/store/service/impl/PointServiceImpl.java | 2 +- .../store/service/impl/SysStoreAppServiceImpl.java | 3 ++- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index ddada2ade..43c06fe65 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -25,8 +25,8 @@ public class CommonConstants { public static final int NORMAL_LOCK_TIMES = 60 * 1000; public static final int AN_HOUR_SECONDS = 3600; - - public static final int TEN_SECONDS = 10; + //十秒 + public static final int TEN_SECONDS = 10000; /** * 跟进任务通知缓存时间 1小时 diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java index 3cd7927e7..dc9da1cc5 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java @@ -321,6 +321,16 @@ public class RedisUtilPool { public boolean setNxExpire(final String key, final String value, final int expire) { String res = new Executor(shardedJedisPool) { @Override + /** + * 参数定义详解,避免用错: + * set(String key, String value, String nxxx, String expx, int time) + * @key key + * @value value + * @nxxx 1.nx : not exists, 只有key 不存在时才把key value set 到redis; + * 2.xx : is exists ,只有 key 存在是,才把key value set 到redis + * @expx 1.ex : seconds 秒; 2.px : milliseconds 毫秒 + * 我们当前选用的是 nx,px,即key不存在时才set,且过期时间为毫秒 + */ String execute() { return jedis.set(key, value, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expire); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index 282734fa8..013ea8d79 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.RegionDao; @@ -96,7 +97,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { String lockKey = "submitLicense:" + request.getShopId(); String lockValue = UUID.randomUUID().toString(); boolean acquired = Boolean.FALSE; - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (!acquired) { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index fac34de58..afeeff590 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -1,6 +1,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.*; @@ -203,7 +204,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); @@ -269,7 +270,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 821d0d6d0..0e39b4f7f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -759,7 +759,7 @@ public class PointServiceImpl implements PointService { public Integer lineSelectPoint(SelectPointRequest request) { Long pointId = request.getPointId(), shopId = request.getShopId(), lineId = request.getLineId(); String lockKey = MessageFormat.format(POINT_SELECT_KEY, enterpriseId, pointId); - if(!redisUtilPool.setNxExpire(lockKey, JSONObject.toJSONString(request), 30)){ + if(!redisUtilPool.setNxExpire(lockKey, JSONObject.toJSONString(request), 30*1000)){ throw new ServiceException(ErrorCodeEnum.POINT_IS_LOCK); } try { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index fdc887bf5..d3ebcc0f1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.*; @@ -97,7 +98,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { //1.操作数据库 SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request); From 66c8099c94aa0fc645bbd27850168f9782f80a77 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Tue, 4 Jun 2024 17:39:55 +0800 Subject: [PATCH 22/36] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=A7=9F=E8=B5=81?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=89=80=E5=B1=9E=E5=A4=A7=E5=8C=BA=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/vo/shop/RentInfoToDoVO.java | 14 +++++++++----- .../cool/store/service/impl/PointServiceImpl.java | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/RentInfoToDoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/RentInfoToDoVO.java index 42a90de15..9ecaeb584 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/RentInfoToDoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/shop/RentInfoToDoVO.java @@ -1,6 +1,7 @@ package com.cool.store.vo.shop; import com.cool.store.entity.PointInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.google.common.collect.Lists; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -44,20 +45,23 @@ public class RentInfoToDoVO { @ApiModelProperty("提交时间") private Date submitTime; - public static List convert(List list, Map shopPointMap, Map pointMap, Map regionNameMap, Map rentContractSubmitTimeMap){ + public static List convert(List list, Map shopPointMap, Map pointMap, Map regionNameMap, Map rentContractSubmitTimeMap){ if(CollectionUtils.isEmpty(list)){ return Lists.newArrayList(); } List resultList = new ArrayList<>(); for (RentInfoToDoVO rent : list) { - Long pointId = shopPointMap.get(rent.getShopId()); - rent.setPointId(pointId); - PointInfoDO pointInfo = pointMap.get(pointId); + ShopInfoDO shopInfo = shopPointMap.get(rent.getShopId()); + if(Objects.isNull(shopInfo)){ + continue; + } + PointInfoDO pointInfo = pointMap.get(shopInfo.getPointId()); if(Objects.nonNull(pointInfo)){ rent.setPointName(pointInfo.getPointName()); rent.setAddress(pointInfo.getAddress()); - rent.setRegionNodeName(regionNameMap.get(pointInfo.getRegionId())); } + rent.setPointId(shopInfo.getPointId()); + rent.setRegionNodeName(regionNameMap.get(shopInfo.getRegionId())); rent.setSubmitTime(rentContractSubmitTimeMap.get(rent.getShopId())); resultList.add(rent); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 0e39b4f7f..577f6d227 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -1035,7 +1035,7 @@ public class PointServiceImpl implements PointService { if(Objects.nonNull(todoPage) && CollectionUtils.isNotEmpty(todoPage.getResult())){ List shopIds = todoPage.getResult().stream().map(RentInfoToDoVO::getShopId).collect(Collectors.toList()); List shopList = shopInfoDAO.getShopListByIds(shopIds); - Map shopPointMap = shopList.stream().collect(Collectors.toMap(k->k.getId(), v->v.getPointId())); + Map shopPointMap = shopList.stream().collect(Collectors.toMap(k->k.getId(), Function.identity())); List regionIds = shopList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList()); List pointIds = shopList.stream().map(ShopInfoDO::getPointId).collect(Collectors.toList()); List pointList = pointInfoDAO.getPointListByIds(pointIds); From 976571b072145d0f4b7b0f9010cb31178385a170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 18:13:21 +0800 Subject: [PATCH 23/36] =?UTF-8?q?=E8=80=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/utils/NumberConverter.java | 19 +++++++++++++++++++ .../mapper/EmployeeTrainingMapper.xml | 2 +- .../cool/store/entity/EmployeeTrainingDO.java | 2 +- .../store/vo/AssessmentUserTrainingVO.java | 2 +- .../store/vo/EmployeeTrainingDetailVO.java | 2 +- .../com/cool/store/vo/EmployeeTrainingVO.java | 2 +- .../impl/EmployeeTrainingServiceImpl.java | 7 ++++--- .../com/cool/store/job/XxlJobHandler.java | 3 ++- 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/NumberConverter.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/NumberConverter.java index d21aa3900..efb28cf76 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/NumberConverter.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/NumberConverter.java @@ -1,5 +1,9 @@ package com.cool.store.utils; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.DecimalFormat; + /** * @author zhangchenbiao * @FileName: NumberConverter @@ -30,5 +34,20 @@ public class NumberConverter { } return result; } + + + public static Float convertMath(String mathExpression) { + BigDecimal bd = null; + try { + if (StringUtil.isEmpty(mathExpression)){ + return null; + } + bd = new BigDecimal(mathExpression); + bd = bd.setScale(1, RoundingMode.HALF_UP); + return bd.floatValue(); + }catch (Exception e){ + return null; + } + } } diff --git a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml index 6f1c0fd61..e858c09b9 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/EmployeeTrainingMapper.xml @@ -20,7 +20,7 @@ - + diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java index d964f2c60..6b36792ab 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/EmployeeTrainingDO.java @@ -105,7 +105,7 @@ public class EmployeeTrainingDO { * 理论考试分值 */ @Column(name = "theoretical_exam_score") - private Integer theoreticalExamScore; + private Float theoreticalExamScore; /** * 实操考试状态 0-未开始 1-合格 2-不合格 diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java index b66ab1382..173d88b1c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/AssessmentUserTrainingVO.java @@ -84,7 +84,7 @@ public class AssessmentUserTrainingVO { * 理论考试分值 */ @ApiModelProperty("理论考试分值") - private Integer theoreticalExamScore; + private Float theoreticalExamScore; /** * 实操考试分值 diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java index 87a66ad13..5602867cd 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingDetailVO.java @@ -130,7 +130,7 @@ public class EmployeeTrainingDetailVO { * 理论考试分值 */ @ApiModelProperty("理论考试分值") - private Integer theoreticalExamScore; + private Float theoreticalExamScore; /** * 实操考试状态 0-未开始 1-合格 2-不合格 diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java index 7c95e6ba1..41cc8055f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/EmployeeTrainingVO.java @@ -55,7 +55,7 @@ public class EmployeeTrainingVO { private Integer theoreticalExamStatus; @ApiModelProperty("理论考试分值") - private Integer theoreticalExamScore; + private Float theoreticalExamScore; @ApiModelProperty("实操考试状态 0-未开始 1-合格 2-不合格") private Integer practicalExamStatus; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java index 49286934f..58287a752 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EmployeeTrainingServiceImpl.java @@ -18,6 +18,7 @@ import com.cool.store.enums.video.UploadTypeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.*; import com.cool.store.service.*; +import com.cool.store.utils.NumberConverter; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.vod.SmallVideoParam; @@ -199,7 +200,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { - employeeTrainingVO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null); + employeeTrainingVO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); employeeTrainingVO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); if(!employeeTrainingVO.getTheoreticalExamScore().equals(employeeTrainingDO.getTheoreticalExamScore()) || !employeeTrainingVO.getTheoreticalExamStatus().equals(employeeTrainingDO.getTheoreticalExamStatus())){ @@ -501,7 +502,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { - assessmentUserTrainingVO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null); + assessmentUserTrainingVO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); assessmentUserTrainingVO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); if(!assessmentUserTrainingVO.getTheoreticalExamScore().equals(employeeTrainingDO.getTheoreticalExamScore()) || !assessmentUserTrainingVO.getTheoreticalExamStatus().equals(employeeTrainingDO.getTheoreticalExamStatus())){ @@ -644,7 +645,7 @@ public class EmployeeTrainingServiceImpl implements EmployeeTrainingService { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { - employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null); + employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java index 7493270ba..5a3a54ded 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java @@ -21,6 +21,7 @@ import com.cool.store.response.xfsgFirstOderListResponse; import com.cool.store.service.*; import com.cool.store.service.impl.CommonService; import com.cool.store.utils.CoolDateUtils; +import com.cool.store.utils.NumberConverter; import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; @@ -486,7 +487,7 @@ public class XxlJobHandler { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { - employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? Integer.valueOf(staffExamInfoDTO.getExamScore()) : null); + employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); } From 05ae7b742127da28302008525b1c4ead5efe5e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 18:53:47 +0800 Subject: [PATCH 24/36] =?UTF-8?q?=E8=80=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TempUserDetailServiceImpl.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index 481f93096..863fd214d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -140,14 +140,16 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { List userIdList = enterpriseUserRoleDao.getUserIdsByRoleIdList(Collections.singletonList(UserRoleEnum.TRAINER.getCode())); RegionDO regionDO = regionDao.getRegionById(shopInfoDO.getRegionId()); // - userIdList = enterpriseUserDAO.getUserIdListByRegionId(Long.valueOf(regionDO.getParentId()), userIdList); + if (regionDO != null && regionDO.getParentId() != null){ + userIdList = enterpriseUserDAO.getUserIdListByRegionId(Long.valueOf(regionDO.getParentId()), userIdList); - Map messageMap = new HashMap<>(); - messageMap.put("userName", tempUserDetailRequest.getName()); - messageMap.put("mobile", tempUserDetailRequest.getPhone()); - messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailRequest.getRegisterTime())); - messageMap.put("userDetailId", tempUserDetailDO.getId().toString()); - commonService.sendMessage(userIdList, MessageEnum.MESSAGE_21, messageMap); + Map messageMap = new HashMap<>(); + messageMap.put("userName", tempUserDetailRequest.getName()); + messageMap.put("mobile", tempUserDetailRequest.getPhone()); + messageMap.put("registerTime", DateUtils.dateTime(tempUserDetailRequest.getRegisterTime())); + messageMap.put("userDetailId", tempUserDetailDO.getId().toString()); + commonService.sendMessage(userIdList, MessageEnum.MESSAGE_21, messageMap); + } } @Override From 8a0354d4e188049b2803f4ab76b13fe6e5c8badd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 19:18:14 +0800 Subject: [PATCH 25/36] getInvestmentManager --- .../com/cool/store/service/impl/DecorationServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java index 355c54c6e..4d05e9e74 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationServiceImpl.java @@ -539,9 +539,9 @@ public class DecorationServiceImpl implements DecorationService { if (lineId != null) { LineInfoDO a = lineInfoDOMap.getOrDefault(lineId, new LineInfoDO()); fitmentCheckVO.setInvestmentManagerId(a.getInvestmentManager()); - fitmentCheckVO.setInvestmentManager(a.getInvestmentManager()); + fitmentCheckVO.setInvestmentManager(userNameMap.getOrDefault(a.getInvestmentManager(), "")); fitmentCheckVO.setSitterId(a.getDevelopmentManager()); - fitmentCheckVO.setSitterName(a.getDevelopmentManager()); + fitmentCheckVO.setSitterName(userNameMap.getOrDefault(a.getDevelopmentManager(), "")); fitmentCheckVO.setPartnerName(a.getUsername()); } AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoDOSMap.get(shopId); From da84755d71771630e899f5e6a1d8669a105bb5ee Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Tue, 4 Jun 2024 19:42:47 +0800 Subject: [PATCH 26/36] fix --- .../java/com/cool/store/service/impl/PointServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 577f6d227..be9036f24 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -357,6 +357,11 @@ public class PointServiceImpl implements PointService { */ private void initUploadRentContract(PointInfoDO pointInfo) { LineInfoDO lineInfo = lineInfoDAO.getLineInfo(pointInfo.getLineId()); + ShopInfoDO updateShopInfo = new ShopInfoDO(); + updateShopInfo.setId(pointInfo.getShopId()); + updateShopInfo.setRegionId(pointInfo.getRegionId()); + updateShopInfo.setShopName(pointInfo.getPointName()); + shopInfoDAO.updateShopInfo(updateShopInfo); shopStageInfoDAO.batchUpdateShopStageStatus(pointInfo.getShopId(), Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_12, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_20)); Map templateParam = new HashMap<>(); templateParam.put("pointName", pointInfo.getAddress()); @@ -793,6 +798,7 @@ public class PointServiceImpl implements PointService { updateShop.setId(shopId); updateShop.setShopName(pointInfo.getPointName()); updateShop.setPointId(pointId); + updateShop.setRegionId(pointInfo.getRegionId()); shopInfoDAO.updateShopInfo(updateShop); ShopSubStageStatusEnum selectStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_11; PointDetailInfoDO updateDetail = new PointDetailInfoDO(); From 4f93a1f061258e07129fce7232937d8e80ad1d9f Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Tue, 4 Jun 2024 19:44:59 +0800 Subject: [PATCH 27/36] return null --- .../java/com/cool/store/service/impl/RegionServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java index f4cbeab1c..b0c61fe62 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RegionServiceImpl.java @@ -53,7 +53,7 @@ public class RegionServiceImpl implements RegionService { public RegionPathNameVO getAllRegionName(Long regionId) { RegionDO regionDO = regionMapper.getByRegionId(regionId); if(regionDO == null){ - throw new ServiceException(ErrorCodeEnum.REGION_NOT_EXIST); + return null; } if(regionDO.getDeleted() || StringUtils.isBlank(regionDO.getRegionPath()) || CommonConstants.LONG_ONE.equals(regionDO.getId())){ From d810de8059bcd1be2f0a428cbcc2564dd81550d5 Mon Sep 17 00:00:00 2001 From: guohb <1808583880@qq.com> Date: Tue, 4 Jun 2024 20:54:42 +0800 Subject: [PATCH 28/36] fix --- .../java/com/cool/store/service/impl/LineFlowService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java index 14f48497a..28b7f2640 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java @@ -9,6 +9,7 @@ import com.cool.store.entity.LineInfoDO; import com.cool.store.enums.AuditResultTypeEnum; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.LineStatusEnum; +import com.cool.store.enums.WorkflowSubStageEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.AuditCloseRequest; import com.cool.store.request.AuditPassRequest; @@ -47,8 +48,9 @@ public abstract class LineFlowService { if(!lineInfo.getWorkflowSubStage().equals(request.getWorkflowSubStage())){ throw new ServiceException(ErrorCodeEnum.WORK_FLOW_STAGE_PASS_ERROR); } - lineInfo.setRegionId(request.getFightRegion()); - Integer updateFlag = lineInfoDAO.updateLineInfo(lineInfo); + if (WorkflowSubStageEnum.INTEND.getCode().equals(lineInfo.getWorkflowStage())){ + lineInfo.setRegionId(request.getFightRegion()); + } String partnerId = lineInfo.getPartnerId(); LineAuditInfoDO auditInfo = new LineAuditInfoDO(); auditInfo.setLineId(request.getLineId()); From 02f5a84f853c56e3c5241f3cf76818d2c197105a Mon Sep 17 00:00:00 2001 From: guohb <1808583880@qq.com> Date: Tue, 4 Jun 2024 21:03:40 +0800 Subject: [PATCH 29/36] fix --- .../com/cool/store/service/impl/JoinIntentionServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 435ce4197..e2720ae22 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -102,6 +102,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt protected Boolean auditPass(Long auditId, LineInfoDO lineInfo, String userId) { WorkflowSubStageEnum workflowSubStageEnum = WorkflowSubStageEnum.getWorkflowSubStageEnum(lineInfo.getWorkflowSubStage()); WorkflowSubStageEnum nextStage = workflowSubStageEnum.getNextStage(); + lineInfoDAO.updateLineInfo(lineInfo); //更新线索阶段 lineInfoDAO.updateWorkflowStage(lineInfo.getId(), nextStage, nextStage.getInitStatus(), userId); //更新加盟问卷信息 From 9d4a9b1f5522a67619b606cf85106abf8a141554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 21:15:58 +0800 Subject: [PATCH 30/36] storeManagerFlag --- .../java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java | 2 ++ .../store/service/impl/TempUserDetailServiceImpl.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java index 9bbb9928d..9ec34bd84 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ehr/StaffBaseInfoDTO.java @@ -61,4 +61,6 @@ public class StaffBaseInfoDTO { @ApiModelProperty("健康证") private String healthCertificate; + + private Boolean storeManagerFlag; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java index 863fd214d..be4bb43ac 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TempUserDetailServiceImpl.java @@ -185,8 +185,17 @@ public class TempUserDetailServiceImpl implements TempUserDetailService { } if (StringUtil.isBlank(enterpriseUserDO.getJobnumber())) { throw new ServiceException(ErrorCodeEnum.JOBNUMBER_NOT_EXIST); + } - return xfsgEhrService.getUserInfoByCode(enterpriseUserDO.getJobnumber()); + StaffBaseInfoDTO userInfoByCode = xfsgEhrService.getUserInfoByCode(enterpriseUserDO.getJobnumber()); + //默认是店员 + userInfoByCode.setStoreManagerFlag(Boolean.FALSE); + //如果有店长角色 则是店长 + List userRoleIds = enterpriseUserRoleDao.getUserRoleIds(enterpriseUserDO.getUserId()); + if (CollectionUtils.isNotEmpty(userRoleIds)&&userRoleIds.contains(UserRoleEnum.XFSG_SHOPOWNER.getCode())){ + userInfoByCode.setStoreManagerFlag(Boolean.TRUE); + } + return userInfoByCode; } @Override From 7ca953518378f10f936a87efd9fa7ee1d5df39ed Mon Sep 17 00:00:00 2001 From: guohb <1808583880@qq.com> Date: Tue, 4 Jun 2024 21:51:16 +0800 Subject: [PATCH 31/36] =?UTF-8?q?=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/SysStoreAppServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index d3ebcc0f1..bf5b9c01b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -313,7 +313,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe // csqmc newStoreRequest.setCsqmc(BusinessDistrictEnum.getByCode(sysStoreAppRequest.getStoreDetail().getSubBusinessType()).getDesc()); //ddxm 督导 - newStoreRequest.setDdxm(userMap.get(sysStoreAppRequest.getSupervisorDetail().getSupervisorId()).getJobnumber()); + newStoreRequest.setDdxm(sysStoreAppRequest.getSupervisorDetail().getSupervisorId()); // dpzlht newStoreRequest.setDpzlht(objects); // end_time @@ -404,7 +404,6 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe // zmrjkllzs1 newStoreRequest.setZmrjkllzs1(PassengerFlowEnum.getByCode(sysStoreAppRequest.getStoreDetail().getAverageDailyRs()).getType()); // zppsyfy - newStoreRequest.setZppsyfy(0.05); newStoreRequest.setZppsyfy(Double.valueOf(sysStoreAppRequest.getStoreDetail().getUsageRate())); // zq newStoreRequest.setZq(pointInfoDO.getDistrict()); From 008ac8384e24eac61539fb11bb7fd5db70c8ebb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 22:13:40 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/XfsgEhrServiceImpl.java | 6 +++++- .../src/main/java/com/cool/store/job/XxlJobHandler.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java index e06dd3973..57778343c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java @@ -101,7 +101,11 @@ public class XfsgEhrServiceImpl implements XfsgEhrService { log.info("xfsg#getUserExamInfo,staffNumber:{},返回值data为空", staffNumber); return null; } - return JSON.parseObject(data.toJSONString(), StaffExamInfoDTO.class); + StaffExamInfoDTO staffExamInfoDTO = new StaffExamInfoDTO(); + staffExamInfoDTO.setExamScore("97.8"); + staffExamInfoDTO.setExamResult("正考通过"); + return staffExamInfoDTO; +// return JSON.parseObject(data.toJSONString(), StaffExamInfoDTO.class); } catch (Exception e) { log.info("xfsg#getUserExamInfo,staffNumber:{},Exception:", staffNumber, e); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java index 5a3a54ded..129262837 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java @@ -487,6 +487,7 @@ public class XxlJobHandler { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { + log.info("测试数据:{}"+JSONObject.toJSONString(staffExamInfoDTO)); employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); From c5ef4cab0215fe69cfd4f5f503c4b5d07e99f7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 22:20:56 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/XfsgEhrServiceImpl.java | 2 +- .../src/main/java/com/cool/store/job/XxlJobHandler.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java index 57778343c..a948e3e48 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java @@ -102,7 +102,7 @@ public class XfsgEhrServiceImpl implements XfsgEhrService { return null; } StaffExamInfoDTO staffExamInfoDTO = new StaffExamInfoDTO(); - staffExamInfoDTO.setExamScore("97.8"); + staffExamInfoDTO.setExamScore("100"); staffExamInfoDTO.setExamResult("正考通过"); return staffExamInfoDTO; // return JSON.parseObject(data.toJSONString(), StaffExamInfoDTO.class); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java index 129262837..5a3a54ded 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java @@ -487,7 +487,6 @@ public class XxlJobHandler { StaffExamInfoDTO staffExamInfoDTO = xfsgEhrService.getUserExamInfo(enterpriseUserDO.getJobnumber()); if (staffExamInfoDTO != null && StringUtils.isNotBlank(staffExamInfoDTO.getExamResult()) && StringUtils.isNotBlank(staffExamInfoDTO.getExamScore())) { - log.info("测试数据:{}"+JSONObject.toJSONString(staffExamInfoDTO)); employeeTrainingDO.setTheoreticalExamScore(StringUtils.isNotBlank(staffExamInfoDTO.getExamScore()) ? NumberConverter.convertMath(staffExamInfoDTO.getExamScore()) : null); employeeTrainingDO.setTheoreticalExamStatus(ExamStatusEnum.matchCodeByDesc(staffExamInfoDTO.getExamResult())); employeeTrainingDAO.updateByPrimaryKeySelective(employeeTrainingDO); From cc68a83688f7ec9e2b35d7fd1b9ae5778ba07f10 Mon Sep 17 00:00:00 2001 From: guohb <1808583880@qq.com> Date: Tue, 4 Jun 2024 22:38:55 +0800 Subject: [PATCH 34/36] =?UTF-8?q?=E5=BB=BA=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/SysStoreAppServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index bf5b9c01b..7be1dc97c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -459,8 +459,8 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); EnterpriseUserDO supervisor = userAuthMappingService.hierarchicalSearch(UserRoleEnum.SUPERVISION, shopInfoDO.getRegionId()); shopInfoDO.setStoreNum(request.getStoreNum()); //更新门店编码 - shopInfoDO.setSupervisorUserId(Objects.isNull(supervisor) ? "" : supervisor.getUserId());//更新督导 SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).build()); + shopInfoDO.setSupervisorUserId(Objects.isNull(supervisor) ? systemBuildingShopDO.getSupervisorId() : supervisor.getUserId());//更新督导 shopInfoDO.setShopName(systemBuildingShopDO.getStoreName());//更新铺位名称 shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO); shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); From c6bf8da5b35a4f18b08009640d1fe7075bfd2491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 22:45:21 +0800 Subject: [PATCH 35/36] =?UTF-8?q?=E5=BB=BA=E5=BA=97=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/service/impl/SysStoreAppServiceImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index 7be1dc97c..fc54242fa 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -25,6 +25,7 @@ import com.cool.store.service.PreparationService; import com.cool.store.service.SysStoreAppService; import com.cool.store.service.UserAuthMappingService; import com.cool.store.utils.RedisUtilPool; +import com.cool.store.utils.poi.StringUtils; import com.cool.store.utils.poi.constant.Constants; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -459,8 +460,12 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); EnterpriseUserDO supervisor = userAuthMappingService.hierarchicalSearch(UserRoleEnum.SUPERVISION, shopInfoDO.getRegionId()); shopInfoDO.setStoreNum(request.getStoreNum()); //更新门店编码 + shopInfoDO.setSupervisorUserId(Objects.isNull(supervisor) ? "" : supervisor.getUserId());//更新督导 SystemBuildingShopDO systemBuildingShopDO = systemBuildingShopMapper.selectOne(SystemBuildingShopDO.builder().shopId(shopId).build()); - shopInfoDO.setSupervisorUserId(Objects.isNull(supervisor) ? systemBuildingShopDO.getSupervisorId() : supervisor.getUserId());//更新督导 + if (StringUtils.isEmpty(shopInfoDO.getSupervisorUserId())&&StringUtils.isNotEmpty(systemBuildingShopDO.getSupervisorId())){ + EnterpriseUserDO user = enterpriseUserMapper.getUserInfoByJobnumber(systemBuildingShopDO.getSupervisorId()); + shopInfoDO.setSupervisorUserId(user!=null?user.getUserId():""); + } shopInfoDO.setShopName(systemBuildingShopDO.getStoreName());//更新铺位名称 shopInfoMapper.updateByPrimaryKeySelective(shopInfoDO); shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); From c791d2b45efce3ca1e3908b7f8cc8b479059157f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 4 Jun 2024 23:08:22 +0800 Subject: [PATCH 36/36] =?UTF-8?q?=E5=BB=BA=E5=BA=97=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/impl/XfsgEhrServiceImpl.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java index a948e3e48..e06dd3973 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/XfsgEhrServiceImpl.java @@ -101,11 +101,7 @@ public class XfsgEhrServiceImpl implements XfsgEhrService { log.info("xfsg#getUserExamInfo,staffNumber:{},返回值data为空", staffNumber); return null; } - StaffExamInfoDTO staffExamInfoDTO = new StaffExamInfoDTO(); - staffExamInfoDTO.setExamScore("100"); - staffExamInfoDTO.setExamResult("正考通过"); - return staffExamInfoDTO; -// return JSON.parseObject(data.toJSONString(), StaffExamInfoDTO.class); + return JSON.parseObject(data.toJSONString(), StaffExamInfoDTO.class); } catch (Exception e) { log.info("xfsg#getUserExamInfo,staffNumber:{},Exception:", staffNumber, e); }