diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWxUserLogController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWxUserLogController.java index 6fef38569..24de56979 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWxUserLogController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWxUserLogController.java @@ -149,7 +149,10 @@ public class SysWxUserLogController extends BaseController { @GetMapping(value = "/wx/logs/check/{openid}") public AjaxResult checkLog(@PathVariable String openid) { - int count = sysWxUserLogService.checkWxLogInfoCount(openid); + SysWxUserLog sysWxUserLog = new SysWxUserLog(); + sysWxUserLog.setLogTime(new Date()); + sysWxUserLog.setOpenid(openid); + int count = sysWxUserLogService.checkWxLogInfoCount(sysWxUserLog); return AjaxResult.success(count); } diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java index 564385447..fc7b75231 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/WechatAppletController.java @@ -132,32 +132,8 @@ public class WechatAppletController extends BaseController { } } - /*for (WxLogInfo wxLogInfo : list) { - Map> imageUrlMap = new HashMap<>(); - - List breakfastImagesUrlList = StringUtils.isNotEmpty(wxLogInfo.getBreakfastImages()) ? Arrays.asList(wxLogInfo.getBreakfastImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("breakfastImages", breakfastImagesUrlList); - - List lunchImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getLunchImages()) ? Arrays.asList(sysWxUserLog.getLunchImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("lunchImages", lunchImagesUrlList); - - List dinnerImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getDinnerImages()) ? Arrays.asList(sysWxUserLog.getDinnerImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("dinnerImages", dinnerImagesUrlList); - - List extraMealImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getExtraMealImages()) ? Arrays.asList(sysWxUserLog.getExtraMealImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("extraMealImages", extraMealImagesUrlList); - - List bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("bodyImages", bodyImagesUrlList ); - - //生成预览链接 - Map> 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")); + /*for (WxLogInfo log : list) { + log.setId(AesUtils.encrypt(log.getId()+"", null)); }*/ Collections.reverse(list); @@ -177,7 +153,10 @@ public class WechatAppletController extends BaseController { */ @GetMapping(value = "/checkNowPunchLog/{openid}") public AjaxResult checkNowPunchLog(@PathVariable String openid) { - int count = StringUtils.isEmpty(openid) ? 0 : sysWxUserLogService.checkWxLogInfoCount(openid); + SysWxUserLog sysWxUserLog = new SysWxUserLog(); + sysWxUserLog.setOpenid(openid); + sysWxUserLog.setLogTime(new Date()); + int count = StringUtils.isEmpty(openid) ? 0 : sysWxUserLogService.checkWxLogInfoCount(sysWxUserLog); return AjaxResult.success(count); } @@ -191,17 +170,26 @@ public class WechatAppletController extends BaseController { // 查询微信用户 SysWxUserInfo userInfo = StringUtils.isEmpty(sysWxUserLog.getOpenid()) ? null : sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserLog.getOpenid()); if (userInfo == null || StringUtils.isEmpty(userInfo.getPhone())) { - return AjaxResult.error("不存在客户"); + return AjaxResult.error("打卡失败"); } - //查询今日是否已打卡 - int count = sysWxUserLogService.checkWxLogInfoCount(sysWxUserLog.getOpenid()); - if(count > 0){ - return AjaxResult.error("今日已打卡,不可重复打卡"); + if(sysWxUserLog.getId() == null){ + //查询今日是否已打卡 + if(sysWxUserLog.getLogTime() == null){ + sysWxUserLog.setLogTime(new Date()); + } + int count = sysWxUserLogService.checkWxLogInfoCount(sysWxUserLog); + if(count > 0){ + return AjaxResult.error("今日已打卡,不可重复打卡"); + } + return toAjax(sysWxUserLogService.insertSysWxUserLog(sysWxUserLog)); + }else{ + return toAjax(sysWxUserLogService.updateSysWxUserLog(sysWxUserLog)); } - sysWxUserLog.setLogTime(DateTimeUtil.getCurrentTimeDate()); - return toAjax(sysWxUserLogService.insertSysWxUserLog(sysWxUserLog)); + } + public static final String[] imageName = {"breakfastImages", "lunchImages", "dinnerImages", "extraMealImages", "bodyImages"}; + /** * 获取微信用户记录详细信息 */ @@ -217,28 +205,40 @@ public class WechatAppletController extends BaseController { } Map> imageUrlMap = new HashMap<>(); List breakfastImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBreakfastImages()) ? Arrays.asList(sysWxUserLog.getBreakfastImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("breakfastImages", breakfastImagesUrlList); + imageUrlMap.put(imageName[0], breakfastImagesUrlList); List lunchImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getLunchImages()) ? Arrays.asList(sysWxUserLog.getLunchImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("lunchImages", lunchImagesUrlList); + imageUrlMap.put(imageName[1], lunchImagesUrlList); List dinnerImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getDinnerImages()) ? Arrays.asList(sysWxUserLog.getDinnerImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("dinnerImages", dinnerImagesUrlList); + imageUrlMap.put(imageName[2], dinnerImagesUrlList); List extraMealImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getExtraMealImages()) ? Arrays.asList(sysWxUserLog.getExtraMealImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("extraMealImages", extraMealImagesUrlList); + imageUrlMap.put(imageName[3], extraMealImagesUrlList); List bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>(); - imageUrlMap.put("bodyImages", bodyImagesUrlList ); + imageUrlMap.put(imageName[4], bodyImagesUrlList ); //生成预览链接 Map> 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")); + sysWxUserLog.setBreakfastImagesUrl(downUrlList.get(imageName[0])); + sysWxUserLog.setLunchImagesUrl(downUrlList.get(imageName[1])); + sysWxUserLog.setDinnerImagesUrl(downUrlList.get(imageName[2])); + sysWxUserLog.setExtraMealImagesUrl(downUrlList.get(imageName[3])); + sysWxUserLog.setBodyImagesUrl(downUrlList.get(imageName[4])); + + List allImagesList = new ArrayList<>(); + List allUrlList = new ArrayList<>(); + + for (String key : imageName) { + if(!"bodyImages".equals(key)){ + allUrlList.addAll(downUrlList.get(key)); + allImagesList.addAll(imageUrlMap.get(key)); + } + } + sysWxUserLog.setAllImagesUrl(allUrlList); + sysWxUserLog.setAllImages(StringUtils.join(allImagesList, "|")); return AjaxResult.success(sysWxUserLog); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxUserLog.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxUserLog.java index f61d34316..cb6bdc102 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxUserLog.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysWxUserLog.java @@ -106,6 +106,10 @@ public class SysWxUserLog extends BaseEntity @Excel(name = "是否便秘", readConverterExp = "Y=是,N=否") private String constipation; + /** 食材描述 */ + @Excel(name = "食材描述") + private String ingredientDescribe; + /** 早餐照片 */ @Excel(name = "早餐照片") private String breakfastImages; diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserLogMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserLogMapper.java index 54e8b7cf0..bbc21d3b9 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserLogMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysWxUserLogMapper.java @@ -63,7 +63,7 @@ public interface SysWxUserLogMapper */ public int deleteSysWxUserLogByIds(String[] ids); - public int checkWxLogInfoCount(String openid); + public int checkWxLogInfoCount(SysWxUserLog sysWxUserLog); /** * 根据openid和手机号查询打卡记录 diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/page/WxLogInfo.java b/stdiet-custom/src/main/java/com/stdiet/custom/page/WxLogInfo.java index c296690af..19f763858 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/page/WxLogInfo.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/page/WxLogInfo.java @@ -5,6 +5,7 @@ import com.stdiet.common.utils.DateUtils; import java.io.Serializable; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,6 +43,12 @@ public class WxLogInfo implements Serializable { /** 是否便秘(Y是 N否) */ private String constipation; + /** 食材描述 */ + private String ingredientDescribe; + + //全部食材照片 + private String allImages; + /** 早餐照片 */ private String breakfastImages; @@ -69,6 +76,8 @@ public class WxLogInfo implements Serializable { /** 点评 */ private String comment; + private List allImagesUrl; + private List breakfastImagesUrl; private List lunchImagesUrl; @@ -303,6 +312,30 @@ public class WxLogInfo implements Serializable { this.id = id; } + public String getIngredientDescribe() { + return ingredientDescribe; + } + + public void setIngredientDescribe(String ingredientDescribe) { + this.ingredientDescribe = ingredientDescribe; + } + + public List getAllImagesUrl() { + return this.allImagesUrl; + } + + public void setAllImagesUrl(List allImagesUrl) { + this.allImagesUrl = allImagesUrl; + } + + public String getAllImages() { + return this.allImages; + } + + public void setAllImages(String allImages) { + this.allImages = allImages; + } + @Override public String toString() { return "WxLogInfo{" + diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserLogService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserLogService.java index 2385d8777..c3b89abba 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserLogService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysWxUserLogService.java @@ -65,7 +65,7 @@ public interface ISysWxUserLogService */ public int deleteSysWxUserLogById(Long id); - public int checkWxLogInfoCount(String openid); + public int checkWxLogInfoCount(SysWxUserLog sysWxUserLog); /** * 根据openid和手机号查询打卡记录 diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserLogServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserLogServiceImpl.java index b195d0b9b..0d736d07a 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserLogServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysWxUserLogServiceImpl.java @@ -102,8 +102,8 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService { } @Override - public int checkWxLogInfoCount(String openid) { - return sysWxUserLogMapper.checkWxLogInfoCount(openid); + public int checkWxLogInfoCount(SysWxUserLog sysWxUserLog) { + return sysWxUserLogMapper.checkWxLogInfoCount(sysWxUserLog); } /** diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml index b26f847a6..dc47112cb 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml @@ -28,6 +28,7 @@ + @@ -60,6 +61,7 @@ + @@ -73,18 +75,18 @@ select id,openid, weight, appid, phone, log_time, sleep_time, wakeup_time, sport, avatar_url, diet, insomnia, defecation, water, create_by, create_time, update_by, update_time, remark, - emotion,sly_eat_food,constipation,breakfast_images,lunch_images,dinner_images,extra_meal_images,body_images,suggest,execution_score,comment + emotion,sly_eat_food,constipation,ingredient_describe,breakfast_images,lunch_images,dinner_images,extra_meal_images,body_images,suggest,execution_score,comment from sys_wx_user_log - + select count(*) from sys_wx_user_log where to_days(log_time) = to_days(#{logTime}) and openid = #{openid} and del_flag = 0 SELECT wxlog.id,wxlog.weight,wxlog.log_time,wxlog.sleep_time, wxlog.wakeup_time,wxlog.defecation, wxlog.water, wxlog.insomnia,wxlog.sport,wxlog.diet, - wxlog.emotion,wxlog.sly_eat_food,wxlog.constipation,wxlog.breakfast_images,wxlog.lunch_images,wxlog.dinner_images,wxlog.extra_meal_images,wxlog.body_images + wxlog.emotion,wxlog.sly_eat_food,wxlog.constipation,wxlog.ingredient_describe,wxlog.breakfast_images,wxlog.lunch_images,wxlog.dinner_images,wxlog.extra_meal_images,wxlog.body_images ,wxlog.remark,wxlog.execution_score,wxlog.comment FROM sys_wx_user_log wxlog left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid where wxlog.del_flag = 0 and (wxinfo.openid = #{openid} or wxinfo.phone = #{phone}) @@ -295,7 +300,7 @@