Merge remote-tracking branch 'origin/cc_20250325_select' into cc_20250325_select

This commit is contained in:
shuo.wang
2025-04-08 15:35:36 +08:00
29 changed files with 1294 additions and 19 deletions

View File

@@ -0,0 +1,21 @@
package com.cool.store.service;
import com.cool.store.dto.StatusRefreshDTO;
/**
* @Author suzhuhong
* @Date 2025/4/7 16:53
* @Version 1.0
*/
public interface OpenApiService {
/**
* 修改状态
* @param statusRefreshDTO
* @return
*/
Boolean statusRefresh(StatusRefreshDTO statusRefreshDTO);
}

View File

@@ -76,4 +76,31 @@ public interface PreparationService {
* @return
*/
Map<Long,Integer> getShopStatus(List<Long> shopIds);
/**
* POS进件状态修改
* 装修完成 工商证照办理完成 建店材料收集完成
* @param shopId
* @return
*/
Boolean buildStoreAndDecorationComplete(Long shopId);
/**
* POS 建店昨天完成
* 选址与建店资料完成(加盟合同完成)
* @param shopId
* @return
*/
Boolean selectSiteAndBuildStoreComplete(Long shopId);
/**
* 新管家状态修改
* 建店完成
* @param shopId
* @return
*/
Boolean buildStoreComplete(Long shopId);
}

View File

@@ -0,0 +1,25 @@
package com.cool.store.service;
import com.cool.store.dto.ShopAccount.ShopAccountDTO;
import java.util.List;
/**
* @Author suzhuhong
* @Date 2025/4/7 15:51
* @Version 1.0
*/
public interface ShopAccountService {
/**
* 根据门店查询数据
* @param shopId
* @return
*/
List<ShopAccountDTO> getShopAccountByShopId(Long shopId);
}

View File

@@ -125,6 +125,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService {
shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33, null);
preparationService.licenseCompleted(request.getShopId());
preparationService.updateShopStatus(request.getShopId());
preparationService.buildStoreAndDecorationComplete(request.getShopId());
}
return Boolean.TRUE;
}

View File

@@ -709,6 +709,7 @@ public class DecorationServiceImpl implements DecorationService {
//更新阶段状态验收完毕
shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123, null);
preparationService.updateShopStatus(request.getShopId());
preparationService.buildStoreAndDecorationComplete(request.getShopId());
} else {
//未通过至为待验收
shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_121, null);

View File

@@ -0,0 +1,47 @@
package com.cool.store.service.impl;
import com.cool.store.dao.ShopAccountDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dto.StatusRefreshDTO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.OpenStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.service.OpenApiService;
import com.google.common.collect.Lists;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Objects;
/**
* @Author suzhuhong
* @Date 2025/4/7 16:54
* @Version 1.0
*/
@Service
public class OpenApiServiceImpl implements OpenApiService {
@Resource
ShopAccountDAO accountDAO;
@Resource
ShopInfoDAO shopInfoDAO;
@Override
public Boolean statusRefresh(StatusRefreshDTO statusRefreshDTO) {
//查询门店编码
ShopInfoDO shopInfoDO = shopInfoDAO.selectByStoreCode(statusRefreshDTO.getShopCode());
if (Objects.isNull(shopInfoDO)){
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
}
Integer openStatus = statusRefreshDTO.getOpenStatus()?OpenStatusEnum.OPENSTATUSENUM_5.getCode():OpenStatusEnum.OPENSTATUSENUM_6.getCode();
accountDAO.updateStatusByShopIdAndSystemName(shopInfoDO.getId(), Arrays.asList(statusRefreshDTO.getSystemSource()), openStatus);
//订货系统开通完成
return Boolean.TRUE;
}
}

View File

@@ -102,6 +102,10 @@ public class OrderSysInfoServiceImpl implements OrderSysInfoService {
//初始化数据
preparationService.licenseCompleted(request.getShopId());
preparationService.sysStoreCompleted(request.getShopId());
preparationService.buildStoreAndDecorationComplete(request.getShopId());
preparationService.selectSiteAndBuildStoreComplete(request.getShopId());
preparationService.buildStoreComplete(request.getShopId());
ShopInfoDO shopInfoDO = shopInfoDAO.getShopInfo(request.getShopId());
LineInfoDO lineInfoDO = lineInfoDAO.getLineInfo(shopInfoDO.getLineId());

View File

@@ -80,6 +80,8 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
private RegionMapper regionMapper;
@Resource
private CommonService commonService;
@Resource
ShopAccountDAO accountDAO;
@Override
public String juridicalIdCard(Long shopId) {
@@ -491,6 +493,8 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
}
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(shopId, nowStatus, OperationTypeEnum.OPERATION_TYPE_1.getCode());
operationLogService.batchUpdateProcessed(operationLogs, auditId, request.getOperateUserId(), request.getReason());
//平台账号维护
accountDAO.changeStatus(shopId,platformBuildDO.getType(),request.getAccount(),request.getPassword(),request.getResultType());
platformBuildDO.setAuditId(auditId);
platformBuildDO.setAccount(request.getAccount());
platformBuildDO.setPassword(request.getPassword());
@@ -498,6 +502,7 @@ public class PlatformBuildServiceImpl implements PlatformBuildService {
platformBuildDO.setUpdateUser(request.getOperateUserId());
platformBuildDO.setPoi(request.getPoi());
platformBuildDO.setStoreId(request.getStoreId());
return platformBuildDAO.updateByShopIdAndTypeSelective(platformBuildDO);
}
}

View File

@@ -370,6 +370,7 @@ public class PointServiceImpl implements PointService {
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));
preparationService.selectSiteAndBuildStoreComplete(pointInfo.getShopId());
Map<String, String> templateParam = new HashMap<>();
templateParam.put("pointName", pointInfo.getAddress());
}
@@ -836,6 +837,7 @@ public class PointServiceImpl implements PointService {
updateStatusList.add(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_20);
Map<String, String> templateParam = new HashMap<>();
templateParam.put("pointName", pointInfo.getAddress());
preparationService.selectSiteAndBuildStoreComplete(shopId);
}
updateStatusList.add(selectStatus);
shopStageInfoDAO.batchUpdateShopStageStatus(shopId, updateStatusList);

View File

@@ -4,15 +4,8 @@ import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.*;
import com.cool.store.dto.Preparation.PreparationDTO;
import com.cool.store.dto.Preparation.ScheduleDTO;
import com.cool.store.dto.decoration.ConstructionScheduleDTO;
import com.cool.store.dto.decoration.DecorationDTO;
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.SMSMsgEnum;
import com.cool.store.enums.point.ShopStageEnum;
import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopStatusEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
@@ -21,23 +14,19 @@ import com.cool.store.request.PreparationRequest;
import com.cool.store.service.*;
import com.cool.store.utils.poi.DateUtils;
import com.cool.store.utils.poi.StringUtils;
import com.cool.store.utils.poi.constant.Constants;
import com.cool.store.vo.Preparation.PreparationProcessVO;
import com.cool.store.vo.Preparation.PreparationScheduleDetailVO;
import com.cool.store.vo.Preparation.PreparationScheduleVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -46,9 +35,9 @@ import java.util.stream.Collectors;
* @Version 1.0
*/
@Service
@Slf4j
public class PreparationServiceImpl implements PreparationService {
private static final Logger log = LoggerFactory.getLogger(PreparationServiceImpl.class);
@Resource
private CommonService commonService;
@Resource
@@ -311,5 +300,65 @@ public class PreparationServiceImpl implements PreparationService {
return map;
}
@Resource
ShopAccountDAO shopAccountDAO;
@Override
public Boolean buildStoreAndDecorationComplete(Long shopId) {
List<ShopStageInfoDO> shopStageInfo = shopStageInfoDAO.getShopStageInfo(shopId, null);
if (CollectionUtils.isNotEmpty(shopStageInfo)) {
Map<Integer, ShopStageInfoDO> shopStageInfoDOMap = shopStageInfo.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, data -> data));
Boolean flag1 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_33.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_3.getShopSubStage()).getShopSubStageStatus());
Boolean flag2 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage()).getShopSubStageStatus());
Boolean flag3 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus());
log.info("buildStoreAndDecorationComplete flag1->{} flag2->{} flag3->{}",flag1,flag2,flag3);
//都完成了 进件状态修改
if (flag1 && flag2 && flag3) {
shopAccountDAO.updateEntryStatusByShopIdAndSystemName(shopId, Arrays.asList(ShopAccountEnum.HuoMa.getSystemName()), OpenStatusEnum.OPENSTATUSENUM_2.getCode());
}
}
return Boolean.TRUE;
}
@Override
public Boolean selectSiteAndBuildStoreComplete(Long shopId) {
List<ShopStageInfoDO> shopStageInfo = shopStageInfoDAO.getShopStageInfo(shopId, null);
if (CollectionUtils.isNotEmpty(shopStageInfo)) {
Map<Integer, ShopStageInfoDO> shopStageInfoDOMap = shopStageInfo.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, data -> data));
Boolean flag2 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_12.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_1.getShopSubStage()).getShopSubStageStatus());
Boolean flag3 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus());
log.info("selectSiteAndBuildStoreComplete flag2->{} flag3->{}",flag2,flag3);
//都完成了 进件状态修改
if (flag2 && flag3) {
shopAccountDAO.updateStatusByShopIdAndSystemName(shopId, Arrays.asList(ShopAccountEnum.HuoMa.getSystemName()), OpenStatusEnum.OPENSTATUSENUM_2.getCode());
}
}
return Boolean.TRUE;
}
@Override
public Boolean buildStoreComplete(Long shopId) {
List<ShopStageInfoDO> shopStageInfo = shopStageInfoDAO.getShopStageInfo(shopId, null);
if (CollectionUtils.isNotEmpty(shopStageInfo)) {
Map<Integer, ShopStageInfoDO> shopStageInfoDOMap = shopStageInfo.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopSubStage, data -> data));
Boolean flag3 = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_153.getShopSubStageStatus().
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_15.getShopSubStage()).getShopSubStageStatus());
log.info("selectSiteAndBuildStoreComplete flag3->{}",flag3);
//建店完成了 状态修改
if (flag3) {
shopAccountDAO.updateStatusByShopIdAndSystemName(shopId, Arrays.asList(ShopAccountEnum.YLS.getSystemName(),ShopAccountEnum.XZG.getSystemName()), OpenStatusEnum.OPENSTATUSENUM_2.getCode());
}
}
return Boolean.TRUE;
}
}

View File

@@ -0,0 +1,104 @@
package com.cool.store.service.impl;
import com.cool.store.dao.ShopAccountDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dto.ModifyPasswordDTO;
import com.cool.store.dto.ShopAccount.ShopAccountDTO;
import com.cool.store.entity.ShopAccountDO;
import com.cool.store.entity.ShopInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.ShopAccountEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ShopAccountMapper;
import com.cool.store.response.MiniShopsResponse;
import com.cool.store.service.ShopAccountService;
import com.cool.store.service.ShopService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Author suzhuhong
* @Date 2025/4/7 15:51
* @Version 1.0
*/
@Service
public class ShopAccountServiceImpl implements ShopAccountService {
@Resource
ShopAccountDAO shopAccountDAO;
@Resource
ShopInfoDAO shopInfoDAO;
@Resource
ShopService shopService;
@Override
public List<ShopAccountDTO> getShopAccountByShopId(Long shopId) {
if (Objects.isNull(shopId)){
throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE);
}
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
if (Objects.isNull(shopInfo)){
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
}
List<ShopAccountDO> shopAccountDOS = shopAccountDAO.selectByShopId(shopId);
List<ShopAccountDTO> result= new ArrayList<>();
if (CollectionUtils.isEmpty(shopAccountDOS)){
return result;
}
shopAccountDOS.forEach(x->{
ShopAccountDTO shopAccountDTO = new ShopAccountDTO();
shopAccountDTO.setShopId(x.getShopId());
shopAccountDTO.setSystemName(x.getSystemName());
shopAccountDTO.setAccount(x.getAccount());
if (ShopAccountEnum.getSpecialList().contains(x.getSystemName())){
shopAccountDTO.setAccount(shopInfo.getShopCode());
}
shopAccountDTO.setPassword(x.getPassword());
shopAccountDTO.setStatus(x.getStatus());
shopAccountDTO.setEntryStatus(x.getEntryStatus());
shopAccountDTO.setLastSyncTime(x.getLastSyncTime());
shopAccountDTO.setRemark(x.getRemark());
result.add(shopAccountDTO);
});
return result;
}
Boolean modifyPasswordDTO(ModifyPasswordDTO modifyPasswordDTO){
//查询
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(modifyPasswordDTO.getShopId());
if (Objects.isNull(shopInfo)){
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
}
List<MiniShopsResponse> shopListSuccessOpen = shopService.getShopListSuccessOpen(shopInfo.getLineId());
//修改数据
List<Long> shopIdList = shopListSuccessOpen.stream().map(MiniShopsResponse::getShopId).collect(Collectors.toList());
shopAccountDAO.batchUpdatePasswordByShopIds(shopIdList,modifyPasswordDTO.getPassword(),modifyPasswordDTO.getPasswordSalt(),new Date());
//当前加盟商所有开店成功的CODE
List<String> shopCodeList = shopListSuccessOpen.stream().map(MiniShopsResponse::getShopCode).collect(Collectors.toList());
//推送下游系统
//火码实时该状态
return Boolean.TRUE;
}
}

View File

@@ -87,6 +87,10 @@ public class ShopServiceImpl implements ShopService {
private RegionService regionService;
@Resource
PreparationService preparationService;
@Resource
ShopAccountDAO shopAccountDAO;
@Resource
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
@Override
@@ -122,6 +126,9 @@ public class ShopServiceImpl implements ShopService {
shopInfoDAO.batchAddShop(addShopList);
List<Long> shopIds = addShopList.stream().map(ShopInfoDO::getId).collect(Collectors.toList());
Integer result = shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds, true);
//初始化平台账号
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
shopAccountDAO.initShopAccount(hyPartnerUserInfoDO,shopIds);
Set<String> publishFranchiseFeeUsers = new HashSet<>();
List<EnterpriseUserDO> joinUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JOIN_OFFICE, lineInfo.getRegionId());
if (Objects.nonNull(joinUser)) {
@@ -343,7 +350,9 @@ public class ShopServiceImpl implements ShopService {
} else {
shopStageInfoDAO.initShopStageInfo(request.getLineId(), Collections.singletonList(shopId), false);
}
//初始化平台账号
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(lineInfo.getPartnerId());
shopAccountDAO.initShopAccount(hyPartnerUserInfoDO,Collections.singletonList(shopId));
return shopId;
}