浏览代码

fix: 提交投诉

xdd 2 周之前
父节点
当前提交
a8ff9edabc

+ 137 - 0
fs-admin/src/main/java/com/fs/his/controller/FoodRecordController.java

@@ -0,0 +1,137 @@
+package com.fs.his.controller;
+
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.utils.StringUtils;
+import com.fs.foods.domain.FsFoodRecord;
+import com.fs.foods.param.FoodRecordAddParam;
+import com.fs.foods.param.FoodRecordEditParam;
+import com.fs.foods.param.FoodRecordQueryParam;
+import com.fs.foods.service.IFsFoodRecordService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 饮食记录控制器
+ */
+@Api("饮食记录管理")
+@RestController
+@Slf4j
+@RequestMapping(value = "/food-record")
+public class FoodRecordController extends BaseController {
+
+    @Autowired
+    private IFsFoodRecordService foodRecordService;
+
+    /**
+     * 获取用户饮食记录详情
+     */
+    @ApiOperation("获取饮食记录详情")
+    @GetMapping("/getRecordInfo/{id}")
+    public R getRecordInfo(@PathVariable Long id, HttpServletRequest request) {
+        FsFoodRecord record = foodRecordService.selectFsFoodRecordById(id);
+        return R.ok().put("data",record);
+    }
+
+
+    /**
+     * 获取用户饮食记录分页列表
+     */
+    @ApiOperation("获取用户饮食记录列表")
+    @GetMapping("/getMyRecordList")
+    public R getMyRecordList(FoodRecordQueryParam param, HttpServletRequest request) {
+        try {
+            PageHelper.startPage(param.getPageNum(), param.getPageSize());
+            List<FsFoodRecord> list = foodRecordService.selectFoodRecordList(param);
+            PageInfo<FsFoodRecord> listPageInfo = new PageInfo<>(list);
+            return R.ok().put("data", listPageInfo);
+        } catch (Exception e) {
+            log.error("获取饮食记录列表异常:", e);
+            return R.error("操作异常");
+        }
+    }
+
+    /**
+     * 新增饮食记录
+     */
+    @ApiOperation("新增饮食记录")
+    @PostMapping("/addRecord")
+    public R addRecord(@RequestBody @Valid FoodRecordAddParam param, HttpServletRequest request) {
+        try {
+            log.info("【新增饮食记录】:{}", param);
+
+            if (StringUtils.isEmpty(param.getMealDescription())) {
+                return R.error("用餐描述不能为空");
+            }
+
+            FsFoodRecord record = new FsFoodRecord();
+            BeanUtils.copyProperties(param, record);
+
+            if (foodRecordService.insertFsFoodRecord(record) > 0) {
+                return R.ok("添加成功");
+            } else {
+                return R.error("添加失败");
+            }
+        } catch (Exception e) {
+            log.error("新增饮食记录异常:", e);
+            return R.error("操作异常");
+        }
+    }
+
+    /**
+     * 修改饮食记录
+     */
+    @ApiOperation("修改饮食记录")
+    @PostMapping("/editRecord")
+    public R editRecord(@RequestBody @Valid FoodRecordEditParam param, HttpServletRequest request) {
+        try {
+            log.info("【修改饮食记录】:{}", param);
+
+            FsFoodRecord record = new FsFoodRecord();
+            BeanUtils.copyProperties(param, record);
+
+            if (foodRecordService.updateFsFoodRecord(record) > 0) {
+                return R.ok("修改成功");
+            } else {
+                return R.error("修改失败");
+            }
+        } catch (Exception e) {
+            log.error("修改饮食记录异常:", e);
+            return R.error("操作异常");
+        }
+    }
+
+    /**
+     * 删除饮食记录
+     */
+    @ApiOperation("删除饮食记录")
+    @PostMapping("/deleteRecord/{id}")
+    public R deleteRecord(@PathVariable("id") Long id, HttpServletRequest request) {
+        foodRecordService.deleteFsFoodRecordById(id);
+        return R.ok();
+    }
+
+
+
+    /**
+     * 管理端查询饮食记录列表
+     */
+    @ApiOperation("管理端查询饮食记录")
+    @GetMapping("/admin/list")
+    public TableDataInfo adminList(FoodRecordQueryParam param) {
+        startPage();
+        List<FsFoodRecord> list = foodRecordService.selectFoodRecordList(param);
+        return getDataTable(list);
+    }
+}

+ 4 - 0
fs-service/src/main/java/com/fs/complaint/domain/FsComplaint.java

@@ -28,6 +28,10 @@ public class FsComplaint {
      * 投诉分类ID
      */
     private Long categoryId;
+    /**
+     * 投诉分类名称
+     */
+    private String categoryName;
 
     /**
      * 投诉内容

+ 5 - 0
fs-service/src/main/java/com/fs/complaint/mapper/FsComplaintCategoryMapper.java

@@ -6,6 +6,7 @@ import com.fs.complaint.vo.FsComplaintCategoryListVO;
 import org.apache.ibatis.annotations.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 投诉分类表数据访问层
@@ -31,6 +32,10 @@ public interface FsComplaintCategoryMapper {
     @Select("SELECT * FROM fs_complaint_category where status=1 ORDER BY sort_order ASC")
     List<FsComplaintCategory> selectAll();
 
+    @Select("SELECT id,category_name FROM fs_complaint_category where status=1 ORDER BY sort_order ASC")
+    @MapKey("id")
+    Map<Long,FsComplaintCategory> selectAllMap();
+
     /**
      * 插入分类信息
      */

+ 14 - 7
fs-service/src/main/java/com/fs/complaint/service/impl/FsComplaintServiceImpl.java

@@ -3,16 +3,20 @@ package com.fs.complaint.service.impl;
 import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.db.PageResult;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.utils.FileNameExtractor;
 import com.fs.common.utils.bean.BeanUtils;
 import com.fs.complaint.domain.FsComplaint;
 import com.fs.complaint.domain.FsComplaintAttachment;
+import com.fs.complaint.domain.FsComplaintCategory;
 import com.fs.complaint.dto.ComplaintQueryDTO;
 import com.fs.complaint.dto.SubmitComplaintDTO;
 import com.fs.complaint.dto.UpdateComplaintDTO;
 import com.fs.complaint.mapper.FsComplaintAttachmentMapper;
+import com.fs.complaint.mapper.FsComplaintCategoryMapper;
 import com.fs.complaint.mapper.FsComplaintMapper;
 import com.fs.complaint.param.FsComplaintCategoryParam;
+import com.fs.complaint.service.FsComplaintCategoryService;
 import com.fs.complaint.service.FsComplaintService;
 import com.fs.complaint.vo.ComplaintVO;
 import com.fs.complaint.vo.FsComplaintCategoryListVO;
@@ -25,10 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -38,6 +39,8 @@ public class FsComplaintServiceImpl implements FsComplaintService {
     private FsComplaintMapper fsComplaintMapper;
     @Autowired
     private FsComplaintAttachmentMapper fsComplaintAttachmentMapper;
+    @Autowired
+    private FsComplaintCategoryMapper fsComplaintCategoryMapper;
 
     @Override
     @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
@@ -100,11 +103,15 @@ public class FsComplaintServiceImpl implements FsComplaintService {
     public List<FsComplaint> getComplaintPage(ComplaintQueryDTO queryDTO) {
         log.info("分页查询投诉列表,参数:{}", queryDTO);
 
-        // 查询总数
-        int total = fsComplaintMapper.countByCondition(queryDTO);
+        Map<Long, FsComplaintCategory> categoryMap = fsComplaintCategoryMapper.selectAllMap();
 
-        // 查询列表
         List<FsComplaint> complaints = fsComplaintMapper.selectByCondition(queryDTO);
+        for (FsComplaint complaint : complaints) {
+            FsComplaintCategory fsComplaintCategory = categoryMap.get(complaint.getCategoryId());
+            if(ObjectUtils.isNotNull(fsComplaintCategory)){
+                complaint.setCategoryName(fsComplaintCategory.getCategoryName());
+            }
+        }
 
         return complaints;
     }

+ 6 - 0
fs-service/src/main/java/com/fs/foods/param/FoodRecordQueryParam.java

@@ -48,4 +48,10 @@ public class FoodRecordQueryParam extends BaseEntity {
      */
     @ApiModelProperty("页大小")
     private Integer pageSize = 10;
+
+    /**
+     * 搜索描述关键词
+     */
+    @ApiModelProperty("搜索描述关键词")
+    private String keyword;
 }

+ 1 - 1
fs-service/src/main/resources/application-common.yml

@@ -119,7 +119,7 @@ pagehelper:
 # Swagger配置
 swagger:
   # 是否开启swagger
-  enabled: false
+  enabled: true
   # 请求前缀
   pathMapping: /dev-api
 

+ 3 - 10
fs-user-app/src/main/java/com/fs/app/controller/FoodRecordController.java

@@ -41,7 +41,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 获取用户饮食记录详情
      */
-    @Login
     @ApiOperation("获取饮食记录详情")
     @GetMapping("/getRecordInfo/{id}")
     public R getRecordInfo(@PathVariable Long id, HttpServletRequest request) {
@@ -62,7 +61,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 获取用户某日的饮食记录列表
      */
-    @Login
     @ApiOperation("获取某日饮食记录列表")
     @GetMapping("/getDayRecords")
     public R getDayRecords(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate recordDate,
@@ -83,13 +81,12 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 获取用户饮食记录分页列表
      */
-    @Login
     @ApiOperation("获取用户饮食记录列表")
-    @GetMapping("/getMyRecordList")
-    public R getMyRecordList(FoodRecordQueryParam param, HttpServletRequest request) {
+    @PostMapping("/getMyRecordList")
+    public R getMyRecordList(@RequestBody FoodRecordQueryParam param, HttpServletRequest request) {
         try {
             PageHelper.startPage(param.getPageNum(), param.getPageSize());
-            param.setUserId(Long.parseLong(getUserId()));
+            param.setUserId(param.getUserId());
             List<FsFoodRecord> list = foodRecordService.selectFoodRecordList(param);
             PageInfo<FsFoodRecord> listPageInfo = new PageInfo<>(list);
             return R.ok().put("data", listPageInfo);
@@ -102,7 +99,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 新增饮食记录
      */
-    @Login
     @ApiOperation("新增饮食记录")
     @PostMapping("/addRecord")
     public R addRecord(@RequestBody @Valid FoodRecordAddParam param, HttpServletRequest request) {
@@ -131,7 +127,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 修改饮食记录
      */
-    @Login
     @ApiOperation("修改饮食记录")
     @PostMapping("/editRecord")
     public R editRecord(@RequestBody @Valid FoodRecordEditParam param, HttpServletRequest request) {
@@ -162,7 +157,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 删除饮食记录
      */
-    @Login
     @ApiOperation("删除饮食记录")
     @PostMapping("/deleteRecord/{id}")
     public R deleteRecord(@PathVariable("id") Long id, HttpServletRequest request) {
@@ -187,7 +181,6 @@ public class FoodRecordController extends AppBaseController {
     /**
      * 获取用户饮食记录统计
      */
-    @Login
     @ApiOperation("获取饮食记录统计")
     @GetMapping("/getRecordStats")
     public R getRecordStats(@RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate,