feat:通知接口
This commit is contained in:
@@ -298,6 +298,7 @@ public enum ErrorCodeEnum {
|
|||||||
MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED(1610002,"只有未发布的消息能删除,请确认!",null),
|
MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED(1610002,"只有未发布的消息能删除,请确认!",null),
|
||||||
STORE_MESSAGE_REVOKE(1610003,"当前门店消息已撤销,请务重复操作",null),
|
STORE_MESSAGE_REVOKE(1610003,"当前门店消息已撤销,请务重复操作",null),
|
||||||
STORE_MESSAGE_HANDLED(1610004,"当前门店消息已处理,无法撤销!",null),
|
STORE_MESSAGE_HANDLED(1610004,"当前门店消息已处理,无法撤销!",null),
|
||||||
|
MATTER_STORE_OR_USER_IS_NULL(1610005,"当前事项门店或者人员为空,发布失败,请确认!",null),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ public enum MatterTypeEnum {
|
|||||||
QUESTION(0,"门店违规工单"),
|
QUESTION(0,"门店违规工单"),
|
||||||
LICENSE(1,"证照过期提醒"),
|
LICENSE(1,"证照过期提醒"),
|
||||||
NOTICE(2,"通知消息"),
|
NOTICE(2,"通知消息"),
|
||||||
|
LOGISTICS(3,"物流"),
|
||||||
|
SERVICE_PACKAGE(4,"服务包"),
|
||||||
|
RESTOCK(5,"补货"),
|
||||||
|
INVENTORY(6,"盘点"),
|
||||||
;
|
;
|
||||||
|
|
||||||
MatterTypeEnum(Integer code, String message) {
|
MatterTypeEnum(Integer code, String message) {
|
||||||
|
|||||||
@@ -10,10 +10,13 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public enum ModuleCodeEnum {
|
public enum ModuleCodeEnum {
|
||||||
|
|
||||||
STORE_WORK(0,"店务", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE,MatterTypeEnum.NOTICE)),
|
STORE_WORK(0,"店务日清/培训", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE)),
|
||||||
PRODUCT_UPDATE(1,"营销政策/产品上新",Arrays.asList(MatterTypeEnum.NOTICE)),
|
PRODUCT_UPDATE(1,"营销政策/产品上新",Arrays.asList(MatterTypeEnum.SERVICE_PACKAGE)),
|
||||||
INVENTORY_MODULE(2,"库存模块",Arrays.asList(MatterTypeEnum.NOTICE)),
|
INVENTORY_MODULE(2,"原料订货与库存管理",Arrays.asList(MatterTypeEnum.RESTOCK,MatterTypeEnum.INVENTORY,MatterTypeEnum.LOGISTICS)),
|
||||||
DISH(3,"菜品",Arrays.asList(MatterTypeEnum.NOTICE)),
|
DISH(3,"菜品",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||||
|
FRANCHISE(4,"加盟",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||||
|
//其他(投诉与客户服务、临时通知)
|
||||||
|
OTHER(5,"其他",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||||
;
|
;
|
||||||
|
|
||||||
ModuleCodeEnum(Integer code, String message,List<MatterTypeEnum> matterTypeEnums) {
|
ModuleCodeEnum(Integer code, String message,List<MatterTypeEnum> matterTypeEnums) {
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package com.cool.store.enums.notice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2025/8/26 15:43
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public enum SceneEnum {
|
||||||
|
|
||||||
|
SUBMIT_ORDER(0, "提交订单", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/j_l6em.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
ASSIGNED_PICKING(5, "已分配拣货", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/YLjBkv.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
PICKING_COMPLETED(10, "拣货完成", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/gG9Y-h.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
SHIPPED(15, "已出库", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/Ehz8_n.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
DELIVERY_IN_PROGRESS(20, "配送中", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/I6bAmA.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
ORDER_SIGNING_AND_ACCEPTANCE(25, "订单签收", "https://oss-cool.coolstore.cn/eid/214ac5a3a517472a87268e02a2e6410a/2508/0z7jkU.jpg", MatterTypeEnum.LOGISTICS),
|
||||||
|
|
||||||
|
SERVICE_PACKAGE(30, "服务包", "", MatterTypeEnum.LOGISTICS),
|
||||||
|
RESTOCK(35, "补货", "", MatterTypeEnum.LOGISTICS),
|
||||||
|
INVENTORY(40, "盘点", "", MatterTypeEnum.LOGISTICS),
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
private Integer sceneCode;
|
||||||
|
|
||||||
|
private String sceneName;
|
||||||
|
|
||||||
|
private String scenePicture;
|
||||||
|
|
||||||
|
private MatterTypeEnum matterTypeEnum;
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getSceneCode() {
|
||||||
|
return sceneCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSceneCode(Integer sceneCode) {
|
||||||
|
this.sceneCode = sceneCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSceneName() {
|
||||||
|
return sceneName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSceneName(String sceneName) {
|
||||||
|
this.sceneName = sceneName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getScenePicture() {
|
||||||
|
return scenePicture;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScenePicture(String scenePicture) {
|
||||||
|
this.scenePicture = scenePicture;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MatterTypeEnum getMatterTypeEnum() {
|
||||||
|
return matterTypeEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMatterTypeEnum(MatterTypeEnum matterTypeEnum) {
|
||||||
|
this.matterTypeEnum = matterTypeEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
SceneEnum(Integer sceneCode, String sceneName, String scenePicture, MatterTypeEnum matterTypeEnum) {
|
||||||
|
this.sceneCode = sceneCode;
|
||||||
|
this.sceneName = sceneName;
|
||||||
|
this.scenePicture = scenePicture;
|
||||||
|
this.matterTypeEnum = matterTypeEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过code获取枚举
|
||||||
|
* @param code
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static SceneEnum getByCode(Integer code) {
|
||||||
|
for (SceneEnum value : values()) {
|
||||||
|
if (value.sceneCode.equals(code)) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -56,6 +56,13 @@ public class EnterpriseUserDAO {
|
|||||||
return enterpriseUserMapper.getUserInfoByUserIds(userIdList);
|
return enterpriseUserMapper.getUserInfoByUserIds(userIdList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<EnterpriseUserDO> getUserInfoByUserMobileList(List<String> mobileList) {
|
||||||
|
if (CollectionUtils.isEmpty(mobileList)) {
|
||||||
|
return Lists.newArrayList();
|
||||||
|
}
|
||||||
|
return enterpriseUserMapper.getUserInfoByUserMobileList(mobileList);
|
||||||
|
}
|
||||||
|
|
||||||
public List<EnterpriseUserDO> searchUserByRegionIdsAndKeyword(List<String> regionIds, String keyword, List<String> leaderRegionIds) {
|
public List<EnterpriseUserDO> searchUserByRegionIdsAndKeyword(List<String> regionIds, String keyword, List<String> leaderRegionIds) {
|
||||||
if (CollectionUtils.isEmpty(regionIds)) {
|
if (CollectionUtils.isEmpty(regionIds)) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ public interface EnterpriseUserMapper {
|
|||||||
*/
|
*/
|
||||||
List<EnterpriseUserDO> getUserInfoByUserIds( @Param("userIdList") List<String> userIdList);
|
List<EnterpriseUserDO> getUserInfoByUserIds( @Param("userIdList") List<String> userIdList);
|
||||||
|
|
||||||
|
List<EnterpriseUserDO> getUserInfoByUserMobileList( @Param("mobileList") List<String> mobileList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据关键字搜索部门下的用户
|
* 根据关键字搜索部门下的用户
|
||||||
* @param regionIds
|
* @param regionIds
|
||||||
|
|||||||
@@ -82,6 +82,21 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getUserInfoByUserMobileList" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>,
|
||||||
|
<include refid="Blob_Column_List"/>
|
||||||
|
from
|
||||||
|
enterprise_user_${enterpriseId}
|
||||||
|
<where>
|
||||||
|
<if test="mobileList !=null and mobileList.size>0">
|
||||||
|
<foreach collection="mobileList" item="mobile" open="and mobile in (" close=")" separator=",">
|
||||||
|
#{mobile}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="searchUserByRegionIdsAndKeyword" resultMap="BaseResultMap">
|
<select id="searchUserByRegionIdsAndKeyword" resultMap="BaseResultMap">
|
||||||
select
|
select
|
||||||
|
|||||||
@@ -151,5 +151,10 @@ public class MessageTemplateDO {
|
|||||||
@Column(name = "store_info")
|
@Column(name = "store_info")
|
||||||
private String storeInfo;
|
private String storeInfo;
|
||||||
|
|
||||||
|
@Column(name = "jump_type")
|
||||||
|
private Integer jumpType;
|
||||||
|
@Column(name = "jump_url")
|
||||||
|
private String jumpUrl;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package com.cool.store.request.notice;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2025/8/26 16:10
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ThirdMatterRequest {
|
||||||
|
|
||||||
|
@ApiModelProperty("0-提交订单 5-已分配拣货 10-拣货完成 15-已出库 20-配送中 25-订单签收 30-服务包发布 35-补货 40-盘点通知 ")
|
||||||
|
@NotNull(message = "场景不能为空")
|
||||||
|
private Integer sceneCode;
|
||||||
|
|
||||||
|
@ApiModelProperty("事项配置ID CRM配置好部分信息 找CRM提供")
|
||||||
|
@NotNull(message = "事项配置ID不能为空")
|
||||||
|
private Long matterConfigId;
|
||||||
|
|
||||||
|
@ApiModelProperty("事项标题")
|
||||||
|
@NotBlank(message = "事项标题不能为空")
|
||||||
|
private String matterTitle;
|
||||||
|
|
||||||
|
@ApiModelProperty("处理类型(1:仅阅读 2:需要处理)")
|
||||||
|
@NotNull(message = "处理类型不能为空")
|
||||||
|
private Integer processType;
|
||||||
|
|
||||||
|
@ApiModelProperty("提醒类型(1:持续提醒 2:阶段提醒)")
|
||||||
|
@NotNull(message = "提醒类型不能为空")
|
||||||
|
private Integer remindType;
|
||||||
|
|
||||||
|
@ApiModelProperty("阶段提醒时 需要设置时间范围 开始时间")
|
||||||
|
private Date remindStartTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("阶段提醒时 需要设置时间范围 结束时间")
|
||||||
|
private Date remindEndTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("截止时间")
|
||||||
|
private Date deadline;
|
||||||
|
|
||||||
|
@ApiModelProperty("今日必办标识 0非必办 1必办")
|
||||||
|
@NotNull(message = "今日必办标识不能为空")
|
||||||
|
private Integer todayTask;
|
||||||
|
|
||||||
|
@ApiModelProperty("消息图片URL 物流crm自动匹配 无需传递")
|
||||||
|
private String messageImage;
|
||||||
|
|
||||||
|
@ApiModelProperty("门店范围 如果不传 默认取matterConfigId对应的门店范围 如果都没有 任务处于待发布状态")
|
||||||
|
List<String> shopCodeList;
|
||||||
|
|
||||||
|
@ApiModelProperty("手机号列表 如果不传 默认取matterConfigId配置的人员信息 如果都没有 任务处于待发布状态")
|
||||||
|
List<String> mobileList;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package com.cool.store.service;
|
|||||||
import com.cool.store.context.LoginUserInfo;
|
import com.cool.store.context.LoginUserInfo;
|
||||||
import com.cool.store.dto.notice.NoticeDTO;
|
import com.cool.store.dto.notice.NoticeDTO;
|
||||||
import com.cool.store.request.notice.*;
|
import com.cool.store.request.notice.*;
|
||||||
|
import com.cool.store.response.bigdata.ApiResponse;
|
||||||
import com.cool.store.vo.PartnerUserInfoVO;
|
import com.cool.store.vo.PartnerUserInfoVO;
|
||||||
import com.cool.store.vo.notice.*;
|
import com.cool.store.vo.notice.*;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
@@ -51,11 +52,17 @@ public interface MessageTemplateService {
|
|||||||
/**
|
/**
|
||||||
* batch 批量发布
|
* batch 批量发布
|
||||||
* @param request
|
* @param request
|
||||||
* @param user
|
* @param userId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Boolean batchPublishMessageTemplate(BatchPublishRequest request, LoginUserInfo user);
|
Boolean batchPublishMessageTemplate(BatchPublishRequest request, String userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* thirdMatterHandle 第三方接口处理
|
||||||
|
* @param thirdMatterRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ApiResponse<Boolean> thirdMatterHandle(ThirdMatterRequest thirdMatterRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取列表
|
* 获取列表
|
||||||
|
|||||||
@@ -4,10 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cool.store.context.LoginUserInfo;
|
import com.cool.store.context.LoginUserInfo;
|
||||||
import com.cool.store.context.PartnerUserHolder;
|
import com.cool.store.context.PartnerUserHolder;
|
||||||
import com.cool.store.dao.EnterpriseUserDAO;
|
import com.cool.store.dao.*;
|
||||||
import com.cool.store.dao.MessageTemplateDAO;
|
|
||||||
import com.cool.store.dao.RegionDao;
|
|
||||||
import com.cool.store.dao.StoreMessageDAO;
|
|
||||||
import com.cool.store.dto.notice.CommonDTO;
|
import com.cool.store.dto.notice.CommonDTO;
|
||||||
import com.cool.store.dto.notice.MessageTemplateCountDTO;
|
import com.cool.store.dto.notice.MessageTemplateCountDTO;
|
||||||
import com.cool.store.dto.notice.NoticeDTO;
|
import com.cool.store.dto.notice.NoticeDTO;
|
||||||
@@ -20,6 +17,7 @@ import com.cool.store.exception.ServiceException;
|
|||||||
import com.cool.store.mapper.StoreGroupMappingMapper;
|
import com.cool.store.mapper.StoreGroupMappingMapper;
|
||||||
import com.cool.store.mapper.StoreMapper;
|
import com.cool.store.mapper.StoreMapper;
|
||||||
import com.cool.store.request.notice.*;
|
import com.cool.store.request.notice.*;
|
||||||
|
import com.cool.store.response.bigdata.ApiResponse;
|
||||||
import com.cool.store.service.MessageTemplateService;
|
import com.cool.store.service.MessageTemplateService;
|
||||||
import com.cool.store.service.StoreService;
|
import com.cool.store.service.StoreService;
|
||||||
import com.cool.store.utils.CoolDateUtils;
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
@@ -65,6 +63,8 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
StoreMessageDAO storeMessageDAO;
|
StoreMessageDAO storeMessageDAO;
|
||||||
@Resource
|
@Resource
|
||||||
EnterpriseUserDAO enterpriseUserDAO;
|
EnterpriseUserDAO enterpriseUserDAO;
|
||||||
|
@Resource
|
||||||
|
MatterConfigDAO matterConfigDAO;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean batchPublishMessageTemplate(BatchPublishRequest request, LoginUserInfo user) {
|
public Boolean batchPublishMessageTemplate(BatchPublishRequest request, String userId) {
|
||||||
if (CollectionUtils.isEmpty(request.getIds())||CollectionUtils.isEmpty(request.getStoreInfoList())||CollectionUtils.isEmpty(request.getUserInfoList())){
|
if (CollectionUtils.isEmpty(request.getIds())||CollectionUtils.isEmpty(request.getStoreInfoList())||CollectionUtils.isEmpty(request.getUserInfoList())){
|
||||||
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
||||||
}
|
}
|
||||||
@@ -180,11 +180,94 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
messageTemplateDAO.batchUpdateStoreInfoAndUserInfo(updateIds,
|
messageTemplateDAO.batchUpdateStoreInfoAndUserInfo(updateIds,
|
||||||
JSONObject.toJSONString(request.getStoreInfoList()),
|
JSONObject.toJSONString(request.getStoreInfoList()),
|
||||||
JSONObject.toJSONString(request.getUserInfoList()),
|
JSONObject.toJSONString(request.getUserInfoList()),
|
||||||
user.getUserId());
|
userId);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResponse<Boolean> thirdMatterHandle(ThirdMatterRequest thirdMatterRequest) {
|
||||||
|
//第三方事项处理
|
||||||
|
MatterConfigDO matterConfig = matterConfigDAO.getById(thirdMatterRequest.getMatterConfigId());
|
||||||
|
//封装事项模版
|
||||||
|
MessageTemplateDO messageTemplateDO = new MessageTemplateDO();
|
||||||
|
messageTemplateDO.setMessageCode(getMessageTemplateCode());
|
||||||
|
messageTemplateDO.setModuleCode(matterConfig.getModuleCode());
|
||||||
|
messageTemplateDO.setMatterType(matterConfig.getMatterType());
|
||||||
|
messageTemplateDO.setMessageTitle(thirdMatterRequest.getMatterTitle());
|
||||||
|
messageTemplateDO.setSystemSource(matterConfig.getSystemSource());
|
||||||
|
messageTemplateDO.setProcessType(thirdMatterRequest.getProcessType());
|
||||||
|
messageTemplateDO.setRemindType(thirdMatterRequest.getRemindType());
|
||||||
|
if (RemindTypeEnum.STAGE_REMINDER.getCode().equals(thirdMatterRequest.getRemindType())){
|
||||||
|
messageTemplateDO.setRemindStartTime(thirdMatterRequest.getRemindStartTime());
|
||||||
|
messageTemplateDO.setRemindEndTime(thirdMatterRequest.getRemindEndTime());
|
||||||
|
}
|
||||||
|
messageTemplateDO.setDeadline(thirdMatterRequest.getDeadline());
|
||||||
|
messageTemplateDO.setTodayTask(thirdMatterRequest.getTodayTask());
|
||||||
|
messageTemplateDO.setMessageImage(thirdMatterRequest.getMessageImage());
|
||||||
|
messageTemplateDO.setPublishStatus(PublishStatusEnum.PUBLISHED.getCode());
|
||||||
|
messageTemplateDO.setJumpType(matterConfig.getJumpType());
|
||||||
|
messageTemplateDO.setJumpUrl(matterConfig.getJumpUrl());
|
||||||
|
|
||||||
|
if (MatterTypeEnum.LOGISTICS.getCode().equals(matterConfig.getMatterType())){
|
||||||
|
SceneEnum scene = SceneEnum.getByCode(thirdMatterRequest.getSceneCode());
|
||||||
|
messageTemplateDO.setMessageImage(scene.getScenePicture());
|
||||||
|
}
|
||||||
|
//如果是盘点 截止日期去当天
|
||||||
|
if (MatterTypeEnum.INVENTORY.getCode().equals(matterConfig.getMatterType())){
|
||||||
|
messageTemplateDO.setDeadline(new Date());
|
||||||
|
}
|
||||||
|
String storeInfo = matterConfig.getDefaultStoreInfo();
|
||||||
|
String userInfo = matterConfig.getDefaultHandlePersonInfo();
|
||||||
|
//门店
|
||||||
|
if (CollectionUtils.isNotEmpty(thirdMatterRequest.getShopCodeList())){
|
||||||
|
log.info("shopCodeList:{}",JSONObject.toJSONString(thirdMatterRequest.getShopCodeList()));
|
||||||
|
List<StoreDO> storeNumByStoreCodes = storeMapper.getStoreNumByStoreCodes(thirdMatterRequest.getShopCodeList());
|
||||||
|
if (CollectionUtils.isEmpty(storeNumByStoreCodes)){
|
||||||
|
//组装成门店信息
|
||||||
|
List<CommonDTO> storeList = new ArrayList<>();
|
||||||
|
storeNumByStoreCodes.forEach(x -> {
|
||||||
|
CommonDTO store = new CommonDTO("store", x.getStoreNum(), x.getStoreName());
|
||||||
|
storeList.add(store);
|
||||||
|
});
|
||||||
|
storeInfo = JSONObject.toJSONString(storeList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//人员
|
||||||
|
List<EnterpriseUserDO> userInfoByUserMobileList = enterpriseUserDAO.getUserInfoByUserMobileList(thirdMatterRequest.getMobileList());
|
||||||
|
if (CollectionUtils.isEmpty(userInfoByUserMobileList)){
|
||||||
|
//组装人员信息
|
||||||
|
List<CommonDTO> userList = new ArrayList<>();
|
||||||
|
userInfoByUserMobileList.forEach(x -> {
|
||||||
|
CommonDTO user = new CommonDTO("user", x.getUserId(), x.getName());
|
||||||
|
userList.add(user);
|
||||||
|
});
|
||||||
|
userInfo = JSONObject.toJSONString(userList);
|
||||||
|
}
|
||||||
|
Boolean publishFlag = Boolean.TRUE;
|
||||||
|
//校验是否发布
|
||||||
|
if (StringUtils.isEmpty(userInfo)|| StringUtils.isEmpty(storeInfo)){
|
||||||
|
publishFlag = Boolean.FALSE;
|
||||||
|
messageTemplateDO.setPublishStatus(PublishStatusEnum.UNPUBLISHED.getCode());
|
||||||
|
}
|
||||||
|
int messageId = messageTemplateDAO.insert(messageTemplateDO);
|
||||||
|
//调用发布
|
||||||
|
if (publishFlag){
|
||||||
|
//开始计算人员门店
|
||||||
|
BatchPublishRequest batchPublishRequest = new BatchPublishRequest();
|
||||||
|
batchPublishRequest.setIds(Arrays.asList(Long.valueOf(messageId)));
|
||||||
|
batchPublishRequest.setStoreInfoList(JSONObject.parseArray(storeInfo, CommonDTO.class));
|
||||||
|
batchPublishRequest.setUserInfoList(JSONObject.parseArray(userInfo, CommonDTO.class));
|
||||||
|
try {
|
||||||
|
batchPublishMessageTemplate(batchPublishRequest,"");
|
||||||
|
} catch (ServiceException e) {
|
||||||
|
return new ApiResponse(e.getErrorCode(), e.getErrorMessage(), null);
|
||||||
|
}
|
||||||
|
return ApiResponse.success(Boolean.TRUE);
|
||||||
|
}
|
||||||
|
return ApiResponse.error(ErrorCodeEnum.MATTER_STORE_OR_USER_IS_NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<NoticeDTO> getMessageTemplateList(MessageTemplateQueryRequest request) {
|
public PageInfo<NoticeDTO> getMessageTemplateList(MessageTemplateQueryRequest request) {
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class MessageTemplateController {
|
|||||||
@PostMapping("/batchPublish")
|
@PostMapping("/batchPublish")
|
||||||
@ApiOperation("批量发布")
|
@ApiOperation("批量发布")
|
||||||
public ResponseResult<Boolean> batchPublishMessageTemplate(@RequestBody BatchPublishRequest request) {
|
public ResponseResult<Boolean> batchPublishMessageTemplate(@RequestBody BatchPublishRequest request) {
|
||||||
return ResponseResult.success(messageTemplateService.batchPublishMessageTemplate(request, CurrentUserHolder.getUser()));
|
return ResponseResult.success(messageTemplateService.batchPublishMessageTemplate(request, CurrentUserHolder.getUser().getUserId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/getMessageTemplateList")
|
@PostMapping("/getMessageTemplateList")
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.cool.store.dto.store.StoreUserPositionDTO;
|
|||||||
import com.cool.store.request.OpenApiStoreRequest;
|
import com.cool.store.request.OpenApiStoreRequest;
|
||||||
import com.cool.store.request.StoreCodeDTO;
|
import com.cool.store.request.StoreCodeDTO;
|
||||||
import com.cool.store.request.*;
|
import com.cool.store.request.*;
|
||||||
|
import com.cool.store.request.notice.ThirdMatterRequest;
|
||||||
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
|
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
|
||||||
import com.cool.store.request.xgj.ReceiptCallBackRequest;
|
import com.cool.store.request.xgj.ReceiptCallBackRequest;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
@@ -44,6 +45,8 @@ public class OpenApiController {
|
|||||||
ShopAccountService shopAccountService;
|
ShopAccountService shopAccountService;
|
||||||
@Resource
|
@Resource
|
||||||
StoreService storeService;
|
StoreService storeService;
|
||||||
|
@Resource
|
||||||
|
MessageTemplateService messageTemplateService;
|
||||||
|
|
||||||
@PostMapping("/statusRefresh")
|
@PostMapping("/statusRefresh")
|
||||||
public ApiResponse<Boolean> statusRefresh(@RequestBody StatusRefreshDTO statusRefreshDTO){
|
public ApiResponse<Boolean> statusRefresh(@RequestBody StatusRefreshDTO statusRefreshDTO){
|
||||||
@@ -151,4 +154,12 @@ public class OpenApiController {
|
|||||||
return ApiResponse.success(decorationDesignInfoService.decorationAcceptance(request));
|
return ApiResponse.success(decorationDesignInfoService.decorationAcceptance(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("事项处理")
|
||||||
|
@PostMapping("/matterHandle")
|
||||||
|
public ApiResponse<Boolean> thirdMatterHandle(@RequestBody @Validated ThirdMatterRequest request) {
|
||||||
|
log.info("thirdMatterHandle request:{}", JSONObject.toJSONString(request));
|
||||||
|
return messageTemplateService.thirdMatterHandle(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user