Merge #32 into master from cc_20260113_open
开业日期报备
* cc_20260113_open: (15 commits squashed)
- feat:阶段调整
- feat:开业阶段调整
- feat:开业日期报备
- feat:开业日期报备代办
- feat:文本通知
- feat:数据处理
- fix:bug
- feat:通知功能
- Merge branch 'master' into cc_20260113_open
# Conflicts:
#	coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java
- feat:开业代办新增代办预计开业时间
- feat:开业时间查询
- feat:开业
- feat:PC计划开业时间
- Merge branch 'master' into cc_20260113_open
# Conflicts:
#	coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopStageInfoMapper.java
- Merge branch 'master' into cc_20260113_open
# Conflicts:
#	coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniShopController.java
Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/32
This commit is contained in:
@@ -302,7 +302,8 @@ public enum ErrorCodeEnum {
|
||||
PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null),
|
||||
STORE_IS_EXIST(1511035,"该门店已存在",null),
|
||||
FEE_NOT_CONSISTENT(1511036,"合同金额与缴费账单金额不一致,请确定!",null),
|
||||
OPERATIONS_CONSULTANT_ASSIGNED(1511037,"OPERATIONS_CONSULTANT_ASSIGNED",null),
|
||||
OPERATIONS_CONSULTANT_ASSIGNED(1511037,"运营顾问已分配",null),
|
||||
NO_OPERATIONS_CONSULTANT(1511037,"你不是当前门店运营顾问!请确认!",null),
|
||||
|
||||
|
||||
MESSAGE_TEMPLATE_NOT_SUPPORT_EDIT(1610001,"当前消息已发布,不支持编辑!",null),
|
||||
|
||||
@@ -90,6 +90,13 @@ public enum MessageEnum {
|
||||
MESSAGE_61("您有一个门店京东外卖初审已通过,请查收","门店名称:${storeName}\n加盟商姓名:${partnerUsername}\n加盟商手机号码:${partnerMobile}\n"),
|
||||
MESSAGE_62("您有一个门店设计阶段设计图待提交,请查收","门店名称:${storeName}\n加盟商姓名:${partnerUsername}\n加盟商手机号码:${partnerMobile}\n"),
|
||||
|
||||
|
||||
|
||||
MESSAGE_63("您有一个门店开业日期报备待确认,请查收","##### 加盟商姓名:${partnerUsername}\n门店名称:${storeName}\n计划开业时间:${planOpenDate}\n门店地址:${shopAddress}\n请及时跟进开业筹备支持工作!"),
|
||||
|
||||
|
||||
MESSAGE_100("您有一个门店开业日期报备待确认,请查收","##### 您管辖的${storeName}已提交开业日期报备,计划开业日期为${planOpenDate},门店地址:${shopAddress},请及时跟进开业筹备支持工作。"),
|
||||
|
||||
;
|
||||
|
||||
private String title;
|
||||
|
||||
@@ -44,6 +44,8 @@ public enum ShopSubStageEnum {
|
||||
SHOP_STAGE_6(ShopStageEnum.SHOP_STAGE_2, 260, "开通门店平安钱包", 1),
|
||||
SHOP_STAGE_27(ShopStageEnum.SHOP_STAGE_2, 270, "开业验收", 1),
|
||||
|
||||
SHOP_STAGE_30(ShopStageEnum.SHOP_STAGE_2, 300, "开业日期报备", 1),
|
||||
|
||||
|
||||
;
|
||||
|
||||
@@ -141,6 +143,7 @@ public enum ShopSubStageEnum {
|
||||
case SHOP_STAGE_24:
|
||||
case SHOP_STAGE_25:
|
||||
case SHOP_STAGE_27:
|
||||
case SHOP_STAGE_30:
|
||||
return ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00;
|
||||
default:
|
||||
return null;
|
||||
|
||||
@@ -166,6 +166,11 @@ public enum ShopSubStageStatusEnum {
|
||||
SHOP_SUB_STAGE_STATUS_274(ShopSubStageEnum.SHOP_STAGE_27, 2740,"待整改", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_276(ShopSubStageEnum.SHOP_STAGE_27, 2760,"已完成", Boolean.TRUE),
|
||||
|
||||
//开业日期报备
|
||||
SHOP_SUB_STAGE_STATUS_300(ShopSubStageEnum.SHOP_STAGE_30, 3000, "待填写", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_310(ShopSubStageEnum.SHOP_STAGE_30, 3010, "待开业确认", Boolean.FALSE),
|
||||
SHOP_SUB_STAGE_STATUS_320(ShopSubStageEnum.SHOP_STAGE_30, 3020,"已完成", Boolean.TRUE),
|
||||
|
||||
;
|
||||
|
||||
private ShopSubStageEnum shopSubStageEnum;
|
||||
|
||||
@@ -354,6 +354,12 @@ public class ShopStageInfoDAO {
|
||||
return shopStageInfoMapper.getSpecialShopStageInfo(shopIds, shopSubStage, shopSubStageStatusList, investmentUserId, authRegionIds,ownShopFlag, deskRequest, operationsConsultantUserId);
|
||||
}
|
||||
|
||||
public List<ShopStageInfoDO> getOperationsConsultantStageInfo(List<Long> shopIds, Integer shopSubStage,
|
||||
List<Integer> shopSubStageStatusList,
|
||||
String investmentUserId, DeskRequest deskRequest) {
|
||||
return shopStageInfoMapper.getOperationsConsultantStageInfo(shopIds, shopSubStage, shopSubStageStatusList, investmentUserId, deskRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Auther: wangshuo
|
||||
* @Date: 2024/5/9
|
||||
|
||||
@@ -170,8 +170,9 @@ public class StoreDao {
|
||||
* @param storeId 门店id
|
||||
* @param storeStatus 门店营业状态
|
||||
*/
|
||||
public void updateStoreStatus(String storeId, String storeStatus) {
|
||||
storeMapper.updateStoreStatus(storeId,storeStatus);
|
||||
public void updateStoreStatus(String storeId, String storeStatus,Date actualOpenDate) {
|
||||
if (Objects.isNull(storeId)||Objects.isNull(storeStatus)||Objects.isNull(actualOpenDate))
|
||||
storeMapper.updateStoreStatus(storeId,storeStatus,actualOpenDate);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -152,6 +152,25 @@ public interface ShopStageInfoMapper extends Mapper<ShopStageInfoDO> {
|
||||
@Param("ownShopFlag") Boolean ownShopFlag,
|
||||
@Param("request") DeskRequest deskRequest,
|
||||
@Param("operationsConsultantUserId") String operationsConsultantUserId);
|
||||
|
||||
|
||||
/**
|
||||
* 获取运营顾问指定流程的代办数据
|
||||
* @param shopIds
|
||||
* @param shopSubStage
|
||||
* @param shopSubStageStatusList
|
||||
* @param operationsConsultant
|
||||
* @param deskRequest
|
||||
* @return
|
||||
*/
|
||||
List<ShopStageInfoDO> getOperationsConsultantStageInfo(@Param("shopIds") List<Long> shopIds,
|
||||
@Param("shopSubStage") Integer shopSubStage,
|
||||
@Param("shopSubStageStatusList") List<Integer> shopSubStageStatusList,
|
||||
@Param("operationsConsultant") String operationsConsultant,
|
||||
@Param("request") DeskRequest deskRequest);
|
||||
|
||||
|
||||
|
||||
List<ShopStageInfoDO> getSubStageList(@Param("shopIds") List<Long> shopIds,@Param("shopSubStage") Integer shopSubStage);
|
||||
List<ShopStageInfoDO> getSubStages(@Param("shopIds") List<Long> shopIds,@Param("shopSubStage") Integer shopSubStage);
|
||||
|
||||
|
||||
@@ -93,7 +93,9 @@ public interface StoreMapper {
|
||||
* @param storeId 门店id
|
||||
* @param storeStatus 门店营业状态
|
||||
*/
|
||||
void updateStoreStatus(@Param("storeId") String storeId, @Param("storeStatus") String storeStatus);
|
||||
void updateStoreStatus(@Param("storeId") String storeId,
|
||||
@Param("storeStatus") String storeStatus,
|
||||
@Param("actualOpenDate") Date actualOpenDate);
|
||||
|
||||
/**
|
||||
* 门店状态改为闭店
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
<result column="store_id" jdbcType="VARCHAR" property="storeId"/>
|
||||
<result column="invest_region_id" jdbcType="BIGINT" property="investRegionId"/>
|
||||
<result column="operations_consultant" jdbcType="VARCHAR" property="operationsConsultant"/>
|
||||
<result column="plan_open_date" jdbcType="DATE" property="planOpenDate"/>
|
||||
<result column="actual_open_date" jdbcType="DATE" property="actualOpenDate"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="allColumn">
|
||||
@@ -49,7 +51,8 @@
|
||||
shop_code, store_num, shop_manager_user_id, supervisor_user_id,
|
||||
plan_open_time, cur_progress, shop_type, shop_stage, deleted, create_time, update_time,
|
||||
join_mode,detail_address,franchise_brand,development_manager,want_shop_area_id,investment_manager,shop_status,create_user_id,update_user_id,store_type
|
||||
, province,province_code,city,city_code,district,district_code,manager_region_id,shop_decoration_attributes,hqt_shop_id,store_id, invest_region_id, operations_consultant
|
||||
, province,province_code,city,city_code,district,district_code,manager_region_id,shop_decoration_attributes,hqt_shop_id,store_id, invest_region_id, operations_consultant,
|
||||
plan_open_date,actual_open_date
|
||||
</sql>
|
||||
|
||||
<insert id="batchAddShop" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
|
||||
|
||||
@@ -396,6 +396,81 @@
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getOperationsConsultantStageInfo" resultMap="BaseResultMap">
|
||||
select
|
||||
*
|
||||
from xfsg_shop_stage_info a
|
||||
left join xfsg_shop_info si on a.shop_id = si.id
|
||||
<if test="request.signTypes != null and request.signTypes.size() >0">
|
||||
left join xfsg_sign_franchise sign on a.shop_id = sign.shop_id
|
||||
</if>
|
||||
<where>
|
||||
si.deleted = 0 and a.is_terminated = 0 and si.shop_status !=2
|
||||
<if test="shopIds != null and shopIds.size() > 0">
|
||||
and a.shop_id in
|
||||
<foreach collection="shopIds" item="shopId" index="index" open="(" separator="," close=")">
|
||||
#{shopId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="shopSubStage!=null">
|
||||
and a.shop_sub_stage = #{shopSubStage}
|
||||
<if test = "shopSubStage == 86 or shopSubStage == 90 or shopSubStage == 110 or shopSubStage == 120">
|
||||
and (si.hqt_shop_id is null or si.hqt_shop_id = '')
|
||||
</if>
|
||||
</if>
|
||||
<if test="shopSubStageStatusList != null and shopSubStageStatusList.size() > 0">
|
||||
and a.shop_sub_stage_status in
|
||||
<foreach collection="shopSubStageStatusList" item="stageStatus" index="index" open="(" separator=","
|
||||
close=")">
|
||||
#{stageStatus}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.stageStatus !=null and request.stageStatus.size() >0">
|
||||
and a.shop_sub_stage_status in
|
||||
<foreach collection="request.stageStatus" item="item" index="index" open="(" separator=","
|
||||
close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="operationsConsultant!=null and operationsConsultant!=''">
|
||||
and si.operations_consultant = #{operationsConsultant}
|
||||
</if>
|
||||
<if test="request.shopKeyword !=null and request.shopKeyword !=''">
|
||||
and (si.shop_name like concat('%',#{request.shopKeyword},'%') or si.shop_code like concat('%',#{request.shopKeyword},'%'))
|
||||
</if>
|
||||
<if test="request.regionIds !=null and request.regionIds.size()>0">
|
||||
and si.region_id in
|
||||
<foreach collection="request.regionIds" item="regionId" index="index" open="(" separator="," close=")">
|
||||
#{regionId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.storeTypes !=null and request.storeTypes.size()>0">
|
||||
and si.store_type in
|
||||
<foreach collection="request.storeTypes" item="storeType" index="index" open="(" separator="," close=")">
|
||||
#{storeType}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.signTypes !=null and request.signTypes.size()>0">
|
||||
and sign.sign_type in
|
||||
<foreach collection="request.signTypes" item="signType" index="index" open="(" separator="," close=")">
|
||||
#{signType}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.supervisorId != null and request.supervisorId!= ''">
|
||||
and si.investment_manager = #{request.supervisorId}
|
||||
</if>
|
||||
<if test="request.joinModes !=null and request.joinModes.size()>0">
|
||||
and si.join_mode in
|
||||
<foreach collection="request.joinModes" item="joinMode" index="index" open="(" separator="," close=")">
|
||||
#{joinMode}
|
||||
</foreach>
|
||||
</if>
|
||||
order by a.update_time desc
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getSubStageList" resultType="com.cool.store.entity.ShopStageInfoDO">
|
||||
select *
|
||||
from xfsg_shop_stage_info
|
||||
|
||||
@@ -297,7 +297,8 @@
|
||||
|
||||
<update id="updateStoreStatus">
|
||||
UPDATE store_${enterpriseId}
|
||||
SET store_status = #{storeStatus}
|
||||
SET store_status = #{storeStatus},
|
||||
actual_open_date = #{actualOpenDate}
|
||||
WHERE store_id = #{storeId} AND is_delete = 'effective'
|
||||
</update>
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.cool.store.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
* @Date 2026/1/13 15:28
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class OpenInfoDTO {
|
||||
|
||||
@ApiModelProperty("门店ID")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty("计划开业时间")
|
||||
private String planOpenDate;
|
||||
|
||||
@ApiModelProperty("实际开业时间")
|
||||
private String actualOpenDate;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.cool.store.dto.message;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
* @Date 2026/1/13 18:40
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class SendTextMessageDTO {
|
||||
|
||||
/**
|
||||
* 钉钉的企业唯一ID
|
||||
*/
|
||||
private String corpId;
|
||||
|
||||
/**
|
||||
* 发送的人员ID集合
|
||||
*/
|
||||
private String userIds;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 微应用:micro_app; E应用-e_app; 钉钉:DINGDING; 企业微信:qw
|
||||
*/
|
||||
private String appType;
|
||||
|
||||
private JSONObject oaJson;
|
||||
|
||||
private String messageType;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 发送消息业务id标识
|
||||
*/
|
||||
private String outBusinessId;
|
||||
|
||||
|
||||
|
||||
public SendTextMessageDTO() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SendTextMessageDTO{" +
|
||||
"corpId='" + corpId + '\'' +
|
||||
", userIds='" + userIds + '\'' +
|
||||
", content='" + content + '\'' +
|
||||
", appType='" + appType + '\'' +
|
||||
", oaJson=" + oaJson +
|
||||
", messageType='" + messageType + '\'' +
|
||||
", title='" + title + '\'' +
|
||||
", outBusinessId='" + outBusinessId + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -167,4 +167,10 @@ public class ShopInfoDO {
|
||||
|
||||
@Column(name = "operations_consultant")
|
||||
private String operationsConsultant;
|
||||
|
||||
@Column(name = "plan_open_date")
|
||||
private Date planOpenDate;
|
||||
|
||||
@Column(name = "actual_open_date")
|
||||
private Date actualOpenDate;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.cool.store.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Auther zx_szh
|
||||
* @Date 2026/1/13 13:48
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class OpenDateReportRequest {
|
||||
|
||||
@ApiModelProperty("门店ID")
|
||||
private Long shopId;
|
||||
|
||||
@ApiModelProperty("开业日期")
|
||||
private Date openDate;
|
||||
|
||||
}
|
||||
@@ -65,4 +65,7 @@ public class PreparationCommonPendingVO {
|
||||
|
||||
@ApiModelProperty("招商所属大区名称")
|
||||
private String investRegionName;
|
||||
|
||||
@ApiModelProperty("预计开业时间")
|
||||
private String planOpenDate;
|
||||
}
|
||||
|
||||
@@ -22,4 +22,11 @@ public interface DataHandleService {
|
||||
*/
|
||||
Integer dataHandleServiceV25();
|
||||
|
||||
/**
|
||||
* 开业日期筹备阶段批量新增
|
||||
* @param shopId
|
||||
* @return
|
||||
*/
|
||||
Boolean openStageBatchInsert(Long shopId);
|
||||
|
||||
}
|
||||
|
||||
@@ -178,6 +178,16 @@ public interface DeskService {
|
||||
*/
|
||||
PageInfo<PreparationCommonPendingVO> openingAcceptance(DeskRequest deskRequest, LoginUserInfo user );
|
||||
|
||||
|
||||
/**
|
||||
* 开业确认代办
|
||||
* @param deskRequest
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
PageInfo<PreparationCommonPendingVO> openingConfirmPendingList(DeskRequest deskRequest, LoginUserInfo user );
|
||||
|
||||
|
||||
/**
|
||||
* 测量阶段
|
||||
|
||||
|
||||
@@ -109,5 +109,13 @@ public interface PreparationService {
|
||||
*/
|
||||
Boolean buildStoreComplete(Long shopId);
|
||||
|
||||
/**
|
||||
* 开始开业日期报备
|
||||
* 培训登记与开业门店验收 完成都调用 都完成 开启开始开业日期报备
|
||||
* @param shopId
|
||||
* @return
|
||||
*/
|
||||
Boolean theOpeningDateIsReported(Long shopId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.dto.OpenInfoDTO;
|
||||
import com.cool.store.dto.UserDTO;
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import com.cool.store.entity.ShopInfoDO;
|
||||
@@ -144,4 +145,26 @@ public interface ShopService {
|
||||
Boolean checkShopCodeRepeat(String shopCode,Long shopId);
|
||||
|
||||
Boolean isShowButton(Long shopId);
|
||||
|
||||
/**
|
||||
* 提交开业报备
|
||||
* @param openDateReportRequest
|
||||
* @return
|
||||
*/
|
||||
Boolean submitOpenDateReport(OpenDateReportRequest openDateReportRequest);
|
||||
|
||||
/**
|
||||
* 确认开业
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Boolean confirmOpen(OpenDateReportRequest request,String userId);
|
||||
|
||||
/**
|
||||
* 获取开业信息
|
||||
* @param shopId
|
||||
* @return
|
||||
*/
|
||||
OpenInfoDTO getShopOpenInfo(Long shopId);
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.aliyun.sdk.service.dysmsapi20170525.models.*;
|
||||
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dto.message.SendMessageDTO;
|
||||
import com.cool.store.dto.message.SendTextMessageDTO;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.mq.producer.SimpleMessageService;
|
||||
import com.cool.store.request.AuditResultRequest;
|
||||
@@ -22,6 +23,7 @@ import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
@@ -230,5 +232,39 @@ public class CommonService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 企微发送文本消息通知
|
||||
* @param userIdList 消息接收人列表
|
||||
* @param message 消息标题
|
||||
* @param requestMap 消息内容
|
||||
*/
|
||||
public void sendTextMessage(List<String> userIdList, MessageEnum message, Map<String, String> requestMap) {
|
||||
log.info("message:{}, request:{}, userIds:{}", message.getTitle(), JSONObject.toJSONString(requestMap), JSONObject.toJSONString(userIdList));
|
||||
if(CollectionUtils.isEmpty(userIdList)){
|
||||
log.info("消息接收人列表为空");
|
||||
return;
|
||||
}
|
||||
userIdList = userIdList.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(userIdList)){
|
||||
log.info("消息接收人列表为空(已过滤空值)");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
String outBusinessId = UUIDUtils.get8UUID();
|
||||
SendTextMessageDTO messageDTO = new SendTextMessageDTO();
|
||||
messageDTO.setCorpId(dingCorpId);
|
||||
messageDTO.setUserIds(String.join(Constants.COMMA, userIdList));
|
||||
messageDTO.setOutBusinessId(outBusinessId);
|
||||
messageDTO.setAppType("qw_self_dkf");
|
||||
messageDTO.setMessageType("text");
|
||||
messageDTO.setTitle(message.getTitle());
|
||||
messageDTO.setContent(message.getContent(requestMap));
|
||||
simpleMessageService.send(JSONObject.toJSONString(messageDTO), RocketMqTagEnum.STORE_DING_QUEUE);
|
||||
log.info("文本消息发送成功, outBusinessId:{}", outBusinessId);
|
||||
} catch (Exception e) {
|
||||
log.error("文本消息发送失败, title:{}, userIdList:{}", message.getTitle(), JSONObject.toJSONString(userIdList), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.unit.DataUnit;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.Page;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Array;
|
||||
@@ -84,6 +86,107 @@ public class DataHandleServiceImpl implements DataHandleService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean openStageBatchInsert(Long shopId) {
|
||||
int pageSize = 100;
|
||||
int pageNum = 1;
|
||||
LocalDate selectStartDate = LocalDate.now();
|
||||
|
||||
while (true) {
|
||||
// 使用PageHelper分页查询,每页100条
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
List<ShopInfoDO> shopInfoDOS = shopInfoDAO.selectByIdOrSelectAll(shopId);
|
||||
|
||||
// 如果没有数据了,退出循环
|
||||
if (CollectionUtils.isEmpty(shopInfoDOS)) {
|
||||
break;
|
||||
}
|
||||
|
||||
List<ShopStageInfoDO> addShopStageList = new ArrayList<>();
|
||||
|
||||
for (ShopInfoDO shopInfo : shopInfoDOS) {
|
||||
Long currentShopId = shopInfo.getId();
|
||||
Long lineId = shopInfo.getLineId();
|
||||
|
||||
// 查询门店的所有阶段数据
|
||||
List<ShopStageInfoDO> shopStageInfoList = shopStageInfoDAO.getShopStageInfo(currentShopId, null);
|
||||
if (CollectionUtils.isEmpty(shopStageInfoList)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 将阶段数据转换为Map,方便查找
|
||||
Map<Integer, ShopStageInfoDO> infoDOMap = shopStageInfoList.stream()
|
||||
.collect(Collectors.toMap(
|
||||
ShopStageInfoDO::getShopSubStage,
|
||||
v -> v,
|
||||
(k1, k2) -> k1
|
||||
));
|
||||
|
||||
// 3. 检查是否已经有开业日期筹备阶段数据,如果有则跳过
|
||||
ShopStageInfoDO openStageInfo = infoDOMap.get(ShopSubStageEnum.SHOP_STAGE_30.getShopSubStage());
|
||||
if (Objects.nonNull(openStageInfo)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 2. 判断培训阶段与开业验收阶段是否都完成
|
||||
ShopStageInfoDO trainingStage = infoDOMap.get(ShopSubStageEnum.SHOP_STAGE_5.getShopSubStage());
|
||||
ShopStageInfoDO acceptanceStage = infoDOMap.get(ShopSubStageEnum.SHOP_STAGE_27.getShopSubStage());
|
||||
|
||||
// 判断培训阶段是否完成
|
||||
boolean trainingCompleted = false;
|
||||
if (Objects.nonNull(trainingStage)) {
|
||||
Integer trainingStatus = trainingStage.getShopSubStageStatus();
|
||||
trainingCompleted = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51.getShopSubStageStatus().equals(trainingStatus);
|
||||
}
|
||||
|
||||
// 判断开业验收阶段是否完成
|
||||
boolean acceptanceCompleted = false;
|
||||
if (Objects.nonNull(acceptanceStage)) {
|
||||
Integer acceptanceStatus = acceptanceStage.getShopSubStageStatus();
|
||||
acceptanceCompleted = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_276.getShopSubStageStatus().equals(acceptanceStatus);
|
||||
}
|
||||
|
||||
// 创建开业日期筹备阶段数据
|
||||
ShopStageInfoDO newOpenStage = new ShopStageInfoDO();
|
||||
newOpenStage.setLineId(lineId);
|
||||
newOpenStage.setShopId(currentShopId);
|
||||
ShopStageEnum shopStageEnum = ShopSubStageEnum.SHOP_STAGE_30.getShopStageEnum();
|
||||
newOpenStage.setShopStage(shopStageEnum.getShopStage());
|
||||
newOpenStage.setShopSubStage(ShopSubStageEnum.SHOP_STAGE_30.getShopSubStage());
|
||||
|
||||
// 如果培训阶段和开业验收阶段都完成,则开业日期筹备阶段为已完成,否则为未开始
|
||||
ShopSubStageStatusEnum initStatus;
|
||||
if (trainingCompleted && acceptanceCompleted) {
|
||||
initStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_320; // 已完成
|
||||
} else {
|
||||
initStatus = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00; // 待填写(未开始)
|
||||
}
|
||||
|
||||
newOpenStage.setShopSubStageStatus(initStatus.getShopSubStageStatus());
|
||||
newOpenStage.setRemark(ShopSubStageEnum.SHOP_STAGE_30.getShopSubStageName() + CommonConstants.PATH_BAR + initStatus.getShopSubStageStatusName());
|
||||
newOpenStage.setIsTerminated(initStatus.isTerminated());
|
||||
newOpenStage.setPlanCompleteTime(ShopSubStageEnum.SHOP_STAGE_30.getPlanCompleteTime(selectStartDate));
|
||||
|
||||
addShopStageList.add(newOpenStage);
|
||||
}
|
||||
|
||||
// 批量插入当前页的数据
|
||||
if (CollectionUtils.isNotEmpty(addShopStageList)) {
|
||||
shopStageInfoDAO.batchInsert(addShopStageList);
|
||||
}
|
||||
|
||||
// 判断是否还有下一页
|
||||
Page<ShopInfoDO> page = (Page<ShopInfoDO>) shopInfoDOS;
|
||||
if (page.getPageNum() >= page.getPages()) {
|
||||
break;
|
||||
}
|
||||
pageNum++;
|
||||
}
|
||||
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
||||
public void licenseHandle(ShopStageInfoDO shopStageInfoDO){
|
||||
if (Objects.isNull(shopStageInfoDO)){
|
||||
@@ -198,4 +301,8 @@ public class DataHandleServiceImpl implements DataHandleService {
|
||||
}
|
||||
return shopStageInfoDAO.batchInsert(addShopStageList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -560,11 +560,12 @@ public class DeskServiceImpl implements DeskService {
|
||||
@Override
|
||||
public PageInfo<PreparationCommonPendingVO> openingAcceptance(DeskRequest deskRequest, LoginUserInfo user) {
|
||||
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
|
||||
//如果是督导
|
||||
//如果运营顾问 查询直接返回
|
||||
List<Integer> stageList = new ArrayList<>();
|
||||
Boolean flag = Boolean.FALSE;
|
||||
if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) {
|
||||
stageList.addAll(Arrays.asList(SHOP_SUB_STAGE_STATUS_270.getShopSubStageStatus(),SHOP_SUB_STAGE_STATUS_274.getShopSubStageStatus()));
|
||||
return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList);
|
||||
}
|
||||
if (userRoleIds.contains(UserRoleEnum.OPERATION_GENERAL_CONSULTANT.getCode()) ) {
|
||||
stageList.add(SHOP_SUB_STAGE_STATUS_272.getShopSubStageStatus());
|
||||
@@ -576,6 +577,11 @@ public class DeskServiceImpl implements DeskService {
|
||||
return commonPendingVOPageInfo(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList, flag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<PreparationCommonPendingVO> openingConfirmPendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
||||
return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_30, Arrays.asList(SHOP_SUB_STAGE_STATUS_310.getShopSubStageStatus()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<PreparationCommonPendingVO> measurePendingList(DeskRequest deskRequest, LoginUserInfo user) {
|
||||
List<Long> userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId());
|
||||
@@ -825,6 +831,26 @@ public class DeskServiceImpl implements DeskService {
|
||||
return this.commonPendingVOPage(deskRequest, null, shopSubStageEnum, subStageStatusList, filterFlag, null, operationsConsultantUserId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 运营顾问对于的代办
|
||||
* @param deskRequest
|
||||
* @param user
|
||||
* @param shopSubStageEnum
|
||||
* @param subStageStatusList
|
||||
* @return
|
||||
*/
|
||||
private PageInfo<PreparationCommonPendingVO> operationCustomQueryList(DeskRequest deskRequest, LoginUserInfo user, ShopSubStageEnum shopSubStageEnum, List<Integer> subStageStatusList) {
|
||||
PageHelper.startPage(deskRequest.getPageNum(), deskRequest.getPageSize());
|
||||
List<ShopStageInfoDO> specialShopStageInfo = shopStageInfoDAO.getOperationsConsultantStageInfo(null, shopSubStageEnum.getShopSubStage(),
|
||||
subStageStatusList, user.getUserId(), deskRequest);
|
||||
PageInfo result = new PageInfo<>(specialShopStageInfo);
|
||||
List<PreparationCommonPendingVO> list = convert(specialShopStageInfo, subStageStatusList);
|
||||
result.setList(list);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通用查询
|
||||
*
|
||||
@@ -846,6 +872,13 @@ public class DeskServiceImpl implements DeskService {
|
||||
List<ShopStageInfoDO> specialShopStageInfo = shopStageInfoDAO.getSpecialShopStageInfo(null, shopSubStageEnum.getShopSubStage(),
|
||||
subStageStatusList, user == null ? null : user.getUserId(), authRegionIds, ownShopFlag, deskRequest, operationsConsultantUserId);
|
||||
PageInfo result = new PageInfo<>(specialShopStageInfo);
|
||||
List<PreparationCommonPendingVO> list = convert(specialShopStageInfo, subStageStatusList);
|
||||
result.setList(list);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<PreparationCommonPendingVO> convert(List<ShopStageInfoDO> specialShopStageInfo,List<Integer> subStageStatusList){
|
||||
List<Long> shopIds = specialShopStageInfo.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList());
|
||||
List<Long> lineIds = specialShopStageInfo.stream().map(ShopStageInfoDO::getLineId).collect(Collectors.toList());
|
||||
List<ShopInfoDO> shopInfoList = shopInfoDAO.getShopListByIds(shopIds);
|
||||
@@ -911,12 +944,16 @@ public class DeskServiceImpl implements DeskService {
|
||||
preparationCommonPendingVO.setFranchiseBrand(shopInfoDO.getFranchiseBrand());
|
||||
preparationCommonPendingVO.setInvestRegionId(shopInfoDO.getInvestRegionId());
|
||||
preparationCommonPendingVO.setInvestRegionName(regionNameMap.get(shopInfoDO.getInvestRegionId()));
|
||||
if (shopInfoDO!=null&&shopInfoDO.getPlanOpenDate()!=null){
|
||||
preparationCommonPendingVO.setPlanOpenDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,shopInfoDO.getPlanOpenDate()));
|
||||
}
|
||||
list.add(preparationCommonPendingVO);
|
||||
});
|
||||
result.setList(list);
|
||||
return result;
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void doThing(Map<Long, List<DeskStageDTO>> deskStageMap, List<ShopStageInfoDO> subStageList) {
|
||||
for (ShopStageInfoDO shopStageInfoDO : subStageList) {
|
||||
List<DeskStageDTO> deskStageDTOS = deskStageMap.get(shopStageInfoDO.getShopId());
|
||||
|
||||
@@ -391,8 +391,25 @@ public class PreparationServiceImpl implements PreparationService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean theOpeningDateIsReported(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 openFlag = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_276.getShopSubStageStatus().
|
||||
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_27.getShopSubStage()).getShopSubStageStatus());
|
||||
|
||||
Boolean trainingFlag = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51.getShopSubStageStatus().
|
||||
equals(shopStageInfoDOMap.get(ShopSubStageEnum.SHOP_STAGE_5.getShopSubStage()).getShopSubStageStatus());
|
||||
|
||||
log.info("theOpeningDateIsReported openFlag->{},TrainingFlag->{}",openFlag,trainingFlag);
|
||||
//建店完成了 状态修改
|
||||
if (openFlag && trainingFlag) {
|
||||
shopStageInfoDAO.batchUpdateShopStageStatus(shopId, Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_300));
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.cool.store.service.impl;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.OpenInfoDTO;
|
||||
import com.cool.store.dto.Preparation.PreparationDTO;
|
||||
import com.cool.store.dto.Preparation.ScheduleDTO;
|
||||
import com.cool.store.dto.ShopNameAndCodeDTO;
|
||||
@@ -14,6 +15,7 @@ import com.cool.store.enums.point.ShopStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.EnterpriseUserRoleMapper;
|
||||
import com.cool.store.mapper.RegionMapper;
|
||||
import com.cool.store.mapper.StoreMapper;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.BranchShopDetailResponse;
|
||||
import com.cool.store.response.BranchShopResponse;
|
||||
@@ -989,6 +991,82 @@ public class ShopServiceImpl implements ShopService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean submitOpenDateReport(OpenDateReportRequest request) {
|
||||
if (Objects.isNull(request.getShopId())||Objects.isNull(request.getOpenDate())){
|
||||
throw new ServiceException(PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
//查询门店
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||
if (Objects.isNull(shopInfo)){
|
||||
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
|
||||
}
|
||||
shopInfo.setPlanOpenDate(request.getOpenDate());
|
||||
shopInfoDAO.updateShopInfo(shopInfo);
|
||||
//阶段状态变为待确定
|
||||
shopStageInfoDAO.updateShopStageInfo(request.getShopId(),ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_310);
|
||||
|
||||
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId());
|
||||
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("partnerUsername", lineInfo.getUsername());
|
||||
map.put("storeName", shopInfo.getShopName());
|
||||
map.put("planOpenDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,shopInfo.getPlanOpenDate()));
|
||||
map.put("shopAddress", shopInfo.getDetailAddress());
|
||||
commonService.sendQWMessage(Collections.singletonList(shopInfo.getOperationsConsultant()),
|
||||
MessageEnum.MESSAGE_63, map);
|
||||
//新增
|
||||
List<EnterpriseUserDO> sendUsers = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.OPERATION_GENERAL_CONSULTANT, shopInfo.getRegionId());
|
||||
if (CollectionUtils.isNotEmpty(sendUsers)){
|
||||
List<String> userIdList = sendUsers.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
||||
commonService.sendTextMessage(userIdList,MessageEnum.MESSAGE_100,map);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean confirmOpen(OpenDateReportRequest request,String userId) {
|
||||
log.info("confirmOpen_request:{}",JSONObject.toJSONString(request));
|
||||
if (Objects.isNull(request.getShopId())||Objects.isNull(request.getOpenDate())){
|
||||
throw new ServiceException(PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
//查询门店
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
|
||||
if (Objects.isNull(shopInfo)){
|
||||
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
|
||||
}
|
||||
//只能运营顾问操作
|
||||
if (StringUtils.isNotEmpty(shopInfo.getOperationsConsultant())&&!shopInfo.getOperationsConsultant().equals(userId)){
|
||||
throw new ServiceException(ErrorCodeEnum.NO_OPERATIONS_CONSULTANT);
|
||||
}
|
||||
shopInfo.setActualOpenDate(request.getOpenDate());
|
||||
shopInfoDAO.updateShopInfo(shopInfo);
|
||||
//阶段状态变为带确定
|
||||
shopStageInfoDAO.updateShopStageInfo(request.getShopId(),ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_320);
|
||||
//更新门店为开业状态 且使用开业日期
|
||||
StoreDO store = storeDao.getByStoreNum(shopInfo.getShopCode());
|
||||
if (store!=null){
|
||||
storeDao.updateStoreStatus(store.getStoreId(),"open",request.getOpenDate());
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OpenInfoDTO getShopOpenInfo(Long shopId) {
|
||||
if (Objects.isNull(shopId)){
|
||||
throw new ServiceException(PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId);
|
||||
if (Objects.isNull(shopInfo)){
|
||||
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
|
||||
}
|
||||
OpenInfoDTO openInfoDTO = new OpenInfoDTO();
|
||||
openInfoDTO.setShopId(shopId);
|
||||
openInfoDTO.setPlanOpenDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,shopInfo.getPlanOpenDate()));
|
||||
openInfoDTO.setActualOpenDate(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,shopInfo.getActualOpenDate()));
|
||||
return openInfoDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取招商经理信息
|
||||
* @param
|
||||
|
||||
@@ -181,9 +181,8 @@ public class TempUserDetailServiceImpl implements TempUserDetailService {
|
||||
}
|
||||
//不能放到下面
|
||||
shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_51);
|
||||
//状态结束
|
||||
preparationService.whetherToOpenForAcceptance(shopId);
|
||||
preparationService.updateShopStatus(shopId);
|
||||
//状态结束 开业日期报备
|
||||
preparationService.theOpeningDateIsReported(shopId);
|
||||
//培训完成,将订货状态为等待培训中的切为待授权
|
||||
ShopStageInfoDO shopStage = shopStageInfoDAO.getByShopIdAndSubStage(shopId, ShopSubStageEnum.SHOP_STAGE_17.getShopSubStage());
|
||||
if (shopStage!=null&&shopStage.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_171.getShopSubStageStatus())){
|
||||
|
||||
@@ -145,9 +145,9 @@ public class OpeningAcceptanceServiceImpl implements OpeningAcceptanceService {
|
||||
Long auditId = shopAuditInfoDO.getId();
|
||||
List<OperationLogDO> operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_272, OperationTypeEnum.OPERATION_TYPE_1.getCode());
|
||||
operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause());
|
||||
//开业验收完成之后 看门店整个流程是否完成
|
||||
//开业验收完成之后 开业日期报备打开
|
||||
if (status == AcceptanceStatusEnum.ACCEPTED.getCode()){
|
||||
preparationService.updateShopStatus(request.getShopId());
|
||||
preparationService.theOpeningDateIsReported(request.getShopId());
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@@ -215,6 +215,13 @@ public class DeskController {
|
||||
return ResponseResult.success(deskService.openingAcceptance( deskRequest, userInfo ));
|
||||
}
|
||||
|
||||
@ApiOperation("待处理-开业日期报备代办")
|
||||
@PostMapping("/openingConfirmPendingList")
|
||||
public ResponseResult<PageInfo<PreparationCommonPendingVO>> openingConfirmPendingList(@RequestBody DeskRequest deskRequest) {
|
||||
LoginUserInfo userInfo = CurrentUserHolder.getUser();
|
||||
return ResponseResult.success(deskService.openingConfirmPendingList( deskRequest, userInfo ));
|
||||
}
|
||||
|
||||
@ApiOperation("待处理-测量阶段")
|
||||
@PostMapping("/measurePendingList")
|
||||
public ResponseResult<PageInfo<PreparationCommonPendingVO>> measurePendingList(@RequestBody DeskRequest deskRequest) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.dto.BatchStatusRefreshDTO;
|
||||
import com.cool.store.dto.OpenInfoDTO;
|
||||
import com.cool.store.dto.TransferLogDTO;
|
||||
import com.cool.store.dto.UserDTO;
|
||||
import com.cool.store.request.*;
|
||||
@@ -177,4 +178,22 @@ public class PCShopController {
|
||||
public ResponseResult<Boolean> isShowButton(@RequestParam("shopId")Long shopId) {
|
||||
return ResponseResult.success(shopService.isShowButton(shopId));
|
||||
}
|
||||
|
||||
@ApiOperation("确定实际开业时间")
|
||||
@PostMapping("/confirmActualOpenDate")
|
||||
public ResponseResult<Boolean> confirmActualOpenDate(@RequestBody @Validated OpenDateReportRequest request) {
|
||||
return ResponseResult.success(shopService.confirmOpen( request,CurrentUserHolder.getUserId()));
|
||||
}
|
||||
|
||||
@ApiOperation("PC开业时间详情")
|
||||
@GetMapping("/getShopOpenInfo")
|
||||
public ResponseResult<OpenInfoDTO> getShopOpenInfo(@RequestParam("shopId")Long shopId) {
|
||||
return ResponseResult.success(shopService.getShopOpenInfo(shopId));
|
||||
}
|
||||
|
||||
@ApiOperation("PC提交计划开业时间")
|
||||
@PostMapping("/submitPlanOpenDate")
|
||||
public ResponseResult<Boolean> getRecommendedOrMyPointList(@RequestBody @Validated OpenDateReportRequest request) {
|
||||
return ResponseResult.success(shopService.submitOpenDateReport( request));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,6 +225,11 @@ public class PCTestController {
|
||||
return ResponseResult.success(dataHandleService.dataHandleService(shopId));
|
||||
}
|
||||
|
||||
@GetMapping("/openStageBatchInsert")
|
||||
public ResponseResult<Boolean> openStageBatchInsert(@RequestParam("shopId")Long shopId){
|
||||
return ResponseResult.success(dataHandleService.openStageBatchInsert(shopId));
|
||||
}
|
||||
|
||||
@GetMapping("/dataHandleServiceV25")
|
||||
public ResponseResult<Integer> dataHandleServiceV25(){
|
||||
return ResponseResult.success(dataHandleService.dataHandleServiceV25());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.controller.webc;
|
||||
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.dto.OpenInfoDTO;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.BranchShopDetailResponse;
|
||||
import com.cool.store.response.MiniShopsResponse;
|
||||
@@ -158,4 +159,15 @@ public class MiniShopController {
|
||||
return ResponseResult.success(pointService.getPointFinancialInfo( pointId));
|
||||
}
|
||||
|
||||
@ApiOperation("提交计划开业时间")
|
||||
@PostMapping("/submitPlanOpenDate")
|
||||
public ResponseResult<Boolean> getRecommendedOrMyPointList(@RequestBody @Validated OpenDateReportRequest request) {
|
||||
return ResponseResult.success(shopService.submitOpenDateReport( request));
|
||||
}
|
||||
|
||||
@ApiOperation("Mini开业时间详情")
|
||||
@GetMapping("/getShopOpenInfo")
|
||||
public ResponseResult<OpenInfoDTO> getShopOpenInfo(@RequestParam("shopId")Long shopId) {
|
||||
return ResponseResult.success(shopService.getShopOpenInfo(shopId));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user