feat:通知接口
This commit is contained in:
@@ -3,6 +3,7 @@ package com.cool.store.service;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.dto.notice.NoticeDTO;
|
||||
import com.cool.store.request.notice.*;
|
||||
import com.cool.store.response.bigdata.ApiResponse;
|
||||
import com.cool.store.vo.PartnerUserInfoVO;
|
||||
import com.cool.store.vo.notice.*;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@@ -51,11 +52,17 @@ public interface MessageTemplateService {
|
||||
/**
|
||||
* batch 批量发布
|
||||
* @param request
|
||||
* @param user
|
||||
* @param userId
|
||||
* @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.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.MessageTemplateDAO;
|
||||
import com.cool.store.dao.RegionDao;
|
||||
import com.cool.store.dao.StoreMessageDAO;
|
||||
import com.cool.store.dao.*;
|
||||
import com.cool.store.dto.notice.CommonDTO;
|
||||
import com.cool.store.dto.notice.MessageTemplateCountDTO;
|
||||
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.StoreMapper;
|
||||
import com.cool.store.request.notice.*;
|
||||
import com.cool.store.response.bigdata.ApiResponse;
|
||||
import com.cool.store.service.MessageTemplateService;
|
||||
import com.cool.store.service.StoreService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
@@ -65,6 +63,8 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
StoreMessageDAO storeMessageDAO;
|
||||
@Resource
|
||||
EnterpriseUserDAO enterpriseUserDAO;
|
||||
@Resource
|
||||
MatterConfigDAO matterConfigDAO;
|
||||
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
|
||||
|
||||
@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())){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
||||
}
|
||||
@@ -180,11 +180,94 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
messageTemplateDAO.batchUpdateStoreInfoAndUserInfo(updateIds,
|
||||
JSONObject.toJSONString(request.getStoreInfoList()),
|
||||
JSONObject.toJSONString(request.getUserInfoList()),
|
||||
user.getUserId());
|
||||
userId);
|
||||
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
|
||||
public PageInfo<NoticeDTO> getMessageTemplateList(MessageTemplateQueryRequest request) {
|
||||
|
||||
Reference in New Issue
Block a user