Merge remote-tracking branch 'origin/cc_partner_init' into cc_partner_init
This commit is contained in:
@@ -3,6 +3,7 @@ package com.cool.store.service;
|
||||
import com.cool.store.request.AuditOpenNewShopRequest;
|
||||
import com.cool.store.request.PartnerOpenNewShopPageRequest;
|
||||
import com.cool.store.request.SubmitOpenNewShopRequest;
|
||||
import com.cool.store.vo.IsSubmitOpenNewShopVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@@ -23,6 +24,11 @@ public interface OpenNewShopService {
|
||||
PageInfo<PartnerOpenNewShopPageVO> getPartnerOpenNewShopPage(PartnerOpenNewShopPageRequest request);
|
||||
|
||||
|
||||
/**
|
||||
* 获取详情
|
||||
* @param recordId
|
||||
* @return
|
||||
*/
|
||||
PartnerOpenNewShopDetailVO getOpenNewShopRecordDetail(Long recordId);
|
||||
|
||||
/**
|
||||
@@ -44,5 +50,5 @@ public interface OpenNewShopService {
|
||||
* @param lineId
|
||||
* @return
|
||||
*/
|
||||
PartnerOpenNewShopDetailVO getWaitAuditOpenNewShopRecord(Long lineId);
|
||||
IsSubmitOpenNewShopVO isSubmitOpenNewShop(Long lineId);
|
||||
}
|
||||
|
||||
@@ -32,4 +32,5 @@ public interface OpeningOperationPlanService {
|
||||
*/
|
||||
PageInfo<OpeningOperationPlanListVO> getPlanListPage(PlanListRequest request);
|
||||
Boolean flush(Long shopId);
|
||||
Boolean getStatus(Long shopId);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -75,6 +76,10 @@ public class CommonService {
|
||||
return (AuditResultService) applicationContext.getBean(auditEnum.getClazz());
|
||||
}
|
||||
|
||||
public void sendMessageAsync(List<String> userIds, MessageEnum message, Map<String, String> requestMap){
|
||||
CompletableFuture.runAsync(() -> sendMessage(userIds, message, requestMap));
|
||||
}
|
||||
|
||||
public void sendMessage(List<String> userIds, MessageEnum message, Map<String, String> requestMap){
|
||||
if(CollectionUtils.isEmpty(userIds)){
|
||||
return;
|
||||
@@ -120,6 +125,10 @@ public class CommonService {
|
||||
sendSms(Arrays.asList(poneNumber), templateCode, templateParamMap);
|
||||
}
|
||||
|
||||
public void sendSmsAsync(String poneNumber, SMSMsgEnum templateCode, Map<String, String> templateParamMap){
|
||||
CompletableFuture.runAsync(() -> sendSms(Arrays.asList(poneNumber), templateCode, templateParamMap));
|
||||
}
|
||||
|
||||
public void sendSms(List<String> poneNumbers, SMSMsgEnum templateCode, Map<String, String> templateParamMap){
|
||||
List<String> signNameList = new ArrayList<>();
|
||||
signNameList.add("酷店掌");
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.cool.store.response.ThreeSignResponse;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.poi.StringUtils;
|
||||
import com.cool.store.vo.AssessmentTemplateVO;
|
||||
import com.cool.store.vo.Fitment.DecorationStageVO;
|
||||
import com.cool.store.vo.Fitment.DecorationModelVO;
|
||||
import com.cool.store.vo.Fitment.DesignInfoVo;
|
||||
@@ -94,7 +95,8 @@ public class DecorationServiceImpl implements DecorationService {
|
||||
private ShopInfoMapper shopInfoMapper;
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
@Resource
|
||||
private AssessmentTemplateService assessmentTemplateService;
|
||||
@Override
|
||||
public DesignInfoVo DesignInfo(Long shopId) {
|
||||
DecorationDTO decoration = getDecorationDTO(shopId);
|
||||
@@ -174,14 +176,13 @@ public class DecorationServiceImpl implements DecorationService {
|
||||
//预算
|
||||
BudgetDTO proposedBookBudget = getBudgetDTOS(decoration);
|
||||
if (proposedBookBudget == null) return null;
|
||||
String vzHj = proposedBookBudget.getVzHj();
|
||||
BigDecimal vzHj = proposedBookBudget.getVzHj();
|
||||
//支付二维码url
|
||||
Long regionId = shopInfoDAO.getRegionIdByid(shopId);
|
||||
String payPic = regionQrcodeConfigDao.getPayPicByRegionId(regionId);
|
||||
DecorationModelDTO decorationModelDTO = new DecorationModelDTO();
|
||||
decorationModelDTO.setPayUrl(payPic);
|
||||
BigDecimal totalAmount = new BigDecimal(vzHj);
|
||||
decorationModelDTO.setTotalAmount(totalAmount.setScale(2, RoundingMode.HALF_UP));
|
||||
decorationModelDTO.setTotalAmount(vzHj);
|
||||
return decorationModelDTO;
|
||||
}
|
||||
|
||||
@@ -358,8 +359,10 @@ public class DecorationServiceImpl implements DecorationService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean submitThreeCheck(ThreeAcceptanceCheckRequest request) {
|
||||
log.info("submitThreeCheck, request:{} ", JSONObject.toJSONString(request));
|
||||
|
||||
List<AssessmentDataDO> assessmentDataDOList = assessmentDataDAO.selectListByShopId(request.getShopId());
|
||||
List<AssessmentTemplateVO> assessmentTemplateVOS = assessmentTemplateService.listByType(AssessmentTemplateType.TRIPARTITE_ACCEPTANCE.getCode());
|
||||
Long max = assessmentTemplateVOS.stream().mapToLong(AssessmentTemplateVO::getId).max().orElse(0L);
|
||||
Long min = assessmentTemplateVOS.stream().mapToLong(AssessmentTemplateVO::getId).min().orElse(0L);
|
||||
List<AssessmentDataDO> assessmentDataDOList = assessmentDataDAO.selectListByShopId(request.getShopId(), min,max);
|
||||
List<AssessmentDataDO> assessmentDataDOS = new ArrayList<>();
|
||||
for (AssessmentDataDTO assessmentDataDTO : request.getAssessmentDataDTOS()) {
|
||||
AssessmentDataDO assessmentDataDO = new AssessmentDataDO();
|
||||
@@ -382,8 +385,10 @@ public class DecorationServiceImpl implements DecorationService {
|
||||
|
||||
@Override
|
||||
public ThreeAcceptanceCheckRequest getThreeChecks(Long shopId) {
|
||||
//todo sql 确定范围
|
||||
List<AssessmentDataDO> assessmentDataDOS = assessmentDataDAO.selectListByShopId(shopId);
|
||||
List<AssessmentTemplateVO> assessmentTemplateVOS = assessmentTemplateService.listByType(AssessmentTemplateType.TRIPARTITE_ACCEPTANCE.getCode());
|
||||
Long max = assessmentTemplateVOS.stream().mapToLong(AssessmentTemplateVO::getId).max().orElse(0L);
|
||||
Long min = assessmentTemplateVOS.stream().mapToLong(AssessmentTemplateVO::getId).min().orElse(0L);
|
||||
List<AssessmentDataDO> assessmentDataDOS = assessmentDataDAO.selectListByShopId(shopId,min,max);
|
||||
if (CollectionUtils.isEmpty(assessmentDataDOS)) {
|
||||
log.error("该用户门店三方验收检查项为空");
|
||||
return null;
|
||||
|
||||
@@ -448,6 +448,13 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
|
||||
auditStatusService.insert(lineInfo.getId(),interviewInfo.getId(),auditId,AuditStageEnum.TWO.getCode());
|
||||
//发送短信
|
||||
commonService.sendSms(lineInfo.getMobile(), SMSMsgEnum.SECOND_INTERVIEW_SUCCESS, null);
|
||||
Map<String, String> requestMap = new HashMap<>();
|
||||
//todo 建店还未开始时
|
||||
requestMap.put("storeName","XXX");
|
||||
requestMap.put("partnerName",lineInfo.getUsername());
|
||||
requestMap.put("partnerMobile",lineInfo.getMobile());
|
||||
requestMap.put("lineId",String.valueOf(lineInfo.getId()));
|
||||
commonService.sendMessage(Arrays.asList(lineInfo.getInvestmentManager()),MessageEnum.MESSAGE_23,requestMap);
|
||||
}
|
||||
return lineInterviewDAO.updateInterviewInfo(updateInterviewInfo) > 0;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserChannelDAO;
|
||||
import com.cool.store.dao.OpenNewShopRecordDAO;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.partner.PartnerOpenNewShopPageDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.entity.OpenNewShopRecordDO;
|
||||
@@ -19,6 +16,7 @@ import com.cool.store.request.SubmitOpenNewShopRequest;
|
||||
import com.cool.store.service.LabelService;
|
||||
import com.cool.store.service.OpenNewShopService;
|
||||
import com.cool.store.service.ShopService;
|
||||
import com.cool.store.vo.IsSubmitOpenNewShopVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopDetailVO;
|
||||
import com.cool.store.vo.PartnerOpenNewShopPageVO;
|
||||
import com.github.pagehelper.Page;
|
||||
@@ -59,6 +57,8 @@ public class OpenNewShopServiceImpl implements OpenNewShopService {
|
||||
private LabelService labelService;
|
||||
@Resource
|
||||
private ShopService shopService;
|
||||
@Resource
|
||||
private ShopStageInfoDAO shopStageInfoDAO;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -136,8 +136,14 @@ public class OpenNewShopServiceImpl implements OpenNewShopService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerOpenNewShopDetailVO getWaitAuditOpenNewShopRecord(Long lineId) {
|
||||
public IsSubmitOpenNewShopVO isSubmitOpenNewShop(Long lineId) {
|
||||
//首先获取有没有待审核的记录
|
||||
OpenNewShopRecordDO openNewShopRecord = openNewShopRecordDAO.getWaitAuditOpenNewShopRecord(lineId);
|
||||
return PartnerOpenNewShopDetailVO.convert(openNewShopRecord);
|
||||
if(Objects.nonNull(openNewShopRecord)){
|
||||
return new IsSubmitOpenNewShopVO(Boolean.FALSE);
|
||||
}
|
||||
//没有待审核的记录 去获取店铺是否都已经在验收中
|
||||
Integer notOpenShopCount = shopStageInfoDAO.getNotOpenShopCountByLineId(lineId);
|
||||
return new IsSubmitOpenNewShopVO(notOpenShopCount <= CommonConstants.ZERO);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -197,7 +197,7 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService {
|
||||
public Boolean flush(Long shopId) {
|
||||
ShopStageInfoDO orderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15);
|
||||
try {
|
||||
if (!ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus().
|
||||
if (ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_152.getShopSubStageStatus().
|
||||
equals(orderStageInfo.getShopSubStageStatus())) {
|
||||
ShopInfoDO shopInfo = shopService.getShopInfo(shopId);
|
||||
String shopCode = shopInfo.getShopCode();
|
||||
@@ -218,5 +218,19 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getStatus(Long shopId) {
|
||||
try{
|
||||
ShopInfoDO shopInfo = shopService.getShopInfo(shopId);
|
||||
String shopCode = shopInfo.getShopCode();
|
||||
Boolean firstOrder = coolStoreStartFlowService.getFirstOrder(shopCode);
|
||||
return firstOrder;
|
||||
}catch (Exception e){
|
||||
log.error("获取鲜丰订货金异常或更新状态失败");
|
||||
throw new ServiceException(ErrorCodeEnum.YLF_ERROR);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.cool.store.dto.decoration.ProjectDTO;
|
||||
import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO;
|
||||
import com.cool.store.entity.*;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.MessageEnum;
|
||||
import com.cool.store.enums.point.ShopStageEnum;
|
||||
import com.cool.store.enums.point.ShopSubStageEnum;
|
||||
import com.cool.store.enums.point.ShopSubStageStatusEnum;
|
||||
@@ -46,6 +47,8 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(PreparationServiceImpl.class);
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
@Resource
|
||||
private ShopStageInfoDAO shopStageInfoDAO;
|
||||
@Resource
|
||||
private OpenAcceptanceInfoDAO openAcceptanceInfoDAO;
|
||||
@@ -178,7 +181,8 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
Map<Integer, ShopStageInfoDO> shopStageInfoDOMap = shopStageInfo.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, data -> data));
|
||||
Boolean buildStoreCompletionFlag = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33.getShopSubStageStatus().equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_3.getShopSubStage()).getShopSubStageStatus());
|
||||
Boolean contractCompletionFlag = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_73.getShopSubStageStatus().equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_7.getShopSubStage()).getShopSubStageStatus());
|
||||
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId());
|
||||
//都完成了 初始化后续流程数据
|
||||
if (buildStoreCompletionFlag && contractCompletionFlag) {
|
||||
//初始化后续流程数据 设计阶段 装修阶段 开业运营方案 首批订货清单
|
||||
@@ -197,9 +201,23 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
ShopStageInfoDO data3 = shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_14.getShopSubStage());
|
||||
data3.setShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_140.getShopSubStageStatus());
|
||||
list.add(data3);
|
||||
//发送督导钉钉
|
||||
Map<String, String> messageMap = new HashMap<>();
|
||||
messageMap.put("storeName",shopInfo.getShopName());
|
||||
messageMap.put("shopId",shopId.toString());
|
||||
messageMap.put("partnerUsername",lineInfo.getUsername());
|
||||
messageMap.put("partnerMobile",lineInfo.getMobile());
|
||||
commonService.sendMessage(Arrays.asList(shopInfo.getSupervisorUserId()), MessageEnum.MESSAGE_26, messageMap);
|
||||
ShopStageInfoDO data4 = shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage());
|
||||
data4.setShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_150.getShopSubStageStatus());
|
||||
list.add(data4);
|
||||
//发送督导钉钉
|
||||
Map<String, String> messageMap1 = new HashMap<>();
|
||||
messageMap1.put("storeName",shopInfo.getShopName());
|
||||
messageMap1.put("shopId",shopId.toString());
|
||||
messageMap1.put("partnerUsername",lineInfo.getUsername());
|
||||
messageMap1.put("partnerMobile",lineInfo.getMobile());
|
||||
commonService.sendMessage(Arrays.asList(shopInfo.getSupervisorUserId()), MessageEnum.MESSAGE_27, messageMap1);
|
||||
shopStageInfoDAO.batchUpdate(list);
|
||||
}
|
||||
}
|
||||
@@ -209,7 +227,7 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
public void whetherToOpenForAcceptance(Long shopId) {
|
||||
Integer allCompletionCount = shopStageInfoDAO.getAllCompletionCount(shopId);
|
||||
//如果等于6 表示前面阶段都已经完成 初始化开业验收数据
|
||||
if (allCompletionCount.equals(CommonConstants.SIX)) {
|
||||
if (allCompletionCount.equals(CommonConstants.FIVE)) {
|
||||
OpenAcceptanceInfoDO openAcceptanceInfoDO = new OpenAcceptanceInfoDO();
|
||||
openAcceptanceInfoDO.setShopId(shopId);
|
||||
openAcceptanceInfoDO.setAcceptanceStatus(CommonConstants.ZERO);
|
||||
@@ -246,10 +264,8 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
decorationService.getConstructionInfo(shopId);
|
||||
flushFlag = Boolean.TRUE;
|
||||
}
|
||||
return flushFlag;
|
||||
return flushFlag;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user