jiangqs
2023-07-16 bd1467a09752fa7b838fd6c1a98d8e7d7687c5a7
员工端
12个文件已修改
5个文件已添加
478 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java 159 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/StaffUseSuggestDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/StaffSuggest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/StaffSuggestPageVo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/StaffUserGetVo.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/StaffSuggestMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/StaffSuggestService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffShopController.java
@@ -84,6 +84,7 @@
        return R.ok(staffShopInfoGetVo);
    }
    @RequestMapping(value = "/editShopEstimate", method = RequestMethod.POST)
    @ApiOperation(value = "修改店铺评估")
    public R editShopEstimate(@RequestBody StaffShopEstimateEditDto staffShopEstimateEditDto) {
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffTaskController.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
import com.ruoyi.shop.domain.dto.StaffAgencyPageDto;
import com.ruoyi.shop.domain.dto.StaffFollowShopTaskDto;
import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
import com.ruoyi.shop.domain.vo.StaffAgencyTaskRecordPageVo;
import com.ruoyi.shop.domain.vo.StaffMyShopTaskRecordPageVo;
@@ -103,4 +104,12 @@
        return R.ok();
    }
    @RequestMapping(value = "/staffFollowShopTask", method = RequestMethod.POST)
    @ApiOperation(value = "员工商户任务跟进")
    public R staffFollowShopTask(@RequestBody StaffFollowShopTaskDto staffFollowShopTaskDto) {
        Long userId = SecurityUtils.getUserId();
        staffFollowShopTaskDto.setUserId(userId);
        shopTaskService.staffFollowShopTask(staffFollowShopTaskDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffAddTaskDto.java
@@ -14,7 +14,7 @@
@Data
public class StaffAddTaskDto extends StaffBaseDto {
    @ApiModelProperty(value="任务时间")
    @ApiModelProperty(value="商户id")
    private Long shopId;
    @ApiModelProperty(value="任务时间")
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffFollowShopTaskDto.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MerFollowMemberTask
 * @description: TODO
 * @date 2023年05月06日
 * @version: 1.0
 */
@Data
public class StaffFollowShopTaskDto extends MerBaseDto {
    @ApiModelProperty(value = "任务id")
    private String taskId;
    @ApiModelProperty(value="跟踪类型1电话2手动")
    private Integer followType;
    @ApiModelProperty(value="拨打电话")
    private String callPhone;
    @ApiModelProperty(value="电话跟踪内容")
    private List<MerFollowPhoneDto> followPhone;
    @ApiModelProperty(value="手动跟踪内容")
    private String followContent;
    @ApiModelProperty(value="跟进图片地址 多个,号隔开")
    private String picture;
    @ApiModelProperty(value="跟进视频地址 多个,号隔开")
    private String video;
    @ApiModelProperty(value="跟进音频地址 多个,号隔开")
    private String audio;
    @ApiModelProperty(value="下次任务时间")
    private String nextTaskDate;
    @ApiModelProperty(value="下次任务内容")
    private String nextTaskContent;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java
@@ -53,7 +53,7 @@
     * 下次跟进时间
     */
    @TableField("next_follow_date")
    private Date nextFollowDate;
    private String nextFollowDate;
    /**
     * 任务标题
     */
@@ -74,7 +74,7 @@
     * 任务时间
     */
    @TableField("task_date")
    private Date taskDate;
    private String taskDate;
    /**
     * 任务状态0未开始1待处理2已处理3已过期
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -6,12 +6,8 @@
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord;
import com.ruoyi.shop.domain.pojo.task.TaskFile;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.pojo.task.*;
import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
import com.ruoyi.shop.mapper.task.ShopTaskMapper;
import com.ruoyi.shop.service.task.ShopTaskRecordService;
@@ -23,8 +19,6 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
@@ -59,15 +53,16 @@
    public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){
        //创建本次任务
        ShopTask shopTask = new ShopTask();
        Date nowTime = new Date();
        String nowTimeStr = DateUtils.getDate();
        String taskId = IdUtils.simpleUUID();
        shopTask.setTaskId(taskId);
        shopTask.setDelFlag(0);
        shopTask.setShopId(mgtFollowShopTaskDto.getShopId());
        shopTask.setNextFollowDate(DateUtils.toDate(LocalDate.now()));
        shopTask.setTaskTitle(mgtFollowShopTaskDto.getTaskTitle());
        shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
        shopTask.setCreateTime(new Date());
        shopTask.setTaskDate(DateUtils.toDate(LocalDate.now()));
        shopTask.setCreateTime(nowTime);
        shopTask.setTaskDate(nowTimeStr);
        shopTask.setTaskStatus(2);
        this.saveOrUpdate(shopTask);
        //创建任务记录
@@ -78,7 +73,7 @@
        shopTaskRecord.setFollowType(2);
        shopTaskRecord.setCustomFollowType(mgtFollowShopTaskDto.getFollowType());
        shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent());
        shopTaskRecord.setCreateTime(new Date());
        shopTaskRecord.setCreateTime(nowTime);
        shopTaskRecordService.saveOrUpdate(shopTaskRecord);
        //创建任务文件
        String picture = mgtFollowShopTaskDto.getPicture();
@@ -104,14 +99,16 @@
        shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId());
        shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle());
        shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState());
        shopNextTask.setCreateTime(new Date());
        shopNextTask.setCreateTime(nowTime);
        int i = mgtFollowShopTaskDto.getNextTaskDate().compareTo(nowTimeStr);
        if(i>0){
        shopNextTask.setTaskStatus(0);
        try {
            shopNextTask.setNextFollowDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
            shopNextTask.setTaskDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd"));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }else if(i==0){
            shopNextTask.setTaskStatus(1);
        }else{
            shopNextTask.setTaskStatus(3);
        }
        shopNextTask.setTaskDate(mgtFollowShopTaskDto.getNextTaskDate());
        this.saveOrUpdate(shopNextTask);
    }
@@ -180,5 +177,131 @@
    @Override
    public void staffAddTask(StaffAddTaskDto staffAddTaskDto){
        ShopTask shopTask = new ShopTask();
        String nowTimeStr = DateUtils.getDate();
        String taskId = IdUtils.simpleUUID();
        shopTask.setTaskId(taskId);
        shopTask.setDelFlag(0);
        shopTask.setShopId(staffAddTaskDto.getShopId());
        shopTask.setTaskTitle(staffAddTaskDto.getTaskTitle());
        shopTask.setEmergencyState(staffAddTaskDto.getEmergencyState());
        shopTask.setCreateTime(new Date());
        shopTask.setTaskDate(staffAddTaskDto.getTaskDate());
        int i = staffAddTaskDto.getTaskDate().compareTo(nowTimeStr);
        if(i>0){
            shopTask.setTaskStatus(0);
        }else if(i==0){
            shopTask.setTaskStatus(1);
        }else{
            shopTask.setTaskStatus(3);
        }
        this.saveOrUpdate(shopTask);
    }
    /**
     * @description 员工商户任务跟进
     * @param staffFollowShopTaskDto
     * @return void
     * @author jqs34
     * @date 2023/7/16 11:56
     */
    @Override
    public void staffFollowShopTask(StaffFollowShopTaskDto staffFollowShopTaskDto){
        // 创建会员任务记录对象
        ShopTaskRecord shopTaskRecord;
        // 获取旧的会员任务
        ShopTask oldShopTask = this.getById(staffFollowShopTaskDto.getTaskId());
        oldShopTask.setTaskStatus(2);
        this.saveOrUpdate(oldShopTask);
        // 判断跟进类型
        if (staffFollowShopTaskDto.getFollowType() == 1) {
            // 获取跟进电话列表
            List<MerFollowPhoneDto> followPhone = staffFollowShopTaskDto.getFollowPhone();
            // 判断跟进电话列表是否为空
            if (followPhone != null && !followPhone.isEmpty()) {
                // 遍历跟进电话列表
                for (MerFollowPhoneDto followPhoneDto : followPhone) {
                    // 创建新的会员任务记录
                    shopTaskRecord = new ShopTaskRecord();
                    shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId());
                    shopTaskRecord.setDelFlag(0);
                    shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
                    shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
                    shopTaskRecord.setCallPhone(staffFollowShopTaskDto.getCallPhone());
                    shopTaskRecord.setFollowContent(followPhoneDto.getFollowContent());
                    shopTaskRecord.setCallTime(followPhoneDto.getCallTime());
                    // 保存或更新会员任务记录
                    shopTaskRecordService.saveOrUpdate(shopTaskRecord);
                }
            }
        } else {
            // 创建新的会员任务记录
            shopTaskRecord = new ShopTaskRecord();
            shopTaskRecord.setTaskId(staffFollowShopTaskDto.getTaskId());
            shopTaskRecord.setDelFlag(0);
            shopTaskRecord.setUserId(staffFollowShopTaskDto.getUserId());
            shopTaskRecord.setFollowType(staffFollowShopTaskDto.getFollowType());
            shopTaskRecord.setFollowContent(staffFollowShopTaskDto.getFollowContent());
            shopTaskRecord.setCreateTime(new Date());
            // 保存或更新会员任务记录
            shopTaskRecordService.saveOrUpdate(shopTaskRecord);
            // 获取图片、视频和音频
            String picture = staffFollowShopTaskDto.getPicture();
            String video = staffFollowShopTaskDto.getVideo();
            String audio = staffFollowShopTaskDto.getAudio();
            String[] strArr;
            TaskFile taskFile;
            // 判断图片是否为空,并处理
            if (StringUtils.isNotBlank(picture)) {
                strArr = picture.split(",");
                for (String str : strArr) {
                    taskFile = new TaskFile();
                    taskFile.setDelFlag(0);
                    taskFile.setFollowId(shopTaskRecord.getId());
                    taskFile.setFollowFrom(4);
                    taskFile.setFileUrl(str);
                    taskFile.setFileType(1);
                    taskFileService.saveOrUpdate(taskFile);
                }
            }
            // 判断视频是否为空,并处理
            if (StringUtils.isNotBlank(video)) {
                strArr = picture.split(",");
                for (String str : strArr) {
                    taskFile = new TaskFile();
                    taskFile.setDelFlag(0);
                    taskFile.setFollowId(shopTaskRecord.getId());
                    taskFile.setFollowFrom(4);
                    taskFile.setFileUrl(str);
                    taskFile.setFileType(2);
                    taskFileService.saveOrUpdate(taskFile);
                }
            }
            // 判断音频是否为空,并处理
            if (StringUtils.isNotBlank(audio)) {
                strArr = picture.split(",");
                for (String str : strArr) {
                    taskFile = new TaskFile();
                    taskFile.setDelFlag(0);
                    taskFile.setFollowId(shopTaskRecord.getId());
                    taskFile.setFollowFrom(4);
                    taskFile.setFileUrl(str);
                    taskFile.setFileType(3);
                    taskFileService.saveOrUpdate(taskFile);
                }
            }
        }
        // 判断下一个任务日期是否为空,并处理
        if (StringUtils.isNotBlank(staffFollowShopTaskDto.getNextTaskDate())) {
            ShopTask shopTask = new ShopTask();
            String taskId = IdUtils.simpleUUID();
            shopTask.setTaskId(taskId);
            shopTask.setDelFlag(0);
            shopTask.setShopId(oldShopTask.getShopId());
            shopTask.setTaskDate(staffFollowShopTaskDto.getNextTaskDate());
            shopTask.setFollowContent(staffFollowShopTaskDto.getNextTaskContent());
            shopTask.setTaskStatus(2);
            shopTask.setCreateTime(new Date());
            this.saveOrUpdate(shopTask);
        }
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto;
import com.ruoyi.shop.domain.dto.StaffAddTaskDto;
import com.ruoyi.shop.domain.dto.StaffFollowShopTaskDto;
import com.ruoyi.shop.domain.dto.StaffShopTaskPageDto;
import com.ruoyi.shop.domain.pojo.task.ShopTask;
import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo;
@@ -63,4 +64,13 @@
     * @return  void
     */
    void staffAddTask(StaffAddTaskDto staffAddTaskDto);
    /**
    * @description 员工商户任务跟进
    * @param staffFollowShopTaskDto
    * @return void
    * @author jqs34
    * @date 2023/7/16 11:56
    */
    void staffFollowShopTask(StaffFollowShopTaskDto staffFollowShopTaskDto);
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
@@ -9,7 +9,7 @@
        create_time createTime
        FROM
        t_shop_suggest
        WHERE del_flag = 0 AND shop_id = #{param.shopId}
        WHERE del_flag = 0 AND shop_id = #{param.shopId} AND create_user_id =  #{param.userId}
    </select>
    <update id="deleteShopSuggestTag">
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffSysController.java
New file
@@ -0,0 +1,83 @@
package com.ruoyi.system.controller.staff;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import com.ruoyi.system.api.domain.dto.StaffPageDto;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.domain.dto.StaffUseSuggestDto;
import com.ruoyi.system.domain.pojo.staff.SysStaff;
import com.ruoyi.system.domain.vo.StaffSuggestPageVo;
import com.ruoyi.system.domain.vo.StaffUserGetVo;
import com.ruoyi.system.service.config.StaffSuggestService;
import com.ruoyi.system.service.staff.SysStaffService;
import com.ruoyi.system.service.sys.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
 * @author jqs34
 * @version 1.0
 * @classname StaffUserController
 * @description: TODO
 * @date 2023 2023/7/16 12:02
 */
@Api(value = "员工端商户接口", tags = "员工端商户接口", description = "员工端商户接口")
@RestController
@RequestMapping("/staff/sys")
public class StaffSysController {
    @Resource
    private SysStaffService sysStaffService;
    @Resource
    private ISysUserService sysUserService;
    @Resource
    private StaffSuggestService staffSuggestService;
    @RequestMapping(value = "/getStaffShopInfo", method = RequestMethod.POST)
    @ApiOperation(value = "获取员工端商户信息")
    public R<StaffUserGetVo> getStaffShopInfo() {
        Long userId = SecurityUtils.getUserId();
        SysStaff sysStaff = sysStaffService.getByUserId(userId);
        SysUser sysUser = sysUserService.selectUserById(userId);
        StaffUserGetVo staffUserGetVo = new StaffUserGetVo();
        staffUserGetVo.setUserId(sysStaff.getUserId());
        staffUserGetVo.setStaffName(sysStaff.getStaffName());
        staffUserGetVo.setStaffMobile(sysStaff.getStaffMobile());
        staffUserGetVo.setStaffAvatar(sysStaff.getStaffAvatar());
        staffUserGetVo.setStaffDept(sysUser.getDept().getDeptName());
        staffUserGetVo.setStaffPost(sysStaff.getStaffPost());
        return R.ok(staffUserGetVo);
    }
    @RequestMapping(value = "/staffSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "员工发起建议")
    public R userSuggest(@RequestBody StaffUseSuggestDto staffUseSuggestDto) {
        Long userId = SecurityUtils.getUserId();
        staffUseSuggestDto.setUserId(userId);
        staffSuggestService.staffSuggest(staffUseSuggestDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageStaffShopSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取员工建议")
    public R<Page<StaffSuggestPageVo>> pageStaffShopSuggest(@RequestBody StaffPageDto staffPageDto) {
        Long userId = SecurityUtils.getUserId();
        staffPageDto.setUserId(userId);
        Page<StaffSuggestPageVo> page = new Page<>();
        page.setSize(staffPageDto.getPageSize());
        page.setCurrent(staffPageDto.getPageNum());
        List<StaffSuggestPageVo> staffSuggestPageVoList = staffSuggestService.pageStaffShopSuggest(page,staffPageDto);
        return R.ok(page.setRecords(staffSuggestPageVoList));
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/StaffUseSuggestDto.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.StaffBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @version 1.0
 * @classname StaffUseSuggestDto
 * @description: TODO
 * @date 2023 2023/7/16 12:16
 */
@Data
public class StaffUseSuggestDto extends StaffBaseDto {
    @ApiModelProperty(value = "建议内容")
    private String suggestContent;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/StaffSuggest.java
@@ -52,7 +52,7 @@
     * 创建人id
     */
    @TableField("create_user_id")
    private Integer createUserId;
    private Long createUserId;
    /**
     * 回复内容
     */
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/StaffSuggestPageVo.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author jqs34
 * @version 1.0
 * @classname StaffSuggestPageVo
 * @description: TODO
 * @date 2023 2023/7/16 12:20
 */
@Data
public class StaffSuggestPageVo {
    @ApiModelProperty(value = "建议内容")
    private String suggestContent;
    @ApiModelProperty(value = "回复内容")
    private String replayContent;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/StaffUserGetVo.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author jqs34
 * @version 1.0
 * @classname StaffUserGetVo
 * @description: TODO
 * @date 2023 2023/7/16 12:05
 */
@Data
public class StaffUserGetVo {
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "员工名称")
    private String staffName;
    @ApiModelProperty(value = "员工手机号码")
    private String staffMobile;
    @ApiModelProperty(value="员工头像")
    private String staffAvatar;
    @ApiModelProperty(value="员工部门")
    private String staffDept;
    @ApiModelProperty(value="员工职位")
    private String staffPost;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/StaffSuggestMapper.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.api.domain.dto.StaffPageDto;
import com.ruoyi.system.domain.dto.MgtStaffSuggestPageDto;
import com.ruoyi.system.domain.pojo.config.StaffSuggest;
import com.ruoyi.system.domain.vo.MgtStaffSuggestPageVo;
import com.ruoyi.system.domain.vo.StaffSuggestPageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -37,4 +39,13 @@
     * @date 2023/6/11 18:26
     */
    List<MgtStaffSuggestPageVo> pageMgtStaffSuggest(Page page, @Param("param")MgtStaffSuggestPageDto mgtStaffSuggestPageDto);
    /**
     * @description 分页获取员工建议
     * @param page
     * @return List<StaffSuggestPageVo>
     * @author jqs34
     * @date 2023/7/16 12:26
     */
    List<StaffSuggestPageVo> pageStaffShopSuggest(Page page, @Param("param")StaffPageDto staffPageDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/StaffSuggestService.java
@@ -1,13 +1,16 @@
package com.ruoyi.system.service.config;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.api.domain.dto.StaffPageDto;
import com.ruoyi.system.domain.dto.MgtReplayStaffSuggestDto;
import com.ruoyi.system.domain.dto.MgtStaffSuggestPageDto;
import com.ruoyi.system.domain.dto.MgtTagStaffSuggestDto;
import com.ruoyi.system.domain.dto.StaffUseSuggestDto;
import com.ruoyi.system.domain.pojo.config.StaffSuggest;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.vo.MgtStaffSuggestPageVo;
import com.ruoyi.system.domain.vo.MgtStaffSuggestTagVo;
import com.ruoyi.system.domain.vo.StaffSuggestPageVo;
import java.util.List;
@@ -75,4 +78,22 @@
     * @return  Integer
     */
    Integer getUnReplaySuggestVo();
    /**
    * @description 员工发起建议
    * @param staffUseSuggestDto
    * @return void
    * @author jqs34
    * @date 2023/7/16 12:18
    */
    void staffSuggest(StaffUseSuggestDto staffUseSuggestDto);
    /**
    * @description 分页获取员工建议
    * @param page
    * @return List<StaffSuggestPageVo>
    * @author jqs34
    * @date 2023/7/16 12:26
    */
    List<StaffSuggestPageVo> pageStaffShopSuggest(Page page, StaffPageDto staffPageDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java
@@ -4,14 +4,17 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.api.domain.dto.StaffPageDto;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.domain.dto.MgtReplayStaffSuggestDto;
import com.ruoyi.system.domain.dto.MgtStaffSuggestPageDto;
import com.ruoyi.system.domain.dto.MgtTagStaffSuggestDto;
import com.ruoyi.system.domain.dto.StaffUseSuggestDto;
import com.ruoyi.system.domain.pojo.config.StaffSuggest;
import com.ruoyi.system.domain.vo.MgtStaffSuggestPageVo;
import com.ruoyi.system.domain.vo.MgtStaffSuggestTagVo;
import com.ruoyi.system.domain.vo.StaffSuggestPageVo;
import com.ruoyi.system.mapper.config.StaffSuggestMapper;
import com.ruoyi.system.service.config.StaffSuggestService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -173,4 +176,33 @@
        queryWrapper.eq(StaffSuggest::getReplayFlag,0);
        return this.count(queryWrapper);
    }
    /**
     * @description 员工发起建议
     * @param staffUseSuggestDto
     * @return void
     * @author jqs34
     * @date 2023/7/16 12:18
     */
    @Override
    public void staffSuggest(StaffUseSuggestDto staffUseSuggestDto){
        StaffSuggest staffSuggest = new StaffSuggest();
        staffSuggest.setDelFlag(0);
        staffSuggest.setSuggestContent(staffUseSuggestDto.getSuggestContent());
        staffSuggest.setCreateTime(new Date());
        staffSuggest.setCreateUserId(staffUseSuggestDto.getUserId());
        this.saveOrUpdate(staffSuggest);
    }
    /**
     * @description 分页获取员工建议
     * @param page
     * @return List<StaffSuggestPageVo>
     * @author jqs34
     * @date 2023/7/16 12:26
     */
    @Override
    public List<StaffSuggestPageVo> pageStaffShopSuggest(Page page, StaffPageDto staffPageDto){
        return staffSuggestMapper.pageStaffShopSuggest(page, staffPageDto);
    }
}
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
@@ -52,4 +52,14 @@
            AND tss.replay_time &lt;= #{param.replayEndTime}
        </if>
    </select>
    <select id="pageMerShopSuggest" resultType="com.ruoyi.shop.domain.vo.MerShopSuggestVo">
        SELECT
            suggest_content suggestContent,
            replay_content replayContent,
            create_time createTime
        FROM
            t_staff_suggest
        WHERE del_flag = 0 AND create_user_id = #{param.userId}
    </select>
</mapper>