!204 打卡优化

Merge pull request !204 from 德仔/xzj
This commit is contained in:
德仔
2021-04-15 12:01:47 +08:00
committed by Gitee
21 changed files with 1382 additions and 50 deletions

View File

@ -2,11 +2,20 @@ package com.stdiet.web.controller;
import com.stdiet.common.config.AliyunOSSConfig;
import com.stdiet.common.utils.oss.AliyunOSSUtils;
import com.stdiet.custom.domain.SysNutritionQuestion;
import com.stdiet.custom.domain.SysWxUserInfo;
import com.stdiet.custom.domain.SysWxUserLog;
import com.stdiet.custom.mapper.SysCustomerPhysicalSignsMapper;
import com.stdiet.custom.mapper.SysNutritionQuestionMapper;
import com.stdiet.custom.mapper.SysWxUserInfoMapper;
import com.stdiet.custom.mapper.SysWxUserLogMapper;
import com.stdiet.custom.service.ISysNutritionQuestionService;
import com.stdiet.custom.service.ISysWxUserLogService;
import com.stdiet.custom.utils.LuceneIndexUtils;
import com.stdiet.framework.web.domain.server.Sys;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
@ -26,9 +35,22 @@ public class MyApplicationRunner implements ApplicationRunner {
@Autowired
private SysWxUserInfoMapper sysWxUserInfoMapper;
@Autowired
private ISysNutritionQuestionService sysNutritionQuestionService;
@Autowired
private ISysWxUserLogService sysWxUserLogService;
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("项目启动调用方法");
/*SysNutritionQuestion sysNutritionQuestion = new SysNutritionQuestion();
sysNutritionQuestion.setTitle("如何防止猝死");
sysNutritionQuestion.setContent("少熬夜,少暴饮暴食");
sysNutritionQuestion.setKey("猝死");
sysNutritionQuestionService.insertSysNutritionQuestion(sysNutritionQuestion);*/
}

View File

@ -0,0 +1,103 @@
package com.stdiet.custom.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.stdiet.common.annotation.Log;
import com.stdiet.common.core.controller.BaseController;
import com.stdiet.common.core.domain.AjaxResult;
import com.stdiet.common.enums.BusinessType;
import com.stdiet.custom.domain.SysNutritionQuestion;
import com.stdiet.custom.service.ISysNutritionQuestionService;
import com.stdiet.common.utils.poi.ExcelUtil;
import com.stdiet.common.core.page.TableDataInfo;
/**
* 营养知识小问答Controller
*
* @author xzj
* @date 2021-04-13
*/
@RestController
@RequestMapping("/custom/nutritionQuestion")
public class SysNutritionQuestionController extends BaseController
{
@Autowired
private ISysNutritionQuestionService sysNutritionQuestionService;
/**
* 查询营养知识小问答列表
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:list')")
@GetMapping("/list")
public TableDataInfo list(SysNutritionQuestion sysNutritionQuestion)
{
startPage();
List<SysNutritionQuestion> list = sysNutritionQuestionService.selectSysNutritionQuestionList(sysNutritionQuestion);
return getDataTable(list);
}
/**
* 导出营养知识小问答列表
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:export')")
@Log(title = "营养知识小问答", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(SysNutritionQuestion sysNutritionQuestion)
{
List<SysNutritionQuestion> list = sysNutritionQuestionService.selectSysNutritionQuestionList(sysNutritionQuestion);
ExcelUtil<SysNutritionQuestion> util = new ExcelUtil<SysNutritionQuestion>(SysNutritionQuestion.class);
return util.exportExcel(list, "nutritionQuestion");
}
/**
* 获取营养知识小问答详细信息
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(sysNutritionQuestionService.selectSysNutritionQuestionById(id));
}
/**
* 新增营养知识小问答
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:add')")
@Log(title = "营养知识小问答", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SysNutritionQuestion sysNutritionQuestion)
{
return toAjax(sysNutritionQuestionService.insertSysNutritionQuestion(sysNutritionQuestion));
}
/**
* 修改营养知识小问答
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:edit')")
@Log(title = "营养知识小问答", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysNutritionQuestion sysNutritionQuestion)
{
return toAjax(sysNutritionQuestionService.updateSysNutritionQuestion(sysNutritionQuestion));
}
/**
* 删除营养知识小问答
*/
@PreAuthorize("@ss.hasPermi('custom:nutritionQuestion:remove')")
@Log(title = "营养知识小问答", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(sysNutritionQuestionService.deleteSysNutritionQuestionByIds(ids));
}
}

View File

@ -33,6 +33,7 @@ import java.util.*;
@RestController
@RequestMapping("/custom/wxUserLog")
public class SysWxUserLogController extends BaseController {
@Autowired
private ISysWxUserLogService sysWxUserLogService;
@ -200,4 +201,13 @@ public class SysWxUserLogController extends BaseController {
List<SysWxUserLog> list = sysWxUserLogService.getWxUserLogListByCustomerId(sysWxUserLog);
return AjaxResult.success(list);
}
/**
* 点评客户打卡内容
*/
@PreAuthorize("@ss.hasPermi('custom:wxUserLog:query')")
@PostMapping("/commentPunchContent")
public AjaxResult commentPunchContent(@RequestBody SysWxUserLog sysWxUserLog) {
return toAjax(sysWxUserLogService.updateSysWxUserLog(sysWxUserLog));
}
}

View File

@ -131,6 +131,35 @@ public class WechatAppletController extends BaseController {
isPunch = true;
}
}
/*for (WxLogInfo wxLogInfo : list) {
Map<String, List<String>> imageUrlMap = new HashMap<>();
List<String> breakfastImagesUrlList = StringUtils.isNotEmpty(wxLogInfo.getBreakfastImages()) ? Arrays.asList(wxLogInfo.getBreakfastImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("breakfastImages", breakfastImagesUrlList);
List<String> lunchImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getLunchImages()) ? Arrays.asList(sysWxUserLog.getLunchImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("lunchImages", lunchImagesUrlList);
List<String> dinnerImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getDinnerImages()) ? Arrays.asList(sysWxUserLog.getDinnerImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("dinnerImages", dinnerImagesUrlList);
List<String> extraMealImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getExtraMealImages()) ? Arrays.asList(sysWxUserLog.getExtraMealImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("extraMealImages", extraMealImagesUrlList);
List<String> bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("bodyImages", bodyImagesUrlList );
//生成预览链接
Map<String,List<String>> downUrlList = AliyunOSSUtils.generatePresignedUrl(imageUrlMap);
wxLogInfo.setBreakfastImagesUrl(downUrlList.get("breakfastImages"));
wxLogInfo.setLunchImagesUrl(downUrlList.get("lunchImages"));
wxLogInfo.setDinnerImagesUrl(downUrlList.get("dinnerImages"));
wxLogInfo.setExtraMealImagesUrl(downUrlList.get("extraMealImages"));
wxLogInfo.setBodyImagesUrl(downUrlList.get("bodyImages"));
}*/
Collections.reverse(list);
TableDataInfo tableDataInfo = getDataTable(list);
result.put("isPunch", isPunch);
@ -173,6 +202,47 @@ public class WechatAppletController extends BaseController {
return toAjax(sysWxUserLogService.insertSysWxUserLog(sysWxUserLog));
}
/**
* 获取微信用户记录详细信息
*/
@GetMapping(value = "/getPunchLogDetail/{id}")
public AjaxResult getPunchLogDetail(@PathVariable("id") String id) {
WxLogInfo sysWxUserLog = null;
//根据ID查询
SysWxUserLog param = new SysWxUserLog();
param.setId(Long.parseLong(id));
sysWxUserLog = sysWxUserLogService.getWxLogInfoDetailById(param);
if(sysWxUserLog == null){
return AjaxResult.error("打卡记录不存在");
}
Map<String, List<String>> imageUrlMap = new HashMap<>();
List<String> breakfastImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBreakfastImages()) ? Arrays.asList(sysWxUserLog.getBreakfastImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("breakfastImages", breakfastImagesUrlList);
List<String> lunchImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getLunchImages()) ? Arrays.asList(sysWxUserLog.getLunchImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("lunchImages", lunchImagesUrlList);
List<String> dinnerImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getDinnerImages()) ? Arrays.asList(sysWxUserLog.getDinnerImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("dinnerImages", dinnerImagesUrlList);
List<String> extraMealImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getExtraMealImages()) ? Arrays.asList(sysWxUserLog.getExtraMealImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("extraMealImages", extraMealImagesUrlList);
List<String> bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put("bodyImages", bodyImagesUrlList );
//生成预览链接
Map<String,List<String>> downUrlList = AliyunOSSUtils.generatePresignedUrl(imageUrlMap);
sysWxUserLog.setBreakfastImagesUrl(downUrlList.get("breakfastImages"));
sysWxUserLog.setLunchImagesUrl(downUrlList.get("lunchImages"));
sysWxUserLog.setDinnerImagesUrl(downUrlList.get("dinnerImages"));
sysWxUserLog.setExtraMealImagesUrl(downUrlList.get("extraMealImages"));
sysWxUserLog.setBodyImagesUrl(downUrlList.get("bodyImages"));
return AjaxResult.success(sysWxUserLog);
}
/**
* 处理返回值的ID加密
* @param list