feat:matterType
This commit is contained in:
@@ -299,7 +299,9 @@ public enum ErrorCodeEnum {
|
||||
STORE_MESSAGE_REVOKE(1610003,"当前门店消息已撤销,请务重复操作",null),
|
||||
STORE_MESSAGE_HANDLED(1610004,"当前门店消息已处理,无法撤销!",null),
|
||||
MATTER_STORE_OR_USER_IS_NULL(1610005,"当前事项门店或者人员为空,发布失败,请确认!",null),
|
||||
CONFIG_NOT_EXIST(1610006,"配置不存在或被禁用,请确认!",null);
|
||||
CONFIG_NOT_EXIST(1610006,"配置不存在或被禁用,请确认!",null),
|
||||
MESSAGE_NOT_EXIST(1610007,"消息模板不存在或已被删除",null),
|
||||
MESSAGE_NOT_HANDLED(1610008,"当前消息无需处理,请确认消息处理类型!",null),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -71,6 +71,13 @@ public class MessageTemplateDAO {
|
||||
return messageTemplateMapper.batchUpdatePublishStatus(ids);
|
||||
}
|
||||
|
||||
public MessageTemplateDO getByKeyword(String keyword) {
|
||||
if (keyword == null){
|
||||
return null;
|
||||
}
|
||||
return messageTemplateMapper.getByKeyword(keyword);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -87,4 +87,11 @@ public class StoreMessageDAO {
|
||||
public MessageDetailVO getMessageDetail(Long id){
|
||||
return storeMessageMapper.getMessageDetail(id);
|
||||
}
|
||||
|
||||
public Integer batchUpdateHandle(Long id, List<String> storeCodeList){
|
||||
if (id==null||CollectionUtils.isEmpty(storeCodeList)){
|
||||
return 0;
|
||||
}
|
||||
return storeMessageMapper.batchUpdateHandle(id,storeCodeList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.cool.store.mapper;
|
||||
import com.cool.store.dto.notice.CommonDTO;
|
||||
import com.cool.store.dto.notice.NoticeDTO;
|
||||
import com.cool.store.entity.MessageTemplateDO;
|
||||
import com.cool.store.entity.StoreMessageDO;
|
||||
import com.cool.store.request.notice.MessageTemplateQueryRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
@@ -25,6 +26,11 @@ public interface MessageTemplateMapper extends Mapper<MessageTemplateDO> {
|
||||
int batchUpdatePublishStatus(@Param("ids") List<Long> ids);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据关键词查询
|
||||
* @param keyword
|
||||
* @return
|
||||
*/
|
||||
MessageTemplateDO getByKeyword(@Param("keyword") String keyword);
|
||||
|
||||
}
|
||||
@@ -35,4 +35,11 @@ public interface StoreMessageMapper extends Mapper<StoreMessageDO> {
|
||||
|
||||
MessageDetailVO getMessageDetail(Long id);
|
||||
|
||||
/**
|
||||
* 批量更新处理
|
||||
* @param id
|
||||
* @param storeCodeList
|
||||
*/
|
||||
int batchUpdateHandle(@Param("id") Long id, @Param("storeCodeList") List<String> storeCodeList);
|
||||
|
||||
}
|
||||
@@ -127,4 +127,14 @@
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="getByKeyword" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
*
|
||||
FROM zxjp_message_template
|
||||
WHERE deleted = 0
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND handle_keyword = #{keyword,jdbcType=VARCHAR}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -216,6 +216,24 @@
|
||||
a.id = #{id}
|
||||
</select>
|
||||
|
||||
<update id="batchUpdateHandle">
|
||||
UPDATE zxjp_store_message
|
||||
SET
|
||||
process_status = 1,
|
||||
process_time = NOW(),
|
||||
read_status = 1,
|
||||
read_time = NOW(),
|
||||
update_time = NOW()
|
||||
<where>
|
||||
<if test="id != null">
|
||||
AND message_template_id = #{id}
|
||||
</if>
|
||||
and store_code IN
|
||||
<foreach item="item" collection="storeCodeList" index="index" separator="," close=")" open="(">
|
||||
#{item}
|
||||
</foreach>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -156,5 +156,8 @@ public class MessageTemplateDO {
|
||||
@Column(name = "jump_url")
|
||||
private String jumpUrl;
|
||||
|
||||
@Column(name = "handle_keyword")
|
||||
private String handleKeyword;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
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.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/8/29 11:10
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class ThirdHandleMessageRequest {
|
||||
|
||||
@ApiModelProperty("发起任务时 传的handleKeyword")
|
||||
@NotBlank(message = "handleKeyword不能为空")
|
||||
private String handleKeyword;
|
||||
|
||||
@ApiModelProperty("门店编码列表")
|
||||
@NotNull(message = "门店编码列表不能为空")
|
||||
private List<String> shopCodeList;
|
||||
|
||||
}
|
||||
@@ -60,4 +60,7 @@ public class ThirdMatterRequest {
|
||||
|
||||
private String jumpUrl;
|
||||
|
||||
@ApiModelProperty("处理关键字 针对processType需要处理的字段 需要传递该关键字识别 注意 每个批次门店任务keyword不能重复")
|
||||
private String handleKeyword;
|
||||
|
||||
}
|
||||
|
||||
@@ -102,4 +102,5 @@ public interface MessageTemplateService {
|
||||
Boolean handleMessage(Long id, PartnerUserInfoVO userInfoVO);
|
||||
|
||||
|
||||
ApiResponse<Boolean> thirdHandleMessage(ThirdHandleMessageRequest request);
|
||||
}
|
||||
|
||||
@@ -36,8 +36,12 @@ public class MatterConfigServiceImpl implements MatterConfigService {
|
||||
MatterConfigDO matterConfigDO = new MatterConfigDO();
|
||||
BeanUtils.copyProperties(request, matterConfigDO);
|
||||
matterConfigDO.setCreateUserId(currentUser.getUserId());
|
||||
if (CollectionUtils.isNotEmpty(request.getStoreInfoList())){
|
||||
matterConfigDO.setDefaultStoreInfo(JSONObject.toJSONString(request.getStoreInfoList()));
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(request.getUserInfoList())){
|
||||
matterConfigDO.setDefaultHandlePersonInfo(JSONObject.toJSONString(request.getUserInfoList()));
|
||||
}
|
||||
return matterConfigDAO.insert(matterConfigDO);
|
||||
}
|
||||
|
||||
|
||||
@@ -186,6 +186,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ApiResponse<Boolean> thirdMatterHandle(ThirdMatterRequest thirdMatterRequest) {
|
||||
log.info("thirdMatterHandle request:{}", JSONObject.toJSONString(thirdMatterRequest));
|
||||
//第三方事项处理
|
||||
@@ -212,6 +213,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
messageTemplateDO.setPublishStatus(PublishStatusEnum.UNPUBLISHED.getCode());
|
||||
messageTemplateDO.setJumpType(matterConfig.getJumpType());
|
||||
messageTemplateDO.setJumpUrl(matterConfig.getJumpUrl());
|
||||
messageTemplateDO.setHandleKeyword(thirdMatterRequest.getHandleKeyword());
|
||||
|
||||
if (MatterTypeEnum.LOGISTICS.getCode().equals(matterConfig.getMatterType())){
|
||||
SceneEnum scene = SceneEnum.getByCode(thirdMatterRequest.getSceneCode());
|
||||
@@ -449,6 +451,20 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Boolean> thirdHandleMessage(ThirdHandleMessageRequest request) {
|
||||
log.info("thirdHandleMessage request:{}", JSONObject.toJSONString(request));
|
||||
MessageTemplateDO message = messageTemplateDAO.getByKeyword(request.getHandleKeyword());
|
||||
if (message==null){
|
||||
return ApiResponse.error(ErrorCodeEnum.MESSAGE_NOT_EXIST);
|
||||
}
|
||||
if (!ProcessTypeEnum.HANDLE.equals(message.getProcessType())){
|
||||
return ApiResponse.error(ErrorCodeEnum.MESSAGE_NOT_HANDLED);
|
||||
}
|
||||
storeMessageDAO.batchUpdateHandle(message.getId(), request.getShopCodeList());
|
||||
return ApiResponse.success(Boolean.TRUE);
|
||||
}
|
||||
|
||||
|
||||
public Map<String, List<String>> getAuthUser(List<CommonDTO> personInfo, List<String> storeIds){
|
||||
if (CollectionUtils.isEmpty(personInfo)){
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.context.PartnerUserHolder;
|
||||
import com.cool.store.dto.*;
|
||||
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||
import com.cool.store.request.OpenApiStoreRequest;
|
||||
import com.cool.store.request.StoreCodeDTO;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.request.notice.ThirdHandleMessageRequest;
|
||||
import com.cool.store.request.notice.ThirdMatterRequest;
|
||||
import com.cool.store.request.xgj.FranchiseFeeCallBackRequest;
|
||||
import com.cool.store.request.xgj.ReceiptCallBackRequest;
|
||||
@@ -162,4 +164,9 @@ public class OpenApiController {
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("确认已处理")
|
||||
@GetMapping("/handleMessage")
|
||||
public ApiResponse<Boolean> handleMessage(@RequestBody @Validated ThirdHandleMessageRequest request) {
|
||||
return messageTemplateService.thirdHandleMessage(request);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user