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 d96685ec2..06d49d38b 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 @@ -154,10 +154,5 @@ public class CommonConstants { // public static final String DEAULT_SELECT_SITE_MANAGER = "09080211"; public static final String DEAULT_SELECT_SITE_MANAGER = "020125244825417786"; - - //开业运营方案审核0通过 - public static final Byte opening_Operation_Plan_PASS = Byte.valueOf((byte)0); - //开业运营方案审核1拒绝 - public static final Byte opening_Operation_Plan_REJECT = Byte.valueOf((byte)1); public static final int MAX_LENGTH_ONE_HUNDRED = 100; } 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 597cfa0ea..8c17a85e9 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 @@ -178,6 +178,7 @@ public enum ErrorCodeEnum { SHOP_ID_NOT_EXIST(103010,"shopId不存在",null), FIRST_ORDER_PARAM_NULL(103020,"首批订货金参数为空",null), XFSG_SERVICE_ERROR(103099,"鲜丰服务调用失败",null), + GET_FIRST_ORDER(103021,"获取鲜丰首批订货金失败",null) ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanAuditDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanAuditDAO.java index 256975253..367b3a440 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanAuditDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanAuditDAO.java @@ -32,8 +32,8 @@ public class OpeningOperationPlanAuditDAO { return shopAuditInfoMapper.updateByPrimaryKeySelective(shopAuditInfoDO); } - public Byte selectByShopId(Long shopId) { - return shopAuditInfoMapper.selectAuditResultByShopId(shopId); + public Long selectIdByShopId(Long shopId) { + return shopAuditInfoMapper.selectAuditIdByShopId(shopId); } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanDAO.java index 2cebf99b5..e20b07278 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/OpeningOperationPlanDAO.java @@ -28,9 +28,6 @@ public class OpeningOperationPlanDAO { return openingOperationPlanDO.getId(); } - public OpeningOperationPlanDO selectById(Long Id){ - return openingOperationPlanMapper.selectByPrimaryKey(Id); - } public Long updateSelective( OpeningOperationPlanDO openingOperationPlanDO){ openingOperationPlanMapper.updateByPrimaryKeySelective(openingOperationPlanDO); @@ -41,8 +38,8 @@ public class OpeningOperationPlanDAO { return openingOperationPlanMapper.selectByShopId(shopId); } //条件关联查询 - public List selectConditionPlanList(List shopIdList, OpeningOperationPlanDTO openingOperationPlanDTO){ - return openingOperationPlanMapper.selectPlanListByShopId(shopIdList, openingOperationPlanDTO); + public List selectConditionPlanList( OpeningOperationPlanDTO openingOperationPlanDTO){ + return openingOperationPlanMapper.selectPlanListByShopId( openingOperationPlanDTO); } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index 3200a5d80..a8d4438fa 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -13,6 +13,7 @@ import com.github.pagehelper.PageHelper; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -139,9 +140,9 @@ public class ShopInfoDAO { * @Date: 2024/4/24 * @description: 开业运营方案,根据shopname获取列表 */ - public Page getOpenPlanShopListByShopName(String shopName, String bigName, String fightName, Integer pageNum, Integer pageSize){ + public Page getOpenPlanShopListByShopName( List shopIdlist,String shopName, String bigName, String fightName, Integer pageNum, Integer pageSize){ PageHelper.startPage(pageNum, pageSize); - return shopInfoMapper.getOpenPlanShopListByShopName(shopName,bigName,fightName); + return shopInfoMapper.getOpenPlanShopListByShopName(shopIdlist,shopName,bigName,fightName); } public Map getSelectedShopNumMap(List lineIds) { @@ -151,4 +152,20 @@ public class ShopInfoDAO { List selectedShopNum = shopInfoMapper.getSelectedShopNum(lineIds); return selectedShopNum.stream().collect(Collectors.toMap(k->k.getLineId(), v->v.getSelectedShopNum())); } + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description:获取筹建阶段shopid + */ + public List queryShopIdListByStage(){ + return shopInfoMapper.queryShopIdListByStage(); + }; + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description: 根据idlist 获取shopcode + */ + public List queryShopCodeListByid(@Param("shopIdList") List shopIdList){ + return shopInfoMapper.queryShopCodeListByid(shopIdList); + }; } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java index 2e7a52342..3cf4d934c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopStageInfoDAO.java @@ -146,5 +146,7 @@ public class ShopStageInfoDAO { ShopSubStageStatusEnum shopSubStageStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_21; return shopStageInfoMapper.getRentContractToDoPage(userId, shopSubStageStatus.getShopSubStageEnum().getShopSubStage(), shopSubStageStatus.getShopSubStageStatus()); } - + public List getShopIdListByStageStatus(List shopIdList){ + return shopStageInfoMapper.getShopIdListByStageStatus(shopIdList); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OpeningOperationPlanMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OpeningOperationPlanMapper.java index e1568d1f5..a52a1aa24 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OpeningOperationPlanMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/OpeningOperationPlanMapper.java @@ -11,7 +11,6 @@ public interface OpeningOperationPlanMapper extends Mapper selectPlanListByShopId(@Param("shopId") List shopId, - @Param("openingOperationPlanDTO") OpeningOperationPlanDTO openingOperationPlanDTO ); + List selectPlanListByShopId(@Param("openingOperationPlanDTO") OpeningOperationPlanDTO openingOperationPlanDTO ); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java index daf53879a..8ec2861cb 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAuditInfoMapper.java @@ -20,5 +20,5 @@ public interface ShopAuditInfoMapper extends Mapper { * @Date: 2024/4/23 * @description:根据店铺id查询审批结果 */ - Byte selectAuditResultByShopId(@Param("shopId") Long shopId); + Long selectAuditIdByShopId(@Param("shopId") Long shopId); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java index 2e8faf3fa..589f397f9 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopInfoMapper.java @@ -68,8 +68,20 @@ public interface ShopInfoMapper extends Mapper { * @Date: 2024/4/24 * @description: 开业运营方案,根据shopname获取列表 */ - Page getOpenPlanShopListByShopName(@Param("shopName") String shopName, + Page getOpenPlanShopListByShopName(@Param("shopIdlist")List shopIdlist, @Param("shopName") String shopName, @Param("bigName") String bigName, @Param("fightName") String fightName); + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description:获取筹建阶段shopid + */ + List queryShopIdListByStage(); + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description: 根据idlist 获取shopcode + */ + List queryShopCodeListByid(@Param("shopIdList") List shopIdList); List getSelectedShopNum(@Param("lineIds") List lineIds); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java index cd2927c0f..eadd30419 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java @@ -86,4 +86,10 @@ public interface ShopStageInfoMapper extends Mapper { * @return */ Page getRentContractToDoPage(@Param("userId") String userId, @Param("shopSubStage")Integer shopSubStage, @Param("shopSubStageStatus") Integer shopSubStageStatus); -} \ No newline at end of file + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description:获取处于订货金阶段的shopid + */ + List getShopIdListByStageStatus(@Param("shopIdList")List shopIdList); +} diff --git a/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml index a11088de0..68b7c6506 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/OpeningOperationPlanMapper.xml @@ -43,17 +43,15 @@ FROM xfsg_opening_operation_plan op JOIN xfsg_shop_info si ON op.shop_id = si.id where - - - #{shopId} - - - AND DATE(op.create_time) >= #{openingOperationPlanDTO.planStartDate} + op.create_time >= #{openingOperationPlanDTO.planStartDate} - + + + and op.result_type = #{openingOperationPlanDTO.resultType} + diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopAuditInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopAuditInfoMapper.xml index 6fcb5dd9c..d251aa933 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopAuditInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopAuditInfoMapper.xml @@ -39,9 +39,9 @@ id,shop_id,audit_type,submitted_user_id,submitted_user_name,result_type,pass_reason,reject_reason, certify_file,create_time,update_time,deleted - select - result_type + id from xfsg_shop_audit_info where diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml index 0bfd355fd..dab08b229 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopInfoMapper.xml @@ -81,6 +81,12 @@ join xfsg_line_info li on si.line_id = li.id join xfsg_system_building_shop xsbs on si.id = xsbs.big_name where 1=1 + + and si.id in + + #{shopId} + + AND si.shop_name = #{shopName} @@ -92,6 +98,23 @@ + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/FirstOrderDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/FirstOrderDTO.java index c1957debc..f623281d2 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/FirstOrderDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/FirstOrderDTO.java @@ -34,4 +34,7 @@ public class FirstOrderDTO { @ApiModelProperty("更新人") private String updateUserId; + @ApiModelProperty("结果") + private Integer resultType; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpeningOperationPlanDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpeningOperationPlanDTO.java index d1e16e74f..c4c5a3817 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpeningOperationPlanDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/openPreparation/OpeningOperationPlanDTO.java @@ -31,13 +31,13 @@ public class OpeningOperationPlanDTO { private Date submissionTime; @ApiModelProperty("审核结果,0待审核,1通过,2拒绝") - private String resultType; + private Integer resultType; @ApiModelProperty("起始日期") - public LocalDate planStartDate; + public Date planStartDate; @ApiModelProperty("结束日期") - public LocalDate planEndDate; + public Date planEndDate; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/OpeningOperationPlanDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/OpeningOperationPlanDO.java index 4034713c2..5c5b3f35b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/OpeningOperationPlanDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/OpeningOperationPlanDO.java @@ -103,6 +103,11 @@ public class OpeningOperationPlanDO { */ @Column(name = "audit_id") private Long auditId; + /** + * 审核结果状态:0.待审核 1. 通过 2. 拒绝 + */ + @Column(name = "result_type") + private Integer resultType; public Integer getResultType() { return resultType; @@ -112,11 +117,7 @@ public class OpeningOperationPlanDO { this.resultType = resultType; } - /** - * 审核结果状态:0.待审核 1. 通过 2. 拒绝 - */ - @Column(name = "result_type") - private Integer resultType; + diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/PlanListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/PlanListRequest.java index 733f0b22d..d097ddae4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/PlanListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/PlanListRequest.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDate; +import java.util.Date; /** * @Auther: WangShuo @@ -16,15 +17,17 @@ public class PlanListRequest { @ApiModelProperty("店铺名称") private String shopName; @ApiModelProperty("起始日期") - private LocalDate planStartDate; + private Date planStartDate; @ApiModelProperty("结束日期") - private LocalDate planEndDate; + private Date planEndDate; @ApiModelProperty("大区名称") private String bigName; @ApiModelProperty("战区名称") private String fightName; - @ApiModelProperty("分页数据量") - private Integer pageNum; + @ApiModelProperty("审核状态") + private Integer resultType; @ApiModelProperty("页数") + private Integer pageNum; + @ApiModelProperty("分页数据量") private Integer pageSize; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenPreparationFlushVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenPreparationFlushVO.java new file mode 100644 index 000000000..a94bc8c88 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpenPreparationFlushVO.java @@ -0,0 +1,21 @@ +package com.cool.store.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Auther: WangShuo + * @Date: 2024/04/25/下午6:58 + * @Version 1.0 + * @注释: + */ +@Data +public class OpenPreparationFlushVO { + + private Long shopId; + @ApiModelProperty("开业运营方案阶段状态") + private Integer openPlanState; + @ApiModelProperty("首批订货金阶段状态") + private Integer firstOderState; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java index dba1168c0..b0826a89e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanListVO.java @@ -57,5 +57,5 @@ public class OpeningOperationPlanListVO { private Date submissionTime; @ApiModelProperty("审核结果,0待审核,1通过,2拒绝") - private String resultType; + private Integer resultType; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java index ec9d498d8..6d4c0256e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/OpeningOperationPlanVO.java @@ -42,5 +42,5 @@ public class OpeningOperationPlanVO { private String passReason; @ApiModelProperty("审核结果,0待审核,1通过,2拒绝") - private String resultType; + private Integer resultType; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java index c33f3137a..c8b70a6ef 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/CoolStoreStartFlowService.java @@ -38,5 +38,11 @@ public interface CoolStoreStartFlowService { * @Param projectId:项目主键,clientCode:客户编号,pCode:项目编号 */ ResponseResult getStoreDetail(Long projectId,String clientCode,String pCode); + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description:获取订货金 + */ + ResponseResult getFirstOrder(String shopCode); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/OpeningOperationPlanService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/OpeningOperationPlanService.java index 4ffdbe76b..bd7f72ea8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/OpeningOperationPlanService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/OpeningOperationPlanService.java @@ -22,7 +22,7 @@ public interface OpeningOperationPlanService { */ Long savePlan(OpeningOperationPlanRequest openingOperationPlanRequest); - OpeningOperationPlanVO getPlanById(Long ShopId); + OpeningOperationPlanVO getPlanByShopId(Long ShopId); /** * @Auther: wangshuo * @Date: 2024/4/23 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java index befea3e92..7c98e33a4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -1,6 +1,7 @@ package com.cool.store.service; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.request.AddShopRequest; import com.cool.store.request.DeleteShopRequest; import com.cool.store.vo.shop.MiniShopPageVO; @@ -63,5 +64,8 @@ public interface ShopService { */ Long addShop(AddShopRequest request); - + /** + * 获取店铺信息 + */ + ShopInfoDO getShopInfo(Long shopId); } 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 1958e2f5a..84be328b7 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 @@ -67,39 +67,38 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); String url = null; - if (Constants.ONE_INTEGER == type){ + if (Constants.ONE_INTEGER == type) { url = xfsgUrl + Constants.FRANCHISE_AGREEMENT_COMPANY + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); - }else if (Constants.ZERO_INTEGER == type){ + } else if (Constants.ZERO_INTEGER == type) { url = xfsgUrl + Constants.FRANCHISE_AGREEMENT_PERSON + "?timestamp=" + requestMap.get("timestamp") + "&signature=" + requestMap.get("signature"); } InitiatingResponse initiatingResponse = httpRestTemplateService.postForObject(url, request, InitiatingResponse.class); - log.info("franchiseAgreement API response:{}",JSONObject.toJSONString(initiatingResponse)); - if (initiatingResponse.getCode() != 0L){ - return new ResponseResult(500,initiatingResponse.getMsg(),initiatingResponse.getData()); - }else { - return new ResponseResult(200000,initiatingResponse.getMsg(),initiatingResponse.getData()); + log.info("franchiseAgreement API response:{}", JSONObject.toJSONString(initiatingResponse)); + if (initiatingResponse.getCode() != 0L) { + return new ResponseResult(500, initiatingResponse.getMsg(), initiatingResponse.getData()); + } else { + return new ResponseResult(200000, initiatingResponse.getMsg(), initiatingResponse.getData()); } } @Override - public ResponseResult getProjectList(String shopCode) { + public ResponseResult getProjectList(String shopCode) { log.info("getProjectList param:{}", shopCode); if (Objects.isNull(shopCode)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } String url = String.format(Constants.GET_PROJECT_LIST, shopCode); - log.info("CoolStoreStartFlowServiceImpl#getOrder, url:{}",url); + log.info("CoolStoreStartFlowServiceImpl#getOrder, url:{}", url); try { JSONObject jsonObject = httpRestTemplateService.getForObject(url, JSONObject.class, new HashMap<>()); - log.info("CoolStoreStartFlowServiceImpl#getOrder,jsonObject:{}",jsonObject.toJSONString()); + log.info("CoolStoreStartFlowServiceImpl#getOrder,jsonObject:{}", jsonObject.toJSONString()); if (jsonObject.get("status").equals(Constants.SUCCESS)) { - return new ResponseResult(200,jsonObject.get("data").toString(),jsonObject.get("msg").toString()); - }else - { - return new ResponseResult(500,jsonObject.get("msg").toString()); + return new ResponseResult(200, jsonObject.get("data").toString(), jsonObject.get("msg").toString()); + } else { + return new ResponseResult(500, jsonObject.get("msg").toString()); } - }catch (Exception e){ - log.info("调用鲜丰服务异常,getProjectList error:{}",e); + } catch (Exception e) { + log.info("调用鲜丰服务异常,getProjectList error:{}", e); throw new ServiceException(ErrorCodeEnum.XFSG_SERVICE_ERROR); } @@ -107,8 +106,8 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService @Override public ResponseResult getStoreDetail(Long projectId, String clientCode, String pCode) { - log.info("getStoreList projectId:{},clientCode:{},pCode:{}", projectId,clientCode,pCode); - if (Objects.isNull(projectId)&&Objects.isNull(clientCode)&&Objects.isNull(pCode)) { + log.info("getStoreList projectId:{},clientCode:{},pCode:{}", projectId, clientCode, pCode); + if (Objects.isNull(projectId) && Objects.isNull(clientCode) && Objects.isNull(pCode)) { throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); } HashMap requestMap = new HashMap(); @@ -117,20 +116,40 @@ public class CoolStoreStartFlowServiceImpl implements CoolStoreStartFlowService requestMap.put("pCode", pCode); try { JSONObject jsonObject = httpRestTemplateService.getForObject(Constants.GET_PROJECT_DETAIL, JSONObject.class, requestMap); - log.info("FirstOrderServiceImp#getStoreDetail, jsonObject:{}",jsonObject.toJSONString()); + log.info("FirstOrderServiceImp#getStoreDetail, jsonObject:{}", jsonObject.toJSONString()); if (jsonObject.get("status").equals(Constants.SUCCESS)) { - return new ResponseResult(200,jsonObject.get("data").toString(),jsonObject.get("msg").toString()); - }else - { - return new ResponseResult(500,jsonObject.get("msg").toString()); + return new ResponseResult(200, jsonObject.get("data").toString(), jsonObject.get("msg").toString()); + } else { + return new ResponseResult(500, jsonObject.get("msg").toString()); } - }catch (Exception e){ - log.info("调用鲜丰服务异常,getProjectList error:{}",e); + } catch (Exception e) { + log.info("调用鲜丰服务异常,getProjectList error:{}", e); throw new ServiceException(ErrorCodeEnum.XFSG_SERVICE_ERROR); } } + @Override + public ResponseResult getFirstOrder(String shopCode) { + log.info("getFirstOrder shopCode:{}", shopCode); + if (Objects.isNull(shopCode)) { + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + try { + String url = xfsgUrl + Constants.FRANCHISEE_STORE_NUM + "?storeCode=" + shopCode; + JSONObject jsonObject = httpRestTemplateService.getForObject(url, JSONObject.class, new HashMap<>()); + log.info("get url:{},jsonObject:{}", url, jsonObject); + String string = jsonObject.getString("data"); + if (string == null) { + throw new ServiceException(ErrorCodeEnum.GET_FIRST_ORDER); + } + return ResponseResult.success(string); + } catch (Exception e) { + log.error("获取鲜丰订货金异常", e); + throw new ServiceException(ErrorCodeEnum. GET_FIRST_ORDER); + } + } + private void fillSignatureInfo(Map requestMap) { long timestamp = System.currentTimeMillis(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FirstOrderServiceImp.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FirstOrderServiceImp.java index bfed20e23..cd7b29885 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FirstOrderServiceImp.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FirstOrderServiceImp.java @@ -1,20 +1,30 @@ package com.cool.store.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.cool.store.context.CurrentUserHolder; import com.cool.store.dao.FirstOrderDAO; +import com.cool.store.dao.OpeningOperationPlanAuditDAO; +import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.dto.openPreparation.FirstOrderDTO; import com.cool.store.entity.FirstOrderDO; +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.AuditResultTypeEnum; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; +import com.cool.store.mq.util.HttpRestTemplateService; import com.cool.store.response.ResponseResult; import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.FirstOrderService; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import com.cool.store.service.PreparationService; +import com.cool.store.service.ShopService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import java.util.Date; @@ -30,37 +40,72 @@ import java.util.Date; public class FirstOrderServiceImp implements FirstOrderService { @Resource private FirstOrderDAO firstOrderDAO; - + @Value("${xfsg.url}") + private String xfsgUrl; @Resource - CoolStoreStartFlowService coolStoreStartFlowService; + private PreparationService preparationService; + ; + @Resource + private HttpRestTemplateService httpRestTemplateService; + @Resource + private ShopService shopService; + @Resource + private OpeningOperationPlanAuditDAO openingOperationPlanAuditDAO; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private CoolStoreStartFlowService coolStoreStartFlowService; + @Override public Integer saveOrder(FirstOrderDO order) { String userId = CurrentUserHolder.getUserId(); - log.info("save order:{}",JSONObject.toJSONString(order)); - if (order == null ) { - throw new ServiceException(ErrorCodeEnum.FIRST_ORDER_PARAM_NULL); + log.info("save order:{}", JSONObject.toJSONString(order)); + if (order == null) { + throw new ServiceException(ErrorCodeEnum.FIRST_ORDER_PARAM_NULL); } FirstOrderDTO firstOrderDTO = firstOrderDAO.selectFirstOrderByShopId(order.getShopId()); if (firstOrderDTO == null) { + //第一次提交 order.setCreateTime(new Date()); order.setUpdateTime(new Date()); order.setCreateUserId(userId); order.setUpdateUserId(userId); } else { + //修改提交 order.setUpdateTime(new Date()); order.setUpdateUserId(userId); } - return firstOrderDAO.insertFirstOrder(order); + Integer flag = firstOrderDAO.insertFirstOrder(order); + //云立方同步 + if (flag > 0) { + try { + ShopInfoDO shopInfo = shopService.getShopInfo(order.getShopId()); + String shopCode = shopInfo.getShopCode(); + String data = coolStoreStartFlowService.getFirstOrder(shopCode).getData().toString(); + log.info("saveOrder,data:{}", data); + if (data == null) { + throw new ServiceException(ErrorCodeEnum.GET_FIRST_ORDER); + } + if (data.equals("true")) { + //更改子阶段状态 + shopStageInfoDAO.updateShopStageAndAuditInfo(order.getShopId(), + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151, null); + preparationService.whetherToOpenForAcceptance(order.getShopId()); + } + } catch (Exception e) { + log.error("获取鲜丰订货金异常", e); + } + } + return flag; } @Override public FirstOrderDTO getOrder(Long shopId) { - log.info("get order:{}",shopId); + log.info("getOrder shopId:{},", shopId); if (shopId == null) { - log.error("shopId is null"); - throw new ServiceException(ErrorCodeEnum.FIRST_ORDER_PARAM_NULL); + log.error("shopId/shopCode is null"); + throw new ServiceException(ErrorCodeEnum.FIRST_ORDER_PARAM_NULL); } return firstOrderDAO.selectFirstOrderByShopId(shopId); - } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanAuditImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanAuditImpl.java index bbf24ed11..c7b03cf42 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanAuditImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanAuditImpl.java @@ -4,6 +4,7 @@ package com.cool.store.service.impl; import com.cool.store.context.CurrentUserHolder; import com.cool.store.dao.OpeningOperationPlanAuditDAO; import com.cool.store.dao.OpeningOperationPlanDAO; +import com.cool.store.dao.ShopAuditInfoDAO; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.OpeningOperationPlanDO; import com.cool.store.entity.ShopAuditInfoDO; @@ -13,6 +14,7 @@ import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.OpeningOperationPlanAuditRequest; import com.cool.store.service.OpeningOperationPlanAuditService; +import com.cool.store.service.PreparationService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -37,6 +39,8 @@ public class OpeningOperationPlanAuditImpl implements OpeningOperationPlanAuditS private OpeningOperationPlanDAO openingOperationPlanDAO; @Resource private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private PreparationService preparationService; @Override public Long addNewPlanAudit(OpeningOperationPlanAuditRequest request) { @@ -49,51 +53,54 @@ public class OpeningOperationPlanAuditImpl implements OpeningOperationPlanAuditS @Override @Transactional(rollbackFor = Exception.class) public Boolean auditPlan(OpeningOperationPlanAuditRequest request) { - log.info("auditPlan request:{}", request); - if (Objects.isNull(request.getId())) - { - log.error("auditPlan request id is null"); - throw new ServiceException("auditPlan request id is null"); - } + log.info("auditPlan request:{}", request); + if (Objects.isNull(request.getId())) { + log.error("auditPlan request id is null"); + throw new ServiceException("auditPlan request id is null"); + } String userId = CurrentUserHolder.getUserId(); - try{ - Integer audit = openingOperationPlanAuditDAO.updateSelective(request.toShopAuditInfoDO()); - if (Objects.isNull(audit)){ - log.error("auditPlan audit is null"); - throw new ServiceException(ErrorCodeEnum.UPDATE_AUDIT_PLAN_FALSE); - } - OpeningOperationPlanDO openingOperationPlanDO = new OpeningOperationPlanDO(); - openingOperationPlanDO.setUpdateUserId(userId); - openingOperationPlanDO.setUpdateTime(new Date()); - openingOperationPlanDO.setResultType(request.getResultType()); - Long plan = openingOperationPlanDAO.updateSelective(openingOperationPlanDO); - if (Objects.isNull(plan)){ - log.error("auditPlan plan is null"); - throw new ServiceException(ErrorCodeEnum.UPDATE_PLAN_FALSE); - } - - if (request.getResultType().equals(OpeningOperationPlanResultTypeEnum.PASS_AUDIT.getCode())){ - Integer Stage = shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143, request.getShopId()); - if (Objects.isNull(Stage)){ + try { + Integer audit = openingOperationPlanAuditDAO.updateSelective(request.toShopAuditInfoDO()); + if (Objects.isNull(audit)) { + log.error("auditPlan audit is null"); + throw new ServiceException(ErrorCodeEnum.UPDATE_AUDIT_PLAN_FALSE); + } + Long auditId = openingOperationPlanAuditDAO.selectIdByShopId(request.getShopId()); + OpeningOperationPlanDO openingOperationPlanDO = new OpeningOperationPlanDO(); + openingOperationPlanDO.setUpdateUserId(userId); + openingOperationPlanDO.setUpdateTime(new Date()); + openingOperationPlanDO.setResultType(request.getResultType()); + Long plan = openingOperationPlanDAO.updateSelective(openingOperationPlanDO); + if (Objects.isNull(plan)) { + log.error("auditPlan plan is null"); + throw new ServiceException(ErrorCodeEnum.UPDATE_PLAN_FALSE); + } + if (request.getResultType().equals(OpeningOperationPlanResultTypeEnum.PASS_AUDIT.getCode())) { + //更改子阶段 + Integer Stage = shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_143, auditId); + if (Objects.isNull(Stage)) { log.error("auditPlan stage is null"); - throw new ServiceException(ErrorCodeEnum.UPDATE_SHOP_SUB_STAGE_STATUS_FALSE); + throw new ServiceException(ErrorCodeEnum.UPDATE_SHOP_SUB_STAGE_STATUS_FALSE); } - }else { - if (request.getResultType().equals(OpeningOperationPlanResultTypeEnum.REJECT_AUDIT.getCode())){ - Integer Stage = shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_142, request.getShopId()); - if (Objects.isNull(Stage)){ - log.error("auditPlan stage is null"); - throw new ServiceException(ErrorCodeEnum.UPDATE_SHOP_SUB_STAGE_STATUS_FALSE); - } - } - } - return Boolean.TRUE; - } - catch (Exception e) { - log.error("auditPlan Exception:{}", e); - e.printStackTrace(); - return Boolean.FALSE; - } + preparationService.whetherToOpenForAcceptance(request.getShopId()); + } else { + if (request.getResultType().equals(OpeningOperationPlanResultTypeEnum.REJECT_AUDIT.getCode())) { + //更改子阶段 + Integer Stage = shopStageInfoDAO.updateShopStageAndAuditInfo(request.getShopId(), + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_142, auditId); + if (Objects.isNull(Stage)) { + log.error("auditPlan stage is null"); + throw new ServiceException(ErrorCodeEnum.UPDATE_SHOP_SUB_STAGE_STATUS_FALSE); + } + } + } + return Boolean.TRUE; + } catch (Exception e) { + log.error("auditPlan Exception:{}", e); + e.printStackTrace(); + return Boolean.FALSE; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java index 7f260c02e..add8ac3bf 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/OpeningOperationPlanImpl.java @@ -124,15 +124,16 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService { } @Override - public OpeningOperationPlanVO getPlanById(Long Id) { - log.info( "getPlanBy Id:{}", Id ); - if (Objects.isNull(Id)){ - log.error("getPlanBy Id is null"); - throw new ServiceException(ErrorCodeEnum.ID_IS_NULL); + public OpeningOperationPlanVO getPlanByShopId(Long shopId) { + log.info( "getPlanBy shopId:{}", shopId ); + if (Objects.isNull(shopId)){ + log.error(" getPlanByShopId shopId is null"); + throw new ServiceException(ErrorCodeEnum.SHOP_ID_IS_NULL); } OpeningOperationPlanVO openingOperationPlanVO = new OpeningOperationPlanVO(); - OpeningOperationPlanDO openingOperationPlanDO = openingOperationPlanDAO.selectById(Id); + OpeningOperationPlanDO openingOperationPlanDO = openingOperationPlanDAO.selectByShopId(shopId); try { + if ((openingOperationPlanDO!=null)){ String preparationUserIds = openingOperationPlanDO.getPreparationUserIds(); List stream = Arrays.stream(preparationUserIds.split(CommonConstants.COMMA)).collect(Collectors.toList()); List nameByUserId = enterpriseUserDAO.getNameByUserId(stream); @@ -143,45 +144,44 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService { BeanUtils.copyProperties(openingOperationPlanDO, openingOperationPlanVO); openingOperationPlanVO.setPreparationUsers(preparationUserName); return openingOperationPlanVO; + } } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); return null; } + return openingOperationPlanVO; } @Override public List getPlanListPage(PlanListRequest request) { log.info("getPlanListPage request:{}", JSONObject.toJSONString(request)); - //根据ShopName等查询门店名字1,门店代码1,开店负责人1,督导id1 - Page openPlanShopList = shopInfoDAO. - getOpenPlanShopListByShopName(request.getShopName(), request.getBigName(), request.getFightName(), - request.getPageNum(), request.getPageSize()); - log.info("getPlanListPage openPlanShopList:{}",JSONObject.toJSONString(openPlanShopList) ); - List openingOperationPlanListVOList= openPlanShopList.stream().map(dto -> { - OpeningOperationPlanListVO vO = new OpeningOperationPlanListVO(); - vO.setShopId(dto.getShopId()); - vO.setLineId(dto.getLineId()); - vO.setShopName(dto.getShopName()); - vO.setShopManagerUserId(dto.getShopManagerUserId()); - vO.setSupervisorUserId(dto.getSupervisorUserId()); - vO.setShopCode(dto.getShopCode()); - vO.setBigName(dto.getBigName()); - vO.setFightName(dto.getFightName()); - return vO; - }).collect(Collectors.toList()); - log.info("getPlanListPage openingOperationPlanVOList:{}", JSONObject.toJSONString(openingOperationPlanListVOList) ); - //提交时间,审核状态 - List shopIdList = openPlanShopList.stream() - .map(OpenPlanShopInfoDTO::getShopId) - .collect(Collectors.toList()); + //shopId,提交时间,审核状态 OpeningOperationPlanDTO openingOperationPlanDTO =new OpeningOperationPlanDTO(); openingOperationPlanDTO.setPlanStartDate(request.getPlanStartDate()); openingOperationPlanDTO.setPlanEndDate(request.getPlanEndDate()); - List openingOperationPlanDTOS = openingOperationPlanDAO.selectConditionPlanList(shopIdList, openingOperationPlanDTO); + openingOperationPlanDTO.setResultType(request.getResultType()); + List openingOperationPlanDTOS = openingOperationPlanDAO.selectConditionPlanList(openingOperationPlanDTO); log.info("getPlanListPage openingOperationPlanDTOS:{}",JSONObject.toJSONString(openingOperationPlanDTOS) ); - Map voPlanMap = openingOperationPlanDTOS.stream() - .collect(Collectors.toMap(OpeningOperationPlanDTO::getShopId, vo -> vo)); - log.info("getPlanListPage voPlanMap:{}",JSONObject.toJSONString(voPlanMap) ); + //包装VO + List openingOperationPlanListVOList = openingOperationPlanDTOS.stream().map(dto->{ + OpeningOperationPlanListVO vO = new OpeningOperationPlanListVO(); + vO.setShopId(dto.getShopId()); + vO.setSubmissionTime(dto.getSubmissionTime()); + vO.setResultType(dto.getResultType()); + return vO; + }).collect(Collectors.toList()); + log.info("getPlanListPage openingOperationPlanVOList:{}", JSONObject.toJSONString(openingOperationPlanListVOList) ); + List shopIdlist = openingOperationPlanDTOS.stream().map(OpeningOperationPlanDTO::getShopId) + .collect(Collectors.toList()); + log.info("getPlanListPage shopIdlist:{}",JSONObject.toJSONString(shopIdlist) ); + //根据ShopName等查询门店名字1,门店代码1,开店负责人id1,督导id1,大区名称,战区名称,线索id + Page openPlanShopList = shopInfoDAO. + getOpenPlanShopListByShopName(shopIdlist,request.getShopName(), request.getBigName(), request.getFightName(), + request.getPageNum(), request.getPageSize()); + log.info("getPlanListPage openPlanShopList:{}",JSONObject.toJSONString(openPlanShopList) ); + Map shopInfoMap = openPlanShopList.stream() + .collect(Collectors.toMap(OpenPlanShopInfoDTO::getShopId, vo -> vo)); + log.info("getPlanListPage shopInfoMap:{}", JSONObject.toJSONString(shopInfoMap) ); //开店负责人name List shopManagerUserIdList = openPlanShopList.stream() .map(OpenPlanShopInfoDTO::getShopManagerUserId) @@ -210,8 +210,11 @@ public class OpeningOperationPlanImpl implements OpeningOperationPlanService { .collect(Collectors.toMap(PlanLineDTO::getLineId, vo -> vo)); log.info("getPlanListPage linemap:{}",JSONObject.toJSONString(linemap) ); for (OpeningOperationPlanListVO vo:openingOperationPlanListVOList){ - vo.setSubmissionTime(voPlanMap.get(vo.getShopId()).getSubmissionTime()); - vo.setResultType(voPlanMap.get(vo.getShopId()).getResultType()); + vo.setLineId(shopInfoMap.get(vo.getShopId()).getLineId()); + vo.setShopName(shopInfoMap.get(vo.getShopId()).getShopName()); + vo.setShopCode(shopInfoMap.get(vo.getShopId()).getShopCode()); + vo.setBigName(shopInfoMap.get(vo.getShopId()).getBigName()); + vo.setFightName(shopInfoMap.get(vo.getShopId()).getFightName()); vo.setShopManagerName(voManagerMap.get(vo.getShopId()).getName()); vo.setSupervisorName(voSupervisorList.get(vo.getSupervisorUserId()).getName()); vo.setPartnerName(linemap.get(vo.getLineId()).getInvestmentManagerName()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index bed190298..510de6299 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java @@ -145,4 +145,10 @@ public class ShopServiceImpl implements ShopService { shopStageInfoDAO.initShopStageInfo(lineInfo.getId(), shopIds); return 1L; } + + @Override + public ShopInfoDO getShopInfo(Long shopId) { + + return shopInfoDAO.getShopInfo(shopId); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java index 7267f999c..11437a060 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/utils/poi/constant/Constants.java @@ -191,5 +191,6 @@ public class Constants public static final String GET_PROJECT_LIST = "https://hzly.cloudcubic.net/ajaxHandle/synchronization/JCallBackSynchronizationHandler.ashx?action=app&controller=GetProjectByCustomLable&remark=%s"; public static final String GET_PROJECT_DETAIL= "https://hzly.cloudcubic.net/ajaxHandle/synchronization/JCallBackSynchronizationHandler.ashx?action=app&controller=GetProjectDetails"; + public static final String FIRST_ORDER = "/api/kdz/get-store-balance"; } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/FirstOrderController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/FirstOrderController.java deleted file mode 100644 index 12ef1469a..000000000 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/FirstOrderController.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.cool.store.controller.webb; - -import com.alibaba.fastjson.JSONObject; -import com.cool.store.dto.openPreparation.FirstOrderDTO; -import com.cool.store.entity.FirstOrderDO; -import com.cool.store.mq.util.HttpRestTemplateService; -import com.cool.store.request.FirstOrderRequest; -import com.cool.store.response.ResponseResult; -import com.cool.store.service.FirstOrderService; -import com.cool.store.utils.poi.constant.Constants; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.beanutils.BeanUtils; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.lang.reflect.InvocationTargetException; -import java.util.HashMap; - -/** - * @Auther: WangShuo - * @Date: 2024/04/24/下午9:22 - * @Version 1.0 - * @注释: - */ -@RestController -@RequestMapping("/pc/firstOrder") -@Api(tags = "PC首批订货金") -@Slf4j -public class FirstOrderController { - - @Resource - private FirstOrderService firstOrderService; - - @GetMapping("/get") - public ResponseResult get(@RequestParam("shopId") Long shopId) { - FirstOrderDTO order = firstOrderService.getOrder(shopId); - return ResponseResult.success(order); - } - @PostMapping("/submit") - public ResponseResult getSubmit(@RequestBody FirstOrderRequest request) { - FirstOrderDO firstOrderDO = new FirstOrderDO(); - try { - BeanUtils.copyProperties(firstOrderDO,request ); - firstOrderService.saveOrder(firstOrderDO); - return ResponseResult.success(); - } catch (IllegalAccessException |InvocationTargetException e) { - throw new RuntimeException(e); - } - - } -} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java new file mode 100644 index 000000000..871c4b06f --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenPreparationController.java @@ -0,0 +1,144 @@ +package com.cool.store.controller.webb; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.ShopStageInfoDAO; +import com.cool.store.dto.openPreparation.FirstOrderDTO; +import com.cool.store.entity.FirstOrderDO; +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.AuditStatusEnum; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.request.FirstOrderRequest; +import com.cool.store.request.OpeningOperationPlanAuditRequest; +import com.cool.store.request.OpeningOperationPlanRequest; +import com.cool.store.request.PlanListRequest; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.*; +import com.cool.store.vo.OpenPreparationFlushVO; +import com.cool.store.vo.OpeningOperationPlanListVO; +import com.cool.store.vo.OpeningOperationPlanVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.beanutils.BeanUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.lang.reflect.InvocationTargetException; +import java.util.List; + +/** + * @Auther: WangShuo + * @Date: 2024/04/25/下午6:35 + * @Version 1.0 + * @注释: + */ +@RestController +@RequestMapping("/pc/OpenPreparation") +@Api(tags = "pc开业筹备") +@Slf4j +public class OpenPreparationController { + + @Resource + private CoolStoreStartFlowService coolStoreStartFlowService; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private FirstOrderService firstOrderService; + @Resource + private ShopService shopService; + @Resource + private PreparationService preparationService; + @Resource + private OpeningOperationPlanService openingOperationPlanService; + @Resource + private OpeningOperationPlanAuditService openingOperationPlanAuditService; + + @GetMapping("/flush") + public ResponseResult flush(@RequestParam("shopId") Long shopId) { + ShopStageInfoDO planStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_14); + log.info("flush shopStageInfo:{}", planStageInfo); + ShopStageInfoDO orderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15); + try { + if (!orderStageInfo.getShopSubStageStatus(). + equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus())) { + ShopInfoDO shopInfo = shopService.getShopInfo(shopId); + String shopCode = shopInfo.getShopCode(); + String data = coolStoreStartFlowService.getFirstOrder(shopCode).getData().toString(); + log.info("saveOrder,data:{}", data); + if (data == null) { + throw new ServiceException(ErrorCodeEnum.GET_FIRST_ORDER); + } + if (data.equals("true")) { + //更改子阶段状态 + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151, null); + preparationService.whetherToOpenForAcceptance(shopId); + } + } + + } catch (Exception e) { + log.error("获取鲜丰订货金异常", e); + } + ShopStageInfoDO firstOrderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15); + log.info("flush orderStageInfo:{}", orderStageInfo); + OpenPreparationFlushVO flushVO = new OpenPreparationFlushVO(); + flushVO.setShopId(shopId); + flushVO.setOpenPlanState(planStageInfo.getShopSubStageStatus()); + flushVO.setFirstOderState(firstOrderStageInfo.getShopSubStageStatus()); + return ResponseResult.success(flushVO); + } + + @PostMapping("/openingOperationPlan/submit") + @ApiOperation("提交开业运营方案") + public ResponseResult submitPlan(@RequestBody OpeningOperationPlanRequest request) { + openingOperationPlanService.savePlan(request); + return ResponseResult.success(); + } + + @GetMapping("/openingOperationPlan/getPlan") + @ApiOperation("查询开业运营方案") + public ResponseResult getPlan(@RequestParam("shopId") Long shopId) { + OpeningOperationPlanVO plan = openingOperationPlanService.getPlanByShopId(shopId); + log.info("openingOperationPlan,getPlan:{}", JSONObject.toJSONString(plan)); + return ResponseResult.success(plan); + + } + + @PostMapping("/openingOperationPlan/audit") + @ApiOperation("审核运营方案") + public ResponseResult auditPlan(@RequestBody OpeningOperationPlanAuditRequest request) { + openingOperationPlanAuditService.auditPlan(request); + return ResponseResult.success(); + } + + @GetMapping("/openingOperationPlan/planList") + @ApiOperation("查询运营方案列表") + public ResponseResult> planList(@RequestBody PlanListRequest request) { + openingOperationPlanService.getPlanListPage(request); + return ResponseResult.success(openingOperationPlanService.getPlanListPage(request)); + } + + @GetMapping("/firstOrder/get") + @ApiOperation("查询订货金") + public ResponseResult get(@RequestParam("shopId") Long shopId) { + FirstOrderDTO order = firstOrderService.getOrder(shopId); + return ResponseResult.success(order); + } + + @PostMapping("/firstOrder/submit") + @ApiOperation("提交订货金") + public ResponseResult submit(@RequestBody FirstOrderRequest request) { + FirstOrderDO firstOrderDO = new FirstOrderDO(); + try { + BeanUtils.copyProperties(firstOrderDO, request); + firstOrderService.saveOrder(firstOrderDO); + return ResponseResult.success(); + } catch (IllegalAccessException | InvocationTargetException e) { + throw new RuntimeException(e); + } + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpeningOperationPlanController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpeningOperationPlanController.java deleted file mode 100644 index c43bf1c27..000000000 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpeningOperationPlanController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.cool.store.controller.webb; - -import com.cool.store.mapper.OpeningOperationPlanMapper; -import com.cool.store.request.OpeningOperationPlanAuditRequest; -import com.cool.store.request.OpeningOperationPlanRequest; -import com.cool.store.request.PlanListRequest; -import com.cool.store.response.ResponseResult; -import com.cool.store.service.OpeningOperationPlanAuditService; -import com.cool.store.service.OpeningOperationPlanService; -import com.cool.store.vo.OpeningOperationPlanListVO; -import com.cool.store.vo.OpeningOperationPlanVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; - -/** - * @Auther: WangShuo - * @Date: 2024/04/22/下午5:28 - * @Version 1.0 - * @注释: - */ -@RestController -@RequestMapping("pc/openingOperationPlan") -@Api(tags = "开业运营方案") -public class OpeningOperationPlanController { - - @Resource - private OpeningOperationPlanService openingOperationPlanService; - @Resource - private OpeningOperationPlanAuditService openingOperationPlanAuditService; - - @PostMapping("/submit") - @ApiOperation("提交开业运营方案") - public ResponseResult submitPlan(@RequestBody OpeningOperationPlanRequest request){ - Long planId = openingOperationPlanService.savePlan(request); - return ResponseResult.success(); - } - @GetMapping("/getPlan") - @ApiOperation("查询开业运营方案") - public ResponseResult getPlan(@RequestParam Long planId){ - OpeningOperationPlanVO plan = openingOperationPlanService.getPlanById(planId); - return ResponseResult.success(plan); - } - @PostMapping("/audit") - @ApiOperation("审核运营方案") - public ResponseResult auditPlan(@RequestBody OpeningOperationPlanAuditRequest request){ - openingOperationPlanAuditService.auditPlan(request); - return ResponseResult.success(); - } - @GetMapping("/planList") - @ApiOperation("查询运营方案列表") - public ResponseResult> planList(@RequestBody PlanListRequest request){ - openingOperationPlanService.getPlanListPage(request); - return ResponseResult.success(openingOperationPlanService.getPlanListPage(request)); - } - -} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpenPreparationController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpenPreparationController.java new file mode 100644 index 000000000..350eb6ef3 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpenPreparationController.java @@ -0,0 +1,112 @@ +package com.cool.store.controller.webc; + +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.ShopStageInfoDAO; +import com.cool.store.dto.openPreparation.FirstOrderDTO; +import com.cool.store.entity.ShopInfoDO; +import com.cool.store.entity.ShopStageInfoDO; +import com.cool.store.enums.AuditStatusEnum; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.point.ShopSubStageEnum; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.exception.ServiceException; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.*; +import com.cool.store.vo.OpenPreparationFlushVO; +import com.cool.store.vo.OpeningOperationPlanVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * @Auther: WangShuo + * @Date: 2024/04/25/下午7:07 + * @Version 1.0 + * @注释: + */ +@RestController +@RequestMapping("/mini/OpenPreparation") +@Api(tags = "mini开业筹备") +@Slf4j +public class MiniOpenPreparationController { + @Resource + private OpeningOperationPlanService openingOperationPlanService; + @Resource + private OpeningOperationPlanAuditService openingOperationPlanAuditService; + @Resource + private CoolStoreStartFlowService coolStoreStartFlowService; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private FirstOrderService firstOrderService; + @Resource + private ShopService shopService; + @Resource + private PreparationService preparationService; + + @GetMapping("/openingOperationPlan/getPlan") + @ApiOperation("查询开业运营方案") + public ResponseResult getPlan(@RequestParam("shopId") Long shopId) { + OpeningOperationPlanVO plan = openingOperationPlanService.getPlanByShopId(shopId); + log.info("MiniOpeningOperationPlanController#getPlan:{}", JSONObject.toJSONString(plan)); + if (plan == null) { + log.info("运营方案未上传"); + return ResponseResult.success(null); + } + if (plan.getResultType().equals(AuditStatusEnum.PASS.getCode())) { + return ResponseResult.success(plan); + } else { + log.info("运营方案待审核或未通过"); + return ResponseResult.success(null); + } + } + + @GetMapping("/firstOrder/get") + @ApiOperation("查询订货金") + public ResponseResult get(@RequestParam("shopId") Long shopId) { + FirstOrderDTO order = firstOrderService.getOrder(shopId); + ShopStageInfoDO firstOrderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15); + order.setResultType(firstOrderStageInfo.getShopSubStageStatus()); + return ResponseResult.success(order); + } + + @GetMapping("/firstOrder/flush") + public ResponseResult flush(@RequestParam Long shopId) { + ShopStageInfoDO orderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15); + try { + if (!orderStageInfo.getShopSubStageStatus(). + equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151.getShopSubStageStatus())) { + ShopInfoDO shopInfo = shopService.getShopInfo(shopId); + String shopCode = shopInfo.getShopCode(); + String data = coolStoreStartFlowService.getFirstOrder(shopCode).getData().toString(); + log.info("saveOrder,data:{}", data); + if (data == null) { + throw new ServiceException(ErrorCodeEnum.GET_FIRST_ORDER); + } + if (data.equals("true")) { + //更改子阶段状态 + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, + ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151, null); + preparationService.whetherToOpenForAcceptance(shopId); + } + } + } catch (Exception e) { + log.error("获取鲜丰订货金异常", e); + } + ShopStageInfoDO firstOrderStageInfo = shopStageInfoDAO.getShopSubStageInfo(shopId, ShopSubStageEnum.SHOP_STAGE_15); + log.info("flush orderStageInfo:{}", firstOrderStageInfo); + OpenPreparationFlushVO flushVO = new OpenPreparationFlushVO(); + flushVO.setShopId(shopId); + flushVO.setFirstOderState(firstOrderStageInfo.getShopSubStageStatus()); + return ResponseResult.success(flushVO); + } + + +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpeningOperationPlanController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpeningOperationPlanController.java deleted file mode 100644 index 9826b3422..000000000 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniOpeningOperationPlanController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.cool.store.controller.webc; - -import com.cool.store.response.ResponseResult; -import com.cool.store.service.OpeningOperationPlanAuditService; -import com.cool.store.service.OpeningOperationPlanService; -import com.cool.store.vo.OpeningOperationPlanVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Auther: WangShuo - * @Date: 2024/04/24/下午7:32 - * @Version 1.0 - * @注释: - */ -@RestController -@RequestMapping("/mini/openingOperationPlan") -@Api(tags = "开业运营方案操作") -@Slf4j -public class MiniOpeningOperationPlanController { - @Resource - private OpeningOperationPlanService openingOperationPlanService; - @Resource - private OpeningOperationPlanAuditService openingOperationPlanAuditService; - @GetMapping("/getPlan") - @ApiOperation("查询开业运营方案") - public ResponseResult getPlan(@RequestParam Long planId){ - - OpeningOperationPlanVO plan = openingOperationPlanService.getPlanById(planId); - return ResponseResult.success(plan); - } -} 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 2585c5210..53287b214 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 @@ -1,23 +1,29 @@ package com.cool.store.job; -import com.cool.store.dao.LineInfoDAO; -import com.cool.store.dao.LineInterviewDAO; +import com.alibaba.fastjson.JSONObject; +import com.cool.store.dao.*; +import com.cool.store.dto.openPreparation.OpenPlanShopInfoDTO; import com.cool.store.entity.LeaseBaseInfoDO; import com.cool.store.entity.LineInterviewDO; -import com.cool.store.enums.InterviewStatusEnum; -import com.cool.store.enums.WorkflowStageEnum; -import com.cool.store.enums.WorkflowSubStageEnum; -import com.cool.store.enums.WorkflowSubStageStatusEnum; +import com.cool.store.enums.*; +import com.cool.store.enums.point.ShopSubStageStatusEnum; +import com.cool.store.exception.ServiceException; import com.cool.store.mapper.LineInfoMapper; import com.cool.store.mapper.TrainingExperienceMapper; +import com.cool.store.mq.util.HttpRestTemplateService; +import com.cool.store.service.PreparationService; +import com.cool.store.utils.poi.constant.Constants; import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Slf4j @@ -27,15 +33,24 @@ public class XxlJobHandler { @Resource TrainingExperienceMapper trainingExperienceMapper; - + @Value("${xfsg.url}") + private String xfsgUrl; + @Resource + private HttpRestTemplateService httpRestTemplateService; @Resource LineInfoMapper lineInfoMapper; - + @Resource + private PreparationService preparationService; @Resource private LineInterviewDAO lineInterviewDAO; @Resource private LineInfoDAO lineInfoDAO; - + @Resource + private ShopInfoDAO shopInfoDAO; + @Resource + private ShopStageInfoDAO shopStageInfoDAO; + @Resource + private OpeningOperationPlanAuditDAO openingOperationPlanAuditDAO; /** * 每天都将待体验门店信息变更到体验中 */ @@ -72,4 +87,41 @@ public class XxlJobHandler { lineInterviewDAO.batchUpdateInterviewStatus(interviewIds, InterviewStatusEnum.WAIT_AUDIT); XxlJobHelper.handleSuccess(); } + /** + * @Auther: wangshuo + * @Date: 2024/4/25 + * @description:每天查询更新订货金 + */ + @XxlJob("updateFirstOrder") + public void updateFirstOrder() { + log.info("----查询更新订货金----"); + List shopIdListByStage = shopInfoDAO.queryShopIdListByStage(); + if (CollectionUtils.isEmpty(shopIdListByStage)) { + log.info("------今日没有待更新数据------"); + return; + } + List shopIdListByStageStatus = shopStageInfoDAO.getShopIdListByStageStatus(shopIdListByStage); + List openPlanShopInfoDTOS = shopInfoDAO.queryShopCodeListByid(shopIdListByStageStatus); + Map map = openPlanShopInfoDTOS.stream(). + collect(Collectors.toMap(OpenPlanShopInfoDTO::getShopId, OpenPlanShopInfoDTO::getShopCode)); + for (Long shopId : map.keySet()){ + String shopCode = map.get(shopId); + try { + String url = xfsgUrl + Constants.FIRST_ORDER + "?storeCode=" + shopCode; + JSONObject jsonObject = httpRestTemplateService.getForObject(url, JSONObject.class, new HashMap<>()); + log.info("updateFirstOrder url:{},jsonObject:{}",url,jsonObject); + String string = jsonObject.getString("data"); + if (string == null) { + throw new ServiceException(ErrorCodeEnum.GET_FIRST_ORDER); + } + if (string.equals("true")) { + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151, null); + preparationService.whetherToOpenForAcceptance(shopId); + } + }catch (Exception e) { + log.error("获取鲜丰订货金异常",e); + } + } + } + } diff --git a/coolstore-partner-web/src/main/resources/application.properties b/coolstore-partner-web/src/main/resources/application.properties index 2a707966a..39d308f91 100644 --- a/coolstore-partner-web/src/main/resources/application.properties +++ b/coolstore-partner-web/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=hsay-partner-web -spring.profiles.active=@profileActive@ +spring.profiles.active=test server.port=40000 server.servlet.context-path=/xfsg