feat:事项
This commit is contained in:
@@ -287,6 +287,10 @@ public enum ErrorCodeEnum {
|
||||
PRODUCTS_DISCARDED(1511034,"产品已报销,无法操作",null),
|
||||
PRODUCTS_SALES_COMPLETED(1511034,"含有销售完成的产品,无法批量报销",null),
|
||||
STORE_IS_EXIST(1511035,"该门店已存在",null),
|
||||
|
||||
|
||||
MESSAGE_TEMPLATE_NOT_SUPPORT_EDIT(1610001,"当前消息已发布,不支持编辑!",null),
|
||||
MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED(1610002,"只有未发布的消息能删除,请确认!",null),
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@ import java.util.List;
|
||||
*/
|
||||
public enum ModuleCodeEnum {
|
||||
|
||||
STORE_WORK(0,"店务", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE)),
|
||||
STORE_WORK(0,"店务", Arrays.asList(MatterTypeEnum.QUESTION,MatterTypeEnum.LICENSE,MatterTypeEnum.NOTICE)),
|
||||
PRODUCT_UPDATE(1,"营销政策/产品上新",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||
INVENTORY_MODULE(2,"库存模块",Arrays.asList()),
|
||||
DISH(3,"菜品",Arrays.asList()),
|
||||
INVENTORY_MODULE(2,"库存模块",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||
DISH(3,"菜品",Arrays.asList(MatterTypeEnum.NOTICE)),
|
||||
;
|
||||
|
||||
ModuleCodeEnum(Integer code, String message,List<MatterTypeEnum> matterTypeEnums) {
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.cool.store.enums.notice;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 10:05
|
||||
* @Version 1.0
|
||||
*/
|
||||
public enum TypeEnum {
|
||||
|
||||
|
||||
PERSON("人员","person", "按人员"),
|
||||
POSITION("人员","position", "按职位"),
|
||||
USER_GROUP("人员","userGroup", "按人员分组"),
|
||||
ORGANIZATION("人员","organization", "按组织架构"),
|
||||
REGION("门店","region", "按区域架构"),
|
||||
STORE("门店","store", "按门店架构"),
|
||||
GROUP("门店","group", "按门店分钟"),
|
||||
|
||||
;
|
||||
private String group;
|
||||
|
||||
private String type;
|
||||
|
||||
private String message;
|
||||
|
||||
|
||||
TypeEnum(String group, String type, String message) {
|
||||
this.group = group;
|
||||
this.type = type;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getGroup() {
|
||||
return group;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.MessageTemplateDO;
|
||||
import com.cool.store.mapper.MessageTemplateMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 9:40
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Repository
|
||||
public class MessageTemplateDAO {
|
||||
|
||||
@Resource
|
||||
private MessageTemplateMapper messageTemplateMapper;
|
||||
|
||||
|
||||
public int insert(MessageTemplateDO messageTemplateDO) {
|
||||
return messageTemplateMapper.insertSelective(messageTemplateDO);
|
||||
}
|
||||
|
||||
public int update(MessageTemplateDO messageTemplateDO) {
|
||||
return messageTemplateMapper.updateByPrimaryKeySelective(messageTemplateDO);
|
||||
}
|
||||
|
||||
public MessageTemplateDO getById(Long id) {
|
||||
return messageTemplateMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
public List<MessageTemplateDO> getByIds(List<Long> ids) {
|
||||
if (CollectionUtils.isEmpty(ids)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return messageTemplateMapper.selectByIds(ids);
|
||||
}
|
||||
|
||||
public int updateDeleteStatusBatch(List<Long> ids,String userId) {
|
||||
return messageTemplateMapper.updateDeleteStatusBatch(ids,userId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.cool.store.dao;
|
||||
|
||||
import com.cool.store.entity.StoreMessageDO;
|
||||
import com.cool.store.mapper.StoreMessageMapper;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 15:04
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class StoreMessageDAO {
|
||||
|
||||
@Resource
|
||||
StoreMessageMapper storeMessageMapper;
|
||||
/**
|
||||
* 批量新增
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
public int batchInsert(List<StoreMessageDO> list){
|
||||
return storeMessageMapper.insertBatch(list);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 11:03
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface EnterpriseUserGroupMappingMapper {
|
||||
|
||||
List<String> getUserIdsByGroupIdList(@Param("groupIdList") List<String> groupIdList);
|
||||
|
||||
}
|
||||
@@ -99,4 +99,6 @@ public interface EnterpriseUserMapper {
|
||||
* @return
|
||||
*/
|
||||
List<EnterpriseUserDO> searchUserByUserIdsAndKeyword( @Param("userIdList") List<String> userIdList, @Param("keyword") String keyword);
|
||||
|
||||
List<String> getUserIdsByRegionIdList( @Param("regionIdList") List<String> regionIdList);
|
||||
}
|
||||
@@ -1,7 +1,15 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.MessageTemplateDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MessageTemplateMapper extends Mapper<MessageTemplateDO> {
|
||||
|
||||
List<MessageTemplateDO> selectByIds(@Param("ids") List<Long> ids);
|
||||
|
||||
int updateDeleteStatusBatch(@Param("ids") List<Long> ids, @Param("userId") String userId);
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.ShopAccountDO;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
public interface ShopAccountMapper extends Mapper<ShopAccountDO> {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.StoreGroupMappingDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 10:21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface StoreGroupMappingMapper {
|
||||
|
||||
List<StoreGroupMappingDO> getStoreGroupMappingByGroupIDs( @Param("groupIds")List<String> groupIds);
|
||||
|
||||
}
|
||||
@@ -45,4 +45,6 @@ public interface StoreMapper {
|
||||
|
||||
List<StoreDO> getStoreNumByStoreCodes(@Param("storeCodeIds") List<String> storeCodeIds);
|
||||
|
||||
List<StoreAreaDTO> listStoreByRegionPathList(@Param("regionPathList") List<String> regionPathList);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.StoreMessageDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface StoreMessageMapper extends Mapper<StoreMessageDO> {
|
||||
|
||||
int insertBatch(@Param("list") List<StoreMessageDO> list);
|
||||
|
||||
}
|
||||
@@ -203,4 +203,15 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getUserIdsByRegionIdList" resultType="string">
|
||||
select
|
||||
user_id
|
||||
from enterprise_user_${enterpriseId} where user_id != 'a100000001' and active=1
|
||||
<if test="regionIdList != null and regionIdList.size >0 ">
|
||||
<foreach collection="regionIdList" item="regionId" separator=" or " open="and (" close=" )">
|
||||
user_region_ids like concat('%/', #{regionId}, '/%')
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -30,4 +30,31 @@
|
||||
<result column="handle_person_info" jdbcType="LONGVARCHAR" property="handlePersonInfo" />
|
||||
<result column="store_info" jdbcType="LONGVARCHAR" property="storeInfo" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectByIds" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
*
|
||||
FROM zxjp_message_template
|
||||
WHERE id IN
|
||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||
#{id,jdbcType=BIGINT}
|
||||
</foreach>
|
||||
AND deleted = 0
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
<update id="updateDeleteStatusBatch" >
|
||||
UPDATE zxjp_message_template
|
||||
SET
|
||||
deleted = #{deleted,jdbcType=BIT},
|
||||
update_time = NOW(),
|
||||
update_user_id = #{userId,jdbcType=VARCHAR}
|
||||
WHERE id IN
|
||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||
#{id,jdbcType=BIGINT}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cool.store.mapper.StoreGroupMappingMapper">
|
||||
|
||||
<select id="getStoreGroupMappingByGroupIDs"
|
||||
resultType="com.cool.store.entity.StoreGroupMappingDO">
|
||||
select
|
||||
group_id as groupId,
|
||||
store_id as storeId
|
||||
from store_group_mapping_${enterpriseId}
|
||||
<where>
|
||||
<foreach collection="groupIds" open=" group_id in (" close=")" separator="," item="groupId">
|
||||
#{groupId}
|
||||
</foreach>
|
||||
</where>
|
||||
group by group_id,store_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -126,6 +126,7 @@
|
||||
|
||||
<select id="getStoreAreaList" resultType="com.cool.store.dto.store.StoreAreaDTO">
|
||||
select
|
||||
a.store_num as storeCode,
|
||||
a.store_name as storeName,
|
||||
a.store_id as storeId,
|
||||
a.region_path as regionPath,
|
||||
@@ -155,4 +156,20 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="listStoreByRegionPathList" resultType="com.cool.store.dto.store.StoreAreaDTO">
|
||||
select
|
||||
store_name as storeName,
|
||||
store_id as storeId,
|
||||
region_path as regionPath,
|
||||
region_id as regionId,
|
||||
region_id as areaId
|
||||
from store_${enterpriseId}
|
||||
where is_delete = 'effective'
|
||||
<if test="regionPathList != null and regionPathList.size >0 ">
|
||||
<foreach collection="regionPathList" item="regionPath" separator=" or " open="and (" close=" )">
|
||||
region_path like concat(#{regionPath}, '%')
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -24,4 +24,33 @@
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="operator_list" jdbcType="LONGVARCHAR" property="operatorList" />
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertBatch" parameterType="java.util.List">
|
||||
INSERT INTO store_message (
|
||||
store_id,
|
||||
store_code,
|
||||
store_name,
|
||||
message_template_id,
|
||||
read_status,
|
||||
read_time,
|
||||
process_status,
|
||||
process_time,
|
||||
operator_list
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" index="index" separator=",">
|
||||
(
|
||||
#{item.storeId,jdbcType=VARCHAR},
|
||||
#{item.storeCode,jdbcType=VARCHAR},
|
||||
#{item.storeName,jdbcType=VARCHAR},
|
||||
#{item.messageTemplateId,jdbcType=BIGINT},
|
||||
#{item.readStatus,jdbcType=BIT},
|
||||
#{item.readTime,jdbcType=TIMESTAMP},
|
||||
#{item.processStatus,jdbcType=TINYINT},
|
||||
#{item.processTime,jdbcType=TIMESTAMP},
|
||||
#{item.operatorList,jdbcType=LONGVARCHAR}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.cool.store.mapper.EnterpriseUserGroupMappingMapper">
|
||||
|
||||
<select id="getUserIdsByGroupIdList" resultType="string">
|
||||
select
|
||||
user_id
|
||||
from enterprise_user_group_mapping_${enterpriseId}
|
||||
where group_id in (
|
||||
<foreach collection="groupIdList" item="groupId" separator=",">
|
||||
#{groupId}
|
||||
</foreach>
|
||||
)
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.cool.store.dto.notice;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 16:49
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class NoticeDTO {
|
||||
|
||||
@ApiModelProperty("消息编码")
|
||||
private String messageCode;
|
||||
@ApiModelProperty("模块")
|
||||
private Integer moduleCode;
|
||||
@ApiModelProperty("事项类型")
|
||||
private Integer matterType;
|
||||
@ApiModelProperty("消息标题")
|
||||
private String messageTitle;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
public class StoreAreaDTO {
|
||||
private String storeCode;
|
||||
private String storeId;
|
||||
private String storeName;
|
||||
/**
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
@Table(name = "zxjp_message_template")
|
||||
@Data
|
||||
public class MessageTemplateDO {
|
||||
/**
|
||||
* 主键ID
|
||||
@@ -87,7 +90,7 @@ public class MessageTemplateDO {
|
||||
* 发布状态(0:未发布 1:已发布 2:已撤销)
|
||||
*/
|
||||
@Column(name = "publish_status")
|
||||
private Boolean publishStatus;
|
||||
private Integer publishStatus;
|
||||
|
||||
/**
|
||||
* 发布时间
|
||||
@@ -99,13 +102,13 @@ public class MessageTemplateDO {
|
||||
* 发布人ID
|
||||
*/
|
||||
@Column(name = "publisher_user_id")
|
||||
private Long publisherUserId;
|
||||
private String publisherUserId;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
@Column(name = "create_user_id")
|
||||
private Long createUserId;
|
||||
private String createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
@@ -117,7 +120,7 @@ public class MessageTemplateDO {
|
||||
* 更新人ID
|
||||
*/
|
||||
@Column(name = "updater_user_id")
|
||||
private Long updaterUserId;
|
||||
private String updaterUserId;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
@@ -148,435 +151,5 @@ public class MessageTemplateDO {
|
||||
@Column(name = "store_info")
|
||||
private String storeInfo;
|
||||
|
||||
/**
|
||||
* 获取主键ID
|
||||
*
|
||||
* @return id - 主键ID
|
||||
*/
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置主键ID
|
||||
*
|
||||
* @param id 主键ID
|
||||
*/
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消息编码(唯一标识)
|
||||
*
|
||||
* @return message_code - 消息编码(唯一标识)
|
||||
*/
|
||||
public String getMessageCode() {
|
||||
return messageCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置消息编码(唯一标识)
|
||||
*
|
||||
* @param messageCode 消息编码(唯一标识)
|
||||
*/
|
||||
public void setMessageCode(String messageCode) {
|
||||
this.messageCode = messageCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取模块编码
|
||||
*
|
||||
* @return module_code - 模块编码
|
||||
*/
|
||||
public Integer getModuleCode() {
|
||||
return moduleCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置模块编码
|
||||
*
|
||||
* @param moduleCode 模块编码
|
||||
*/
|
||||
public void setModuleCode(Integer moduleCode) {
|
||||
this.moduleCode = moduleCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取事项类型
|
||||
*
|
||||
* @return matter_type - 事项类型
|
||||
*/
|
||||
public Integer getMatterType() {
|
||||
return matterType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置事项类型
|
||||
*
|
||||
* @param matterType 事项类型
|
||||
*/
|
||||
public void setMatterType(Integer matterType) {
|
||||
this.matterType = matterType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消息标题
|
||||
*
|
||||
* @return message_title - 消息标题
|
||||
*/
|
||||
public String getMessageTitle() {
|
||||
return messageTitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置消息标题
|
||||
*
|
||||
* @param messageTitle 消息标题
|
||||
*/
|
||||
public void setMessageTitle(String messageTitle) {
|
||||
this.messageTitle = messageTitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统来源
|
||||
*
|
||||
* @return system_source - 系统来源
|
||||
*/
|
||||
public String getSystemSource() {
|
||||
return systemSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置系统来源
|
||||
*
|
||||
* @param systemSource 系统来源
|
||||
*/
|
||||
public void setSystemSource(String systemSource) {
|
||||
this.systemSource = systemSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取处理类型(1:仅阅读 2:需要处理)
|
||||
*
|
||||
* @return process_type - 处理类型(1:仅阅读 2:需要处理)
|
||||
*/
|
||||
public Integer getProcessType() {
|
||||
return processType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置处理类型(1:仅阅读 2:需要处理)
|
||||
*
|
||||
* @param processType 处理类型(1:仅阅读 2:需要处理)
|
||||
*/
|
||||
public void setProcessType(Integer processType) {
|
||||
this.processType = processType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取提醒类型(1:持续提醒 2:阶段提醒 )
|
||||
*
|
||||
* @return remind_type - 提醒类型(1:持续提醒 2:阶段提醒 )
|
||||
*/
|
||||
public Integer getRemindType() {
|
||||
return remindType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提醒类型(1:持续提醒 2:阶段提醒 )
|
||||
*
|
||||
* @param remindType 提醒类型(1:持续提醒 2:阶段提醒 )
|
||||
*/
|
||||
public void setRemindType(Integer remindType) {
|
||||
this.remindType = remindType;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取提醒时间段 开始时间
|
||||
*
|
||||
* @return remind_start_time - 提醒时间段 开始时间
|
||||
*/
|
||||
public Date getRemindStartTime() {
|
||||
return remindStartTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提醒时间段 开始时间
|
||||
*
|
||||
* @param remindStartTime 提醒时间段 开始时间
|
||||
*/
|
||||
public void setRemindStartTime(Date remindStartTime) {
|
||||
this.remindStartTime = remindStartTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取提醒时间段 结束时间
|
||||
*
|
||||
* @return remind_end_time - 提醒时间段 结束时间
|
||||
*/
|
||||
public Date getRemindEndTime() {
|
||||
return remindEndTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置提醒时间段 结束时间
|
||||
*
|
||||
* @param remindEndTime 提醒时间段 结束时间
|
||||
*/
|
||||
public void setRemindEndTime(Date remindEndTime) {
|
||||
this.remindEndTime = remindEndTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取截止日期
|
||||
*
|
||||
* @return deadline - 截止日期
|
||||
*/
|
||||
public Date getDeadline() {
|
||||
return deadline;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置截止日期
|
||||
*
|
||||
* @param deadline 截止日期
|
||||
*/
|
||||
public void setDeadline(Date deadline) {
|
||||
this.deadline = deadline;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取今日必办标识(0:否 1:是)
|
||||
*
|
||||
* @return today_task - 今日必办标识(0:否 1:是)
|
||||
*/
|
||||
public Boolean getTodayTask() {
|
||||
return todayTask;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置今日必办标识(0:否 1:是)
|
||||
*
|
||||
* @param todayTask 今日必办标识(0:否 1:是)
|
||||
*/
|
||||
public void setTodayTask(Boolean todayTask) {
|
||||
this.todayTask = todayTask;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消息图片URL
|
||||
*
|
||||
* @return message_image - 消息图片URL
|
||||
*/
|
||||
public String getMessageImage() {
|
||||
return messageImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置消息图片URL
|
||||
*
|
||||
* @param messageImage 消息图片URL
|
||||
*/
|
||||
public void setMessageImage(String messageImage) {
|
||||
this.messageImage = messageImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发布状态(0:未发布 1:已发布 2:已撤销)
|
||||
*
|
||||
* @return publish_status - 发布状态(0:未发布 1:已发布 2:已撤销)
|
||||
*/
|
||||
public Boolean getPublishStatus() {
|
||||
return publishStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置发布状态(0:未发布 1:已发布 2:已撤销)
|
||||
*
|
||||
* @param publishStatus 发布状态(0:未发布 1:已发布 2:已撤销)
|
||||
*/
|
||||
public void setPublishStatus(Boolean publishStatus) {
|
||||
this.publishStatus = publishStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发布时间
|
||||
*
|
||||
* @return publish_time - 发布时间
|
||||
*/
|
||||
public Date getPublishTime() {
|
||||
return publishTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置发布时间
|
||||
*
|
||||
* @param publishTime 发布时间
|
||||
*/
|
||||
public void setPublishTime(Date publishTime) {
|
||||
this.publishTime = publishTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取发布人ID
|
||||
*
|
||||
* @return publisher_user_id - 发布人ID
|
||||
*/
|
||||
public Long getPublisherUserId() {
|
||||
return publisherUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置发布人ID
|
||||
*
|
||||
* @param publisherUserId 发布人ID
|
||||
*/
|
||||
public void setPublisherUserId(Long publisherUserId) {
|
||||
this.publisherUserId = publisherUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建人ID
|
||||
*
|
||||
* @return create_user_id - 创建人ID
|
||||
*/
|
||||
public Long getCreateUserId() {
|
||||
return createUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置创建人ID
|
||||
*
|
||||
* @param createUserId 创建人ID
|
||||
*/
|
||||
public void setCreateUserId(Long createUserId) {
|
||||
this.createUserId = createUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建时间
|
||||
*
|
||||
* @return create_time - 创建时间
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置创建时间
|
||||
*
|
||||
* @param createTime 创建时间
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取更新人ID
|
||||
*
|
||||
* @return updater_user_id - 更新人ID
|
||||
*/
|
||||
public Long getUpdaterUserId() {
|
||||
return updaterUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置更新人ID
|
||||
*
|
||||
* @param updaterUserId 更新人ID
|
||||
*/
|
||||
public void setUpdaterUserId(Long updaterUserId) {
|
||||
this.updaterUserId = updaterUserId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取更新时间
|
||||
*
|
||||
* @return update_time - 更新时间
|
||||
*/
|
||||
public Date getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置更新时间
|
||||
*
|
||||
* @param updateTime 更新时间
|
||||
*/
|
||||
public void setUpdateTime(Date updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取删除标记(0:未删除 1:已删除)
|
||||
*
|
||||
* @return deleted - 删除标记(0:未删除 1:已删除)
|
||||
*/
|
||||
public Boolean getDeleted() {
|
||||
return deleted;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置删除标记(0:未删除 1:已删除)
|
||||
*
|
||||
* @param deleted 删除标记(0:未删除 1:已删除)
|
||||
*/
|
||||
public void setDeleted(Boolean deleted) {
|
||||
this.deleted = deleted;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取消息详情(富文本内容)
|
||||
*
|
||||
* @return message_content - 消息详情(富文本内容)
|
||||
*/
|
||||
public String getMessageContent() {
|
||||
return messageContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置消息详情(富文本内容)
|
||||
*
|
||||
* @param messageContent 消息详情(富文本内容)
|
||||
*/
|
||||
public void setMessageContent(String messageContent) {
|
||||
this.messageContent = messageContent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取处理人信息 [{type:person,value:}{type:position,value:}]
|
||||
*
|
||||
* @return handle_person_info - 处理人信息 [{type:person,value:}{type:position,value:}]
|
||||
*/
|
||||
public String getHandlePersonInfo() {
|
||||
return handlePersonInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置处理人信息 [{type:person,value:}{type:position,value:}]
|
||||
*
|
||||
* @param handlePersonInfo 处理人信息 [{type:person,value:}{type:position,value:}]
|
||||
*/
|
||||
public void setHandlePersonInfo(String handlePersonInfo) {
|
||||
this.handlePersonInfo = handlePersonInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店范围 [{type:store,value:}{type:region,value:}]
|
||||
*
|
||||
* @return store_info - 门店范围 [{type:store,value:}{type:region,value:}]
|
||||
*/
|
||||
public String getStoreInfo() {
|
||||
return storeInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置门店范围 [{type:store,value:}{type:region,value:}]
|
||||
*
|
||||
* @param storeInfo 门店范围 [{type:store,value:}{type:region,value:}]
|
||||
*/
|
||||
public void setStoreInfo(String storeInfo) {
|
||||
this.storeInfo = storeInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 10:23
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class StoreGroupMappingDO {
|
||||
/**
|
||||
* 自增id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 门店id
|
||||
*/
|
||||
@JsonProperty("store_id")
|
||||
private String storeId;
|
||||
|
||||
/**
|
||||
* 组别id
|
||||
*/
|
||||
@JsonProperty("group_id")
|
||||
private String groupId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createUser;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Long updateTime;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String updateUser;
|
||||
|
||||
public StoreGroupMappingDO(String storeId, String groupId, Long createTime, String createUser) {
|
||||
this.storeId = storeId;
|
||||
this.groupId = groupId;
|
||||
this.createTime = createTime;
|
||||
this.createUser = createUser;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.cool.store.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
|
||||
@Table(name = "zxjp_store_message")
|
||||
@Data
|
||||
public class StoreMessageDO {
|
||||
/**
|
||||
* 主键ID
|
||||
@@ -40,7 +43,7 @@ public class StoreMessageDO {
|
||||
* 阅读状态(0:未读 1:已读)
|
||||
*/
|
||||
@Column(name = "read_status")
|
||||
private Boolean readStatus;
|
||||
private Integer readStatus;
|
||||
|
||||
/**
|
||||
* 阅读时间
|
||||
@@ -64,7 +67,7 @@ public class StoreMessageDO {
|
||||
* 实际操作人ID
|
||||
*/
|
||||
@Column(name = "actual_operator_id")
|
||||
private Long actualOperatorId;
|
||||
private String actualOperatorId;
|
||||
|
||||
/**
|
||||
* 实际操作人姓名
|
||||
@@ -88,7 +91,7 @@ public class StoreMessageDO {
|
||||
* 撤销操作人ID
|
||||
*/
|
||||
@Column(name = "revoke_operator_id")
|
||||
private Long revokeOperatorId;
|
||||
private String revokeOperatorId;
|
||||
|
||||
/**
|
||||
* 撤销操作人姓名
|
||||
@@ -114,327 +117,5 @@ public class StoreMessageDO {
|
||||
@Column(name = "operator_list")
|
||||
private String operatorList;
|
||||
|
||||
/**
|
||||
* 获取主键ID
|
||||
*
|
||||
* @return id - 主键ID
|
||||
*/
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置主键ID
|
||||
*
|
||||
* @param id 主键ID
|
||||
*/
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店编码
|
||||
*
|
||||
* @return store_id - 门店编码
|
||||
*/
|
||||
public String getStoreId() {
|
||||
return storeId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置门店编码
|
||||
*
|
||||
* @param storeId 门店编码
|
||||
*/
|
||||
public void setStoreId(String storeId) {
|
||||
this.storeId = storeId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店编码
|
||||
*
|
||||
* @return store_code - 门店编码
|
||||
*/
|
||||
public String getStoreCode() {
|
||||
return storeCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置门店编码
|
||||
*
|
||||
* @param storeCode 门店编码
|
||||
*/
|
||||
public void setStoreCode(String storeCode) {
|
||||
this.storeCode = storeCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店名称
|
||||
*
|
||||
* @return store_name - 门店名称
|
||||
*/
|
||||
public String getStoreName() {
|
||||
return storeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置门店名称
|
||||
*
|
||||
* @param storeName 门店名称
|
||||
*/
|
||||
public void setStoreName(String storeName) {
|
||||
this.storeName = storeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取关联的消息模板ID
|
||||
*
|
||||
* @return message_template_id - 关联的消息模板ID
|
||||
*/
|
||||
public Long getMessageTemplateId() {
|
||||
return messageTemplateId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置关联的消息模板ID
|
||||
*
|
||||
* @param messageTemplateId 关联的消息模板ID
|
||||
*/
|
||||
public void setMessageTemplateId(Long messageTemplateId) {
|
||||
this.messageTemplateId = messageTemplateId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取阅读状态(0:未读 1:已读)
|
||||
*
|
||||
* @return read_status - 阅读状态(0:未读 1:已读)
|
||||
*/
|
||||
public Boolean getReadStatus() {
|
||||
return readStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置阅读状态(0:未读 1:已读)
|
||||
*
|
||||
* @param readStatus 阅读状态(0:未读 1:已读)
|
||||
*/
|
||||
public void setReadStatus(Boolean readStatus) {
|
||||
this.readStatus = readStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取阅读时间
|
||||
*
|
||||
* @return read_time - 阅读时间
|
||||
*/
|
||||
public Date getReadTime() {
|
||||
return readTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置阅读时间
|
||||
*
|
||||
* @param readTime 阅读时间
|
||||
*/
|
||||
public void setReadTime(Date readTime) {
|
||||
this.readTime = readTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取处理状态(0:未处理 1:处理中)
|
||||
*
|
||||
* @return process_status - 处理状态(0:未处理 1:处理中)
|
||||
*/
|
||||
public Integer getProcessStatus() {
|
||||
return processStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置处理状态(0:未处理 1:处理中)
|
||||
*
|
||||
* @param processStatus 处理状态(0:未处理 1:处理中)
|
||||
*/
|
||||
public void setProcessStatus(Integer processStatus) {
|
||||
this.processStatus = processStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取处理时间
|
||||
*
|
||||
* @return process_time - 处理时间
|
||||
*/
|
||||
public Date getProcessTime() {
|
||||
return processTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置处理时间
|
||||
*
|
||||
* @param processTime 处理时间
|
||||
*/
|
||||
public void setProcessTime(Date processTime) {
|
||||
this.processTime = processTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取实际操作人ID
|
||||
*
|
||||
* @return actual_operator_id - 实际操作人ID
|
||||
*/
|
||||
public Long getActualOperatorId() {
|
||||
return actualOperatorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置实际操作人ID
|
||||
*
|
||||
* @param actualOperatorId 实际操作人ID
|
||||
*/
|
||||
public void setActualOperatorId(Long actualOperatorId) {
|
||||
this.actualOperatorId = actualOperatorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取实际操作人姓名
|
||||
*
|
||||
* @return actual_operator_name - 实际操作人姓名
|
||||
*/
|
||||
public String getActualOperatorName() {
|
||||
return actualOperatorName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置实际操作人姓名
|
||||
*
|
||||
* @param actualOperatorName 实际操作人姓名
|
||||
*/
|
||||
public void setActualOperatorName(String actualOperatorName) {
|
||||
this.actualOperatorName = actualOperatorName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取撤销状态(0:未撤销 1:已撤销)
|
||||
*
|
||||
* @return revoke_status - 撤销状态(0:未撤销 1:已撤销)
|
||||
*/
|
||||
public Boolean getRevokeStatus() {
|
||||
return revokeStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置撤销状态(0:未撤销 1:已撤销)
|
||||
*
|
||||
* @param revokeStatus 撤销状态(0:未撤销 1:已撤销)
|
||||
*/
|
||||
public void setRevokeStatus(Boolean revokeStatus) {
|
||||
this.revokeStatus = revokeStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取撤销时间
|
||||
*
|
||||
* @return revoke_time - 撤销时间
|
||||
*/
|
||||
public Date getRevokeTime() {
|
||||
return revokeTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置撤销时间
|
||||
*
|
||||
* @param revokeTime 撤销时间
|
||||
*/
|
||||
public void setRevokeTime(Date revokeTime) {
|
||||
this.revokeTime = revokeTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取撤销操作人ID
|
||||
*
|
||||
* @return revoke_operator_id - 撤销操作人ID
|
||||
*/
|
||||
public Long getRevokeOperatorId() {
|
||||
return revokeOperatorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置撤销操作人ID
|
||||
*
|
||||
* @param revokeOperatorId 撤销操作人ID
|
||||
*/
|
||||
public void setRevokeOperatorId(Long revokeOperatorId) {
|
||||
this.revokeOperatorId = revokeOperatorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取撤销操作人姓名
|
||||
*
|
||||
* @return revoke_operator_name - 撤销操作人姓名
|
||||
*/
|
||||
public String getRevokeOperatorName() {
|
||||
return revokeOperatorName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置撤销操作人姓名
|
||||
*
|
||||
* @param revokeOperatorName 撤销操作人姓名
|
||||
*/
|
||||
public void setRevokeOperatorName(String revokeOperatorName) {
|
||||
this.revokeOperatorName = revokeOperatorName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取创建时间
|
||||
*
|
||||
* @return create_time - 创建时间
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置创建时间
|
||||
*
|
||||
* @param createTime 创建时间
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取更新时间
|
||||
*
|
||||
* @return update_time - 更新时间
|
||||
*/
|
||||
public Date getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置更新时间
|
||||
*
|
||||
* @param updateTime 更新时间
|
||||
*/
|
||||
public void setUpdateTime(Date updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取操作人列表 逗号隔开
|
||||
*
|
||||
* @return operator_list - 操作人列表 逗号隔开
|
||||
*/
|
||||
public String getOperatorList() {
|
||||
return operatorList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置操作人列表 逗号隔开
|
||||
*
|
||||
* @param operatorList 操作人列表 逗号隔开
|
||||
*/
|
||||
public void setOperatorList(String operatorList) {
|
||||
this.operatorList = operatorList;
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class MatterConfigDeletedRequest {
|
||||
public class BatchDeletedRequest {
|
||||
|
||||
private List<Long> ids;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.cool.store.request.notice;
|
||||
|
||||
import com.cool.store.dto.notice.CommonDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 13:47
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class BatchPublishRequest {
|
||||
|
||||
private List<Long> ids;
|
||||
|
||||
@ApiModelProperty( "默认门店范围 type[region store group]")
|
||||
List<CommonDTO> storeInfoList;
|
||||
|
||||
@ApiModelProperty( "默认处理人信息 type[person position userGroup organization]")
|
||||
List<CommonDTO> userInfoList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.cool.store.request.notice;
|
||||
|
||||
import com.cool.store.dto.notice.CommonDTO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 11:10
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class MessageTemplateAddRequest {
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("模块")
|
||||
private Integer moduleCode;
|
||||
@ApiModelProperty("事项类型")
|
||||
private Integer remindType;
|
||||
@ApiModelProperty("提醒时间段 开始时间 阶段提醒时传")
|
||||
private Date remindStartTime;
|
||||
@ApiModelProperty("提醒时间段 结束时间 阶段提醒时传")
|
||||
private Date remindEndTime;
|
||||
@ApiModelProperty("截止时间")
|
||||
private Date deadline;
|
||||
@ApiModelProperty("处理类型(1:仅阅读 2:需要处理)")
|
||||
private Integer processType;
|
||||
@ApiModelProperty("今日必办标识 0非必办 1必办")
|
||||
private Integer todayTask;
|
||||
@ApiModelProperty("消息标题")
|
||||
private String messageTitle;
|
||||
@ApiModelProperty("消息图片URL")
|
||||
private String messageImage;
|
||||
@ApiModelProperty("消息详情(富文本内容)")
|
||||
private String messageContent;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.cool.store.vo.notice;
|
||||
|
||||
import com.cool.store.dto.notice.CommonDTO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 13:23
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class MessageTemplateDetailVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("模块")
|
||||
private Integer moduleCode;
|
||||
@ApiModelProperty("事项类型")
|
||||
private Integer remindType;
|
||||
@ApiModelProperty("提醒时间段 开始时间 阶段提醒时传")
|
||||
private Date remindStartTime;
|
||||
@ApiModelProperty("提醒时间段 结束时间 阶段提醒时传")
|
||||
private Date remindEndTime;
|
||||
@ApiModelProperty("截止时间")
|
||||
private Date deadline;
|
||||
@ApiModelProperty("处理类型(1:仅阅读 2:需要处理)")
|
||||
private Integer processType;
|
||||
@ApiModelProperty("今日必办标识 0非必办 1必办")
|
||||
private Integer todayTask;
|
||||
@ApiModelProperty("消息标题")
|
||||
private String messageTitle;
|
||||
@ApiModelProperty("消息图片URL")
|
||||
private String messageImage;
|
||||
@ApiModelProperty("消息详情(富文本内容)")
|
||||
private String messageContent;
|
||||
@ApiModelProperty( "默认门店范围 type[region store group]")
|
||||
List<CommonDTO> storeInfoList;
|
||||
@ApiModelProperty( "默认处理人信息 type[person position userGroup organization]")
|
||||
List<CommonDTO> userInfoList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
import com.cool.store.request.notice.BatchDeletedRequest;
|
||||
import com.cool.store.request.notice.BatchPublishRequest;
|
||||
import com.cool.store.request.notice.MessageTemplateAddRequest;
|
||||
import com.cool.store.vo.notice.MessageTemplateDetailVO;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 9:58
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface MessageTemplateService {
|
||||
|
||||
|
||||
/**
|
||||
* 新增消息模版
|
||||
* @param request
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
Boolean addMessageTemplate(MessageTemplateAddRequest request , LoginUserInfo user);
|
||||
|
||||
/**
|
||||
* 编辑消息模版
|
||||
* @param request
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
Boolean editMessageTemplate(MessageTemplateAddRequest request , LoginUserInfo user);
|
||||
|
||||
|
||||
/**
|
||||
* 获取详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
MessageTemplateDetailVO getMessageTemplateDetail(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除 未发布可以删除
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
Boolean batchDeleteMessageTemplate(BatchDeletedRequest request, LoginUserInfo user);
|
||||
|
||||
/**
|
||||
* batch 批量发布
|
||||
* @param request
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
Boolean batchPublishMessageTemplate(BatchPublishRequest request, LoginUserInfo user);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.dto.StoreDTO;
|
||||
import com.cool.store.dto.store.AuthStoreUserDTO;
|
||||
import com.cool.store.dto.store.StoreUserPositionDTO;
|
||||
import com.cool.store.response.MiniShopsResponse;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@@ -27,4 +28,12 @@ public interface StoreService {
|
||||
|
||||
List<StoreUserPositionDTO> getStoreUser(List<String> storeCodeList);
|
||||
|
||||
List<AuthStoreUserDTO> authStoreUser(List<String> storeIdList, String positionType);
|
||||
|
||||
List<AuthStoreUserDTO> getStorePositionUserList(List<String> storeIds,
|
||||
List<String> positionIds,
|
||||
List<String> nodePersonList,
|
||||
List<String> groupIdList,
|
||||
List<String> regionIdList);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.context.LoginUserInfo;
|
||||
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.store.AuthStoreUserDTO;
|
||||
import com.cool.store.dto.store.StoreAreaDTO;
|
||||
import com.cool.store.entity.MessageTemplateDO;
|
||||
import com.cool.store.entity.RegionDO;
|
||||
import com.cool.store.entity.StoreGroupMappingDO;
|
||||
import com.cool.store.entity.StoreMessageDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.notice.ProcessStatusEnum;
|
||||
import com.cool.store.enums.notice.PublishStatusEnum;
|
||||
import com.cool.store.enums.notice.ReadStatusEnum;
|
||||
import com.cool.store.enums.notice.TypeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.StoreGroupMappingMapper;
|
||||
import com.cool.store.mapper.StoreMapper;
|
||||
import com.cool.store.request.notice.BatchDeletedRequest;
|
||||
import com.cool.store.request.notice.BatchPublishRequest;
|
||||
import com.cool.store.request.notice.MessageTemplateAddRequest;
|
||||
import com.cool.store.service.MessageTemplateService;
|
||||
import com.cool.store.service.StoreService;
|
||||
import com.cool.store.vo.notice.MessageTemplateDetailVO;
|
||||
import com.google.gson.JsonObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 9:59
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class MessageTemplateServiceImpl implements MessageTemplateService {
|
||||
|
||||
|
||||
@Resource
|
||||
MessageTemplateDAO messageTemplateDAO;
|
||||
@Resource
|
||||
StoreMapper storeMapper;
|
||||
@Resource
|
||||
RegionDao RegionDao;
|
||||
@Resource
|
||||
StoreGroupMappingMapper storeGroupMappingMapper;
|
||||
@Resource
|
||||
StoreService storeService;
|
||||
@Resource
|
||||
StoreMessageDAO storeMessageDAO;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Boolean addMessageTemplate(MessageTemplateAddRequest request, LoginUserInfo user) {
|
||||
MessageTemplateDO messageTemplateDO = new MessageTemplateDO();
|
||||
BeanUtils.copyProperties(request, messageTemplateDO);
|
||||
messageTemplateDO.setCreateUserId(user.getUserId());
|
||||
messageTemplateDAO.insert(messageTemplateDO);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean editMessageTemplate(MessageTemplateAddRequest request, LoginUserInfo user) {
|
||||
if (request.getId()==null){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR);
|
||||
}
|
||||
MessageTemplateDO messageTemplateDO = messageTemplateDAO.getById(request.getId());
|
||||
//只有待发布状态能编辑
|
||||
if (messageTemplateDO.getPublishStatus()!=0){
|
||||
throw new ServiceException(ErrorCodeEnum.MESSAGE_TEMPLATE_NOT_SUPPORT_EDIT);
|
||||
}
|
||||
BeanUtils.copyProperties(request, messageTemplateDO);
|
||||
messageTemplateDO.setUpdaterUserId(user.getUserId());
|
||||
messageTemplateDAO.update(messageTemplateDO);
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MessageTemplateDetailVO getMessageTemplateDetail(Long id) {
|
||||
MessageTemplateDetailVO messageTemplateDetailVO = new MessageTemplateDetailVO();
|
||||
MessageTemplateDO messageTemplateDO = messageTemplateDAO.getById(id);
|
||||
if(messageTemplateDO==null){
|
||||
return messageTemplateDetailVO;
|
||||
}
|
||||
BeanUtils.copyProperties(messageTemplateDO, messageTemplateDetailVO);
|
||||
messageTemplateDetailVO.setUserInfoList(JSONObject.parseArray(messageTemplateDO.getHandlePersonInfo(), CommonDTO.class));
|
||||
messageTemplateDetailVO.setStoreInfoList(JSONObject.parseArray(messageTemplateDO.getStoreInfo(), CommonDTO.class));
|
||||
return messageTemplateDetailVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchDeleteMessageTemplate(BatchDeletedRequest request, LoginUserInfo user) {
|
||||
List<MessageTemplateDO> list = messageTemplateDAO.getByIds(request.getIds());
|
||||
//校验是否都是未发布状态
|
||||
if (list.stream().anyMatch(x -> x.getPublishStatus()!= PublishStatusEnum.UNPUBLISHED.getCode())){
|
||||
throw new ServiceException(ErrorCodeEnum.MESSAGE_TEMPLATE_NOT_SUPPORT_DELETED);
|
||||
}
|
||||
messageTemplateDAO.updateDeleteStatusBatch(request.getIds(),user.getUserId());
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Boolean batchPublishMessageTemplate(BatchPublishRequest request, LoginUserInfo user) {
|
||||
if (CollectionUtils.isEmpty(request.getIds())||CollectionUtils.isEmpty(request.getStoreInfoList())||CollectionUtils.isEmpty(request.getUserInfoList())){
|
||||
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
||||
}
|
||||
List<StoreAreaDTO> storeAreaDTOS = getStoreRange(request.getStoreInfoList());
|
||||
List<String> storeIds = storeAreaDTOS.stream().map(StoreAreaDTO::getStoreId).collect(Collectors.toList());
|
||||
|
||||
Map<String, List<String>> authUser = getAuthUser(request.getUserInfoList(), storeIds);
|
||||
|
||||
List<MessageTemplateDO> list = messageTemplateDAO.getByIds(request.getIds());
|
||||
//过滤 只保留未发布的
|
||||
list = list.stream().filter(x -> PublishStatusEnum.UNPUBLISHED.getCode().equals(x.getPublishStatus())).collect(Collectors.toList());
|
||||
|
||||
list.stream().forEach(x -> {
|
||||
List<StoreMessageDO> result = new ArrayList<>();
|
||||
storeAreaDTOS.forEach(y->{
|
||||
if (CollectionUtils.isEmpty(authUser.get(y.getStoreId()))){
|
||||
log.info("当前门店没有人员 门店名称:{}",y.getStoreName());
|
||||
return;
|
||||
}
|
||||
StoreMessageDO storeMessageDO = new StoreMessageDO();
|
||||
storeMessageDO.setStoreId(y.getStoreId());
|
||||
storeMessageDO.setStoreCode(y.getStoreCode());
|
||||
storeMessageDO.setMessageTemplateId(x.getId());
|
||||
storeMessageDO.setReadStatus(ReadStatusEnum.UNREAD.getCode());
|
||||
storeMessageDO.setReadTime(new Date());
|
||||
storeMessageDO.setProcessStatus(ProcessStatusEnum.UNTREATED.getCode());
|
||||
storeMessageDO.setProcessTime(new Date());
|
||||
String userIdStr = authUser.get(y.getStoreId()).stream().collect(Collectors.joining(","));
|
||||
storeMessageDO.setOperatorList(userIdStr);
|
||||
result.add(storeMessageDO);
|
||||
});
|
||||
storeMessageDAO.batchInsert(result);
|
||||
});
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public Map<String, List<String>> getAuthUser(List<CommonDTO> personInfo, List<String> storeIds){
|
||||
if (CollectionUtils.isEmpty(personInfo)){
|
||||
return new HashMap<>();
|
||||
}
|
||||
List<String> personIds = personInfo.stream().filter(x -> TypeEnum.PERSON.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
List<String> positionIds = personInfo.stream().filter(x -> TypeEnum.POSITION.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
List<String> groupIdList = personInfo.stream().filter(x -> TypeEnum.USER_GROUP.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
List<String> regionIdList = personInfo.stream().filter(x -> TypeEnum.ORGANIZATION.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
//权限
|
||||
List<AuthStoreUserDTO> authStoreUserList = storeService.getStorePositionUserList(storeIds, positionIds, personIds, groupIdList, regionIdList);
|
||||
Map<String, List<String>> storeUserMap = new HashMap<>();
|
||||
if (CollectionUtils.isNotEmpty(authStoreUserList)) {
|
||||
storeUserMap = authStoreUserList.stream().collect(Collectors.toMap(AuthStoreUserDTO::getStoreId,
|
||||
AuthStoreUserDTO::getUserIdList, (a, b) -> a));
|
||||
}
|
||||
return storeUserMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门店范围
|
||||
* @param commonDTOS
|
||||
* @return
|
||||
*/
|
||||
private List<StoreAreaDTO> getStoreRange( List<CommonDTO> commonDTOS){
|
||||
List<String> regionIds = commonDTOS.stream().filter(x -> TypeEnum.REGION.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
|
||||
List<RegionDO> regionDOsByRegionIds = new ArrayList<>();
|
||||
Set<String> storeIdSet = new HashSet<>();
|
||||
if (CollectionUtils.isNotEmpty(regionIds)){
|
||||
regionDOsByRegionIds = RegionDao.getRegionByRegionIds(regionIds);
|
||||
//区域全路径地址集合 ["/1/37139128281/","/1/37139128283/"]
|
||||
List<String> regionFullRegionPathList = regionDOsByRegionIds.stream().map(RegionDO::getFullRegionPath).collect(Collectors.toList());
|
||||
//根据regionFullRegionPathList查询区域下所有的门店(包括子区域门店)
|
||||
List<StoreAreaDTO> storeAreaDTOS = storeMapper.listStoreByRegionPathList(regionFullRegionPathList);
|
||||
storeIdSet = storeAreaDTOS.stream().map(StoreAreaDTO::getStoreId).collect(Collectors.toSet());
|
||||
}
|
||||
List<String> storeIdList = commonDTOS.stream().filter(x -> TypeEnum.STORE.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(storeIdList)){
|
||||
//将寻找的门店添加到set中
|
||||
storeIdSet.addAll(storeIdList);
|
||||
}
|
||||
List<String> groupList = commonDTOS.stream().filter(x -> TypeEnum.GROUP.equals(x.getType()))
|
||||
.map(CommonDTO::getValue).collect(Collectors.toList());
|
||||
//分组
|
||||
if (CollectionUtils.isNotEmpty(groupList)) {
|
||||
List<StoreGroupMappingDO> groupStoreList = storeGroupMappingMapper.getStoreGroupMappingByGroupIDs(groupList);
|
||||
if (CollectionUtils.isNotEmpty(groupStoreList)) {
|
||||
Set<String> groupStoreSet = groupStoreList.stream().map(StoreGroupMappingDO::getStoreId).collect(Collectors.toSet());
|
||||
if(CollectionUtils.isNotEmpty(groupStoreSet)){
|
||||
//将寻找的门店添加到set中
|
||||
storeIdSet.addAll(groupStoreSet);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(CollectionUtils.isEmpty(storeIdSet)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<StoreAreaDTO> storeDTOList = storeMapper.getStoreAreaList(new ArrayList<>(storeIdSet));
|
||||
if(CollectionUtils.isNotEmpty(storeDTOList)){
|
||||
storeDTOList = storeDTOList.stream().filter(o -> "open".equals(o.getStoreStatus())).collect(Collectors.toList());
|
||||
}
|
||||
return storeDTOList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dto.store.AuthStoreUserDTO;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.EnterpriseUserRoleDao;
|
||||
@@ -17,10 +18,7 @@ import com.cool.store.entity.SysRoleDO;
|
||||
import com.cool.store.entity.UserAuthMappingDO;
|
||||
import com.cool.store.enums.*;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.RegionMapper;
|
||||
import com.cool.store.mapper.StoreMapper;
|
||||
import com.cool.store.mapper.SysRoleMapper;
|
||||
import com.cool.store.mapper.UserAuthMappingMapper;
|
||||
import com.cool.store.mapper.*;
|
||||
import com.cool.store.response.MiniShopsResponse;
|
||||
import com.cool.store.service.StoreService;
|
||||
import com.cool.store.service.UserAuthMappingService;
|
||||
@@ -68,6 +66,10 @@ public class StoreServiceImpl implements StoreService {
|
||||
StoreMapper storeMapper;
|
||||
@Resource
|
||||
UserAuthMappingMapper userAuthMappingMapper;
|
||||
@Resource
|
||||
EnterpriseUserMapper enterpriseUserMapper;
|
||||
@Resource
|
||||
EnterpriseUserGroupMappingMapper enterpriseUserGroupMappingMapper;
|
||||
|
||||
@Override
|
||||
public PageInfo<StoreDTO> getStoreExtendFieldInfo(Integer pageSize, Integer pageNum) {
|
||||
@@ -169,7 +171,54 @@ public class StoreServiceImpl implements StoreService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<AuthStoreUserDTO> authStoreUser(List<String> storeIdList, String positionType) {
|
||||
|
||||
|
||||
@Override
|
||||
public List<AuthStoreUserDTO> getStorePositionUserList( List<String> storeIds,
|
||||
List<String> positionIds,
|
||||
List<String> nodePersonList,
|
||||
List<String> groupIdList,
|
||||
List<String> regionIdList) {
|
||||
log.info("StoreServiceImpl getStorePositionUserList param storeIds:{},positionIds:{},nodePersonList:{},groupIdList:{},regionIdList:{}",
|
||||
JSONObject.toJSONString(storeIds),
|
||||
JSONObject.toJSONString(positionIds), JSONObject.toJSONString(nodePersonList),
|
||||
JSONObject.toJSONString(groupIdList), JSONObject.toJSONString(regionIdList));
|
||||
List<AuthStoreUserDTO> authStoreUsers = this.authStoreUser(storeIds, null);
|
||||
if (CollUtil.isEmpty(authStoreUsers)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> allUserIds = Lists.newArrayList();
|
||||
if (CollectionUtils.isNotEmpty(positionIds)) {
|
||||
List<String> userIds = sysRoleMapper.getPositionUserIds(positionIds);
|
||||
allUserIds.addAll(userIds);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(groupIdList)) {
|
||||
List<String> groupUserIdList = enterpriseUserGroupMappingMapper.getUserIdsByGroupIdList(groupIdList);
|
||||
if (CollectionUtils.isNotEmpty(groupUserIdList)) {
|
||||
allUserIds.addAll(groupUserIdList);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(regionIdList)) {
|
||||
List<String> regionUserIdList = enterpriseUserMapper.getUserIdsByRegionIdList(regionIdList);
|
||||
if (CollectionUtils.isNotEmpty(regionUserIdList)) {
|
||||
allUserIds.addAll(regionUserIdList);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(nodePersonList)) {
|
||||
allUserIds.addAll(nodePersonList);
|
||||
}
|
||||
List<String> finalAllUserIds = allUserIds;
|
||||
authStoreUsers.forEach(f -> f.getUserIdList().retainAll(finalAllUserIds));
|
||||
if (CollectionUtils.isNotEmpty(authStoreUsers)) {
|
||||
authStoreUsers = authStoreUsers.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
return authStoreUsers;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<AuthStoreUserDTO> authStoreUser(List<String> storeIdList, String positionType) {
|
||||
List<AuthStoreUserDTO> result = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(storeIdList)) {
|
||||
return result;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.request.notice.BatchDeletedRequest;
|
||||
import com.cool.store.request.notice.MatterConfigAddRequest;
|
||||
import com.cool.store.request.notice.MatterConfigDeletedRequest;
|
||||
import com.cool.store.request.notice.MatterConfigQueryRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.MatterConfigService;
|
||||
import com.cool.store.userholder.CurrentUser;
|
||||
import com.cool.store.vo.LineInfoVO;
|
||||
import com.cool.store.vo.notice.MatterAndMatterDetailVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -35,27 +35,27 @@ public class MatterConfigController {
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增事项配置")
|
||||
public int addMatterConfig(@RequestBody MatterConfigAddRequest request) {
|
||||
return matterConfigService.addMatterConfig(request, CurrentUserHolder.getUser());
|
||||
public ResponseResult<Integer> addMatterConfig(@RequestBody MatterConfigAddRequest request) {
|
||||
return ResponseResult.success(matterConfigService.addMatterConfig(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/edit")
|
||||
@ApiOperation("编辑事项配置")
|
||||
public int editMatterConfig(@RequestBody MatterConfigAddRequest request) {
|
||||
return matterConfigService.editMatterConfig(request, CurrentUserHolder.getUser());
|
||||
public ResponseResult<Integer> editMatterConfig(@RequestBody MatterConfigAddRequest request) {
|
||||
return ResponseResult.success(matterConfigService.editMatterConfig(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/deleteMatterConfig")
|
||||
@ApiOperation("批量删除事项配置")
|
||||
public Boolean addMatterConfig(@RequestBody MatterConfigDeletedRequest request) {
|
||||
return matterConfigService.deleteMatterConfig(request.getIds(), CurrentUserHolder.getUser());
|
||||
public ResponseResult<Boolean> addMatterConfig(@RequestBody BatchDeletedRequest request) {
|
||||
return ResponseResult.success(matterConfigService.deleteMatterConfig(request.getIds(), CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/list")
|
||||
@ApiOperation("事项配置列表")
|
||||
public PageInfo<MatterAndMatterDetailVO> listByCondition(@RequestBody MatterConfigQueryRequest request) {
|
||||
return matterConfigService.listByCondition(request);
|
||||
public ResponseResult<PageInfo<MatterAndMatterDetailVO>> listByCondition(@RequestBody MatterConfigQueryRequest request) {
|
||||
return ResponseResult.success(matterConfigService.listByCondition(request));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.cool.store.controller.webb;
|
||||
|
||||
import com.cool.store.context.CurrentUserHolder;
|
||||
import com.cool.store.request.notice.BatchDeletedRequest;
|
||||
import com.cool.store.request.notice.BatchPublishRequest;
|
||||
import com.cool.store.request.notice.MatterConfigAddRequest;
|
||||
import com.cool.store.request.notice.MessageTemplateAddRequest;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.MessageTemplateService;
|
||||
import com.cool.store.vo.notice.MessageTemplateDetailVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2025/7/25 15:08
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pc/notice")
|
||||
@Api(tags = "PC事项/通知管理")
|
||||
@Slf4j
|
||||
public class MessageTemplateController {
|
||||
|
||||
|
||||
@Resource
|
||||
MessageTemplateService messageTemplateService;
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增消息通知")
|
||||
public ResponseResult<Boolean> messageTemplateService(@RequestBody MessageTemplateAddRequest request) {
|
||||
return ResponseResult.success(messageTemplateService.addMessageTemplate(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/edit")
|
||||
@ApiOperation("编辑消息通知")
|
||||
public ResponseResult<Boolean> editMessageTemplate(@RequestBody MessageTemplateAddRequest request) {
|
||||
return ResponseResult.success(messageTemplateService.editMessageTemplate(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@ApiOperation("通知详情")
|
||||
@GetMapping("/getMessageTemplateDetail")
|
||||
public ResponseResult<MessageTemplateDetailVO> getMessageTemplateDetail(@RequestParam("id")Long id) {
|
||||
return ResponseResult.success(messageTemplateService.getMessageTemplateDetail(id));
|
||||
}
|
||||
|
||||
@PostMapping("/batchDelete")
|
||||
@ApiOperation("批量删除")
|
||||
public ResponseResult<Boolean> editMessageTemplate(@RequestBody BatchDeletedRequest request) {
|
||||
return ResponseResult.success(messageTemplateService.batchDeleteMessageTemplate(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
@PostMapping("/batchPublish")
|
||||
@ApiOperation("批量发布")
|
||||
public ResponseResult<Boolean> editMessageTemplate(@RequestBody BatchPublishRequest request) {
|
||||
return ResponseResult.success(messageTemplateService.batchPublishMessageTemplate(request, CurrentUserHolder.getUser()));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user