feat:matterType
This commit is contained in:
@@ -299,7 +299,9 @@ public enum ErrorCodeEnum {
|
|||||||
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),
|
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);
|
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){
|
public MessageDetailVO getMessageDetail(Long id){
|
||||||
return storeMessageMapper.getMessageDetail(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.CommonDTO;
|
||||||
import com.cool.store.dto.notice.NoticeDTO;
|
import com.cool.store.dto.notice.NoticeDTO;
|
||||||
import com.cool.store.entity.MessageTemplateDO;
|
import com.cool.store.entity.MessageTemplateDO;
|
||||||
|
import com.cool.store.entity.StoreMessageDO;
|
||||||
import com.cool.store.request.notice.MessageTemplateQueryRequest;
|
import com.cool.store.request.notice.MessageTemplateQueryRequest;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import tk.mybatis.mapper.common.Mapper;
|
import tk.mybatis.mapper.common.Mapper;
|
||||||
@@ -25,6 +26,11 @@ public interface MessageTemplateMapper extends Mapper<MessageTemplateDO> {
|
|||||||
int batchUpdatePublishStatus(@Param("ids") List<Long> ids);
|
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);
|
MessageDetailVO getMessageDetail(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量更新处理
|
||||||
|
* @param id
|
||||||
|
* @param storeCodeList
|
||||||
|
*/
|
||||||
|
int batchUpdateHandle(@Param("id") Long id, @Param("storeCodeList") List<String> storeCodeList);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -127,4 +127,14 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</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>
|
</mapper>
|
||||||
@@ -216,6 +216,24 @@
|
|||||||
a.id = #{id}
|
a.id = #{id}
|
||||||
</select>
|
</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")
|
@Column(name = "jump_url")
|
||||||
private String jumpUrl;
|
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;
|
private String jumpUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty("处理关键字 针对processType需要处理的字段 需要传递该关键字识别 注意 每个批次门店任务keyword不能重复")
|
||||||
|
private String handleKeyword;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,4 +102,5 @@ public interface MessageTemplateService {
|
|||||||
Boolean handleMessage(Long id, PartnerUserInfoVO userInfoVO);
|
Boolean handleMessage(Long id, PartnerUserInfoVO userInfoVO);
|
||||||
|
|
||||||
|
|
||||||
|
ApiResponse<Boolean> thirdHandleMessage(ThirdHandleMessageRequest request);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,8 +36,12 @@ public class MatterConfigServiceImpl implements MatterConfigService {
|
|||||||
MatterConfigDO matterConfigDO = new MatterConfigDO();
|
MatterConfigDO matterConfigDO = new MatterConfigDO();
|
||||||
BeanUtils.copyProperties(request, matterConfigDO);
|
BeanUtils.copyProperties(request, matterConfigDO);
|
||||||
matterConfigDO.setCreateUserId(currentUser.getUserId());
|
matterConfigDO.setCreateUserId(currentUser.getUserId());
|
||||||
matterConfigDO.setDefaultStoreInfo(JSONObject.toJSONString(request.getStoreInfoList()));
|
if (CollectionUtils.isNotEmpty(request.getStoreInfoList())){
|
||||||
matterConfigDO.setDefaultHandlePersonInfo(JSONObject.toJSONString(request.getUserInfoList()));
|
matterConfigDO.setDefaultStoreInfo(JSONObject.toJSONString(request.getStoreInfoList()));
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(request.getUserInfoList())){
|
||||||
|
matterConfigDO.setDefaultHandlePersonInfo(JSONObject.toJSONString(request.getUserInfoList()));
|
||||||
|
}
|
||||||
return matterConfigDAO.insert(matterConfigDO);
|
return matterConfigDAO.insert(matterConfigDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ApiResponse<Boolean> thirdMatterHandle(ThirdMatterRequest thirdMatterRequest) {
|
public ApiResponse<Boolean> thirdMatterHandle(ThirdMatterRequest thirdMatterRequest) {
|
||||||
log.info("thirdMatterHandle request:{}", JSONObject.toJSONString(thirdMatterRequest));
|
log.info("thirdMatterHandle request:{}", JSONObject.toJSONString(thirdMatterRequest));
|
||||||
//第三方事项处理
|
//第三方事项处理
|
||||||
@@ -212,6 +213,7 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
messageTemplateDO.setPublishStatus(PublishStatusEnum.UNPUBLISHED.getCode());
|
messageTemplateDO.setPublishStatus(PublishStatusEnum.UNPUBLISHED.getCode());
|
||||||
messageTemplateDO.setJumpType(matterConfig.getJumpType());
|
messageTemplateDO.setJumpType(matterConfig.getJumpType());
|
||||||
messageTemplateDO.setJumpUrl(matterConfig.getJumpUrl());
|
messageTemplateDO.setJumpUrl(matterConfig.getJumpUrl());
|
||||||
|
messageTemplateDO.setHandleKeyword(thirdMatterRequest.getHandleKeyword());
|
||||||
|
|
||||||
if (MatterTypeEnum.LOGISTICS.getCode().equals(matterConfig.getMatterType())){
|
if (MatterTypeEnum.LOGISTICS.getCode().equals(matterConfig.getMatterType())){
|
||||||
SceneEnum scene = SceneEnum.getByCode(thirdMatterRequest.getSceneCode());
|
SceneEnum scene = SceneEnum.getByCode(thirdMatterRequest.getSceneCode());
|
||||||
@@ -449,6 +451,20 @@ public class MessageTemplateServiceImpl implements MessageTemplateService {
|
|||||||
return Boolean.TRUE;
|
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){
|
public Map<String, List<String>> getAuthUser(List<CommonDTO> personInfo, List<String> storeIds){
|
||||||
if (CollectionUtils.isEmpty(personInfo)){
|
if (CollectionUtils.isEmpty(personInfo)){
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package com.cool.store.controller.webb;
|
package com.cool.store.controller.webb;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.cool.store.context.PartnerUserHolder;
|
||||||
import com.cool.store.dto.*;
|
import com.cool.store.dto.*;
|
||||||
import com.cool.store.dto.store.StoreUserPositionDTO;
|
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.ThirdHandleMessageRequest;
|
||||||
import com.cool.store.request.notice.ThirdMatterRequest;
|
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;
|
||||||
@@ -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