ct 19 hours ago
parent
commit
a4dd21252e

+ 1 - 1
fs-admin/src/main/java/com/fs/user/controller/FsUserComplaintController.java

@@ -68,7 +68,7 @@ public class FsUserComplaintController extends BaseController
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id)
     {
-        return AjaxResult.success(fsUserComplaintService.selectFsUserComplaintById(id));
+        return AjaxResult.success(fsUserComplaintService.selectFsUserComplaintVoById(id));
     }
 
     /**

+ 109 - 0
fs-admin/src/main/java/com/fs/user/controller/FsUserComplaintMsgController.java

@@ -0,0 +1,109 @@
+package com.fs.user.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.user.domain.FsUserComplaintMsg;
+import com.fs.user.service.IFsUserComplaintMsgService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 投诉消息记录Controller
+ *
+ * @author fs
+ * @date 2025-09-08
+ */
+@RestController
+@RequestMapping("/user/msg")
+public class FsUserComplaintMsgController extends BaseController
+{
+    @Autowired
+    private IFsUserComplaintMsgService fsUserComplaintMsgService;
+
+    /**
+     * 查询投诉消息记录列表
+     */
+//    @PreAuthorize("@ss.hasPermi('user:msg:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        startPage();
+        List<FsUserComplaintMsg> list = fsUserComplaintMsgService.selectFsUserComplaintMsgList(fsUserComplaintMsg);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出投诉消息记录列表
+     */
+//    @PreAuthorize("@ss.hasPermi('user:msg:export')")
+    @Log(title = "投诉消息记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        List<FsUserComplaintMsg> list = fsUserComplaintMsgService.selectFsUserComplaintMsgList(fsUserComplaintMsg);
+        ExcelUtil<FsUserComplaintMsg> util = new ExcelUtil<FsUserComplaintMsg>(FsUserComplaintMsg.class);
+        return util.exportExcel(list, "投诉消息记录数据");
+    }
+
+    /**
+     * 获取投诉消息记录详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('user:msg:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsUserComplaintMsgService.selectFsUserComplaintMsgById(id));
+    }
+
+    /**
+     * 新增投诉消息记录
+     */
+    @PreAuthorize("@ss.hasPermi('user:msg:add')")
+    @Log(title = "投诉消息记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        if (fsUserComplaintMsg.getComplaintId() == null){
+            return AjaxResult.error("未查询到相关投诉!");
+        }
+        Long userId = getUserId();
+        fsUserComplaintMsg.setUserId(userId);
+        fsUserComplaintMsg.setSendType(2); //平台
+        return toAjax(fsUserComplaintMsgService.insertFsUserComplaintMsg(fsUserComplaintMsg));
+    }
+
+    /**
+     * 修改投诉消息记录
+     */
+    @PreAuthorize("@ss.hasPermi('user:msg:edit')")
+    @Log(title = "投诉消息记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        return toAjax(fsUserComplaintMsgService.updateFsUserComplaintMsg(fsUserComplaintMsg));
+    }
+
+    /**
+     * 删除投诉消息记录
+     */
+    @PreAuthorize("@ss.hasPermi('user:msg:remove')")
+    @Log(title = "投诉消息记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsUserComplaintMsgService.deleteFsUserComplaintMsgByIds(ids));
+    }
+}

+ 43 - 0
fs-service/src/main/java/com/fs/user/domain/FsUserComplaintMsg.java

@@ -0,0 +1,43 @@
+package com.fs.user.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 投诉消息记录对象 fs_user_complaint_msg
+ *
+ * @author fs
+ * @date 2025-09-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class FsUserComplaintMsg extends BaseEntity{
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 投诉id */
+    @Excel(name = "投诉id")
+    private Long complaintId;
+
+    /** 回复者: 1用户 2平台 3 店铺 */
+    @Excel(name = "回复者: 1用户 2平台 3 店铺")
+    private Integer sendType;
+
+    /** 回复消息人id */
+    @Excel(name = "回复消息人id")
+    private Long userId;
+
+    /** 内容 */
+    @Excel(name = "内容")
+    private String content;
+
+    /** 图片 */
+    @Excel(name = "图片")
+    private String images;
+
+
+}

+ 2 - 0
fs-service/src/main/java/com/fs/user/mapper/FsUserComplaintMapper.java

@@ -19,6 +19,8 @@ public interface FsUserComplaintMapper extends BaseMapper<FsUserComplaint>{
      * @param id 用户投诉主键
      * @return 用户投诉
      */
+    FsUserComplaintVo selectFsUserComplaintVoById(Long id);
+
     FsUserComplaint selectFsUserComplaintById(Long id);
 
     /**

+ 61 - 0
fs-service/src/main/java/com/fs/user/mapper/FsUserComplaintMsgMapper.java

@@ -0,0 +1,61 @@
+package com.fs.user.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.user.domain.FsUserComplaintMsg;
+
+/**
+ * 投诉消息记录Mapper接口
+ * 
+ * @author fs
+ * @date 2025-09-08
+ */
+public interface FsUserComplaintMsgMapper extends BaseMapper<FsUserComplaintMsg>{
+    /**
+     * 查询投诉消息记录
+     * 
+     * @param id 投诉消息记录主键
+     * @return 投诉消息记录
+     */
+    FsUserComplaintMsg selectFsUserComplaintMsgById(Long id);
+
+    /**
+     * 查询投诉消息记录列表
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 投诉消息记录集合
+     */
+    List<FsUserComplaintMsg> selectFsUserComplaintMsgList(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 新增投诉消息记录
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    int insertFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 修改投诉消息记录
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    int updateFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 删除投诉消息记录
+     * 
+     * @param id 投诉消息记录主键
+     * @return 结果
+     */
+    int deleteFsUserComplaintMsgById(Long id);
+
+    /**
+     * 批量删除投诉消息记录
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteFsUserComplaintMsgByIds(Long[] ids);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/user/service/IFsUserComplaintMsgService.java

@@ -0,0 +1,61 @@
+package com.fs.user.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.user.domain.FsUserComplaintMsg;
+
+/**
+ * 投诉消息记录Service接口
+ * 
+ * @author fs
+ * @date 2025-09-08
+ */
+public interface IFsUserComplaintMsgService extends IService<FsUserComplaintMsg>{
+    /**
+     * 查询投诉消息记录
+     * 
+     * @param id 投诉消息记录主键
+     * @return 投诉消息记录
+     */
+    FsUserComplaintMsg selectFsUserComplaintMsgById(Long id);
+
+    /**
+     * 查询投诉消息记录列表
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 投诉消息记录集合
+     */
+    List<FsUserComplaintMsg> selectFsUserComplaintMsgList(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 新增投诉消息记录
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    int insertFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 修改投诉消息记录
+     * 
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    int updateFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg);
+
+    /**
+     * 批量删除投诉消息记录
+     * 
+     * @param ids 需要删除的投诉消息记录主键集合
+     * @return 结果
+     */
+    int deleteFsUserComplaintMsgByIds(Long[] ids);
+
+    /**
+     * 删除投诉消息记录信息
+     * 
+     * @param id 投诉消息记录主键
+     * @return 结果
+     */
+    int deleteFsUserComplaintMsgById(Long id);
+}

+ 1 - 1
fs-service/src/main/java/com/fs/user/service/IFsUserComplaintService.java

@@ -19,7 +19,7 @@ public interface IFsUserComplaintService extends IService<FsUserComplaint>{
      * @param id 用户投诉主键
      * @return 用户投诉
      */
-    FsUserComplaint selectFsUserComplaintById(Long id);
+    FsUserComplaintVo selectFsUserComplaintVoById(Long id);
 
     /**
      * 查询用户投诉列表

+ 121 - 0
fs-service/src/main/java/com/fs/user/service/impl/FsUserComplaintMsgServiceImpl.java

@@ -0,0 +1,121 @@
+package com.fs.user.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.user.domain.FsUserComplaint;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.fs.user.mapper.FsUserComplaintMsgMapper;
+import com.fs.user.domain.FsUserComplaintMsg;
+import com.fs.user.service.IFsUserComplaintMsgService;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 投诉消息记录Service业务层处理
+ *
+ * @author fs
+ * @date 2025-09-08
+ */
+@Service
+public class FsUserComplaintMsgServiceImpl extends ServiceImpl<FsUserComplaintMsgMapper, FsUserComplaintMsg> implements IFsUserComplaintMsgService {
+
+    /**
+     * 查询投诉消息记录
+     *
+     * @param id 投诉消息记录主键
+     * @return 投诉消息记录
+     */
+    @Override
+    public FsUserComplaintMsg selectFsUserComplaintMsgById(Long id)
+    {
+        return baseMapper.selectFsUserComplaintMsgById(id);
+    }
+
+    /**
+     * 查询投诉消息记录列表
+     *
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 投诉消息记录
+     */
+    @Override
+    public List<FsUserComplaintMsg> selectFsUserComplaintMsgList(FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        return baseMapper.selectFsUserComplaintMsgList(fsUserComplaintMsg);
+    }
+
+    /**
+     * 新增投诉消息记录
+     *
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    @Override
+    @Transactional
+    public int insertFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        fsUserComplaintMsg.setCreateTime(DateUtils.getNowDate());
+        //修改投诉 状态
+        Long complaintId = fsUserComplaintMsg.getComplaintId();
+        FsUserComplaint fsUserComplaint = new FsUserComplaint();
+        fsUserComplaint.setId(complaintId);
+        fsUserComplaint.setUpdateTime(fsUserComplaintMsg.getCreateTime());
+        Integer sendType = fsUserComplaintMsg.getSendType();
+        switch (sendType){
+            case 1:
+                fsUserComplaint.setIsReadPlatform(0);
+                fsUserComplaint.setIsReadStore(0);
+                break;
+            case 2:
+                fsUserComplaint.setIsHandlePlatform(1);
+                fsUserComplaint.setIsReadPlatform(1);
+                fsUserComplaint.setIsReadUser(0);
+                break;
+            case 3:
+                fsUserComplaint.setIsHandleStore(1);
+                fsUserComplaint.setIsReadStore(1);
+                fsUserComplaint.setIsReadUser(0);
+                break;
+            default:
+                return 0;
+        }
+
+        return baseMapper.insertFsUserComplaintMsg(fsUserComplaintMsg);
+    }
+
+    /**
+     * 修改投诉消息记录
+     *
+     * @param fsUserComplaintMsg 投诉消息记录
+     * @return 结果
+     */
+    @Override
+    public int updateFsUserComplaintMsg(FsUserComplaintMsg fsUserComplaintMsg)
+    {
+        return baseMapper.updateFsUserComplaintMsg(fsUserComplaintMsg);
+    }
+
+    /**
+     * 批量删除投诉消息记录
+     *
+     * @param ids 需要删除的投诉消息记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsUserComplaintMsgByIds(Long[] ids)
+    {
+        return baseMapper.deleteFsUserComplaintMsgByIds(ids);
+    }
+
+    /**
+     * 删除投诉消息记录信息
+     *
+     * @param id 投诉消息记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFsUserComplaintMsgById(Long id)
+    {
+        return baseMapper.deleteFsUserComplaintMsgById(id);
+    }
+}

+ 2 - 2
fs-service/src/main/java/com/fs/user/service/impl/FsUserComplaintServiceImpl.java

@@ -26,9 +26,9 @@ public class FsUserComplaintServiceImpl extends ServiceImpl<FsUserComplaintMappe
      * @return 用户投诉
      */
     @Override
-    public FsUserComplaint selectFsUserComplaintById(Long id)
+    public FsUserComplaintVo selectFsUserComplaintVoById(Long id)
     {
-        return baseMapper.selectFsUserComplaintById(id);
+        return baseMapper.selectFsUserComplaintVoById(id);
     }
 
     /**

+ 8 - 0
fs-service/src/main/resources/mapper/user/FsUserComplaintMapper.xml

@@ -78,6 +78,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
+    <select id="selectFsUserComplaintVoById" parameterType="Long" resultType="com.fs.user.domain.vo.FsUserComplaintVo">
+        select c.id, u.nick_name,c.title, c.content, c.images, c.type, c.link_id, c.create_time, c.create_by, c.update_time, c.update_by,
+               c.remark,c.complaint_type,c.is_handle_store,c.is_handle_platform,c.is_read_user,c.is_read_store,c.is_read_platform
+        from fs_user_complaint c
+                 left join fs_user u on c.fs_user_id = u.user_id
+        where c.id = #{id}
+    </select>
+
 
     <insert id="insertFsUserComplaint" parameterType="FsUserComplaint" useGeneratedKeys="true" keyProperty="id">
         insert into fs_user_complaint

+ 81 - 0
fs-service/src/main/resources/mapper/user/FsUserComplaintMsgMapper.xml

@@ -0,0 +1,81 @@
+<?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.fs.user.mapper.FsUserComplaintMsgMapper">
+
+    <resultMap type="FsUserComplaintMsg" id="FsUserComplaintMsgResult">
+        <result property="id"    column="id"    />
+        <result property="complaintId"    column="complaint_id"    />
+        <result property="sendType"    column="send_type"    />
+        <result property="userId"    column="user_id"    />
+        <result property="content"    column="content"    />
+        <result property="images"    column="images"    />
+        <result property="createTime"    column="create_time"    />
+    </resultMap>
+
+    <sql id="selectFsUserComplaintMsgVo">
+        select id, complaint_id, send_type, user_id, content, images, create_time from fs_user_complaint_msg
+    </sql>
+
+    <select id="selectFsUserComplaintMsgList" parameterType="FsUserComplaintMsg" resultMap="FsUserComplaintMsgResult">
+        <include refid="selectFsUserComplaintMsgVo"/>
+        <where>
+            <if test="complaintId != null "> and complaint_id = #{complaintId}</if>
+            <if test="sendType != null "> and send_type = #{sendType}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="images != null  and images != ''"> and images = #{images}</if>
+        </where>
+        order by create_time desc
+    </select>
+
+    <select id="selectFsUserComplaintMsgById" parameterType="Long" resultMap="FsUserComplaintMsgResult">
+        <include refid="selectFsUserComplaintMsgVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFsUserComplaintMsg" parameterType="FsUserComplaintMsg" useGeneratedKeys="true" keyProperty="id">
+        insert into fs_user_complaint_msg
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="complaintId != null">complaint_id,</if>
+            <if test="sendType != null">send_type,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="content != null">content,</if>
+            <if test="images != null">images,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="complaintId != null">#{complaintId},</if>
+            <if test="sendType != null">#{sendType},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="content != null">#{content},</if>
+            <if test="images != null">#{images},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateFsUserComplaintMsg" parameterType="FsUserComplaintMsg">
+        update fs_user_complaint_msg
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="complaintId != null">complaint_id = #{complaintId},</if>
+            <if test="sendType != null">send_type = #{sendType},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="images != null">images = #{images},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteFsUserComplaintMsgById" parameterType="Long">
+        delete from fs_user_complaint_msg where id = #{id}
+    </delete>
+
+    <delete id="deleteFsUserComplaintMsgByIds" parameterType="String">
+        delete from fs_user_complaint_msg where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>