| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |