!324 浏览文件修改打卡数据接口

Merge pull request !324 from 德仔/develop
This commit is contained in:
德仔 2021-07-23 09:58:02 +00:00 committed by Gitee
commit b7644d3b67
5 changed files with 217 additions and 419 deletions

View File

@ -173,39 +173,14 @@ public class WechatAppletController extends BaseController {
* @return
*/
@GetMapping(value = "/getPunchLogs")
public AjaxResult getPunchLogs(SysWxUserLog sysWxUserLog) {
if (StringUtils.isEmpty(sysWxUserLog.getPhone()) && StringUtils.isEmpty(sysWxUserLog.getOpenid())) {
return AjaxResult.error(5001, "缺少参数");
}
//查询是否下单
SysCustomer param = new SysCustomer();
param.setPhone(sysWxUserLog.getPhone());
int orderCount = sysOrderService.getOrderCountByCustomer(param);
if (orderCount > 0) {
Map<String, Object> result = new HashMap<>();
//今日是否已打卡
boolean isPunch = false;
startPage();
List<WxLogInfo> list = sysWxUserLogService.getWxLogInfoList(sysWxUserLog);
if (list.size() > 0) {
WxLogInfo lastLog = list.get(0);
if (lastLog.getDate() != null && ChronoUnit.DAYS.between(DateUtils.stringToLocalDate(lastLog.getDate(), "yyyy-MM-dd"), LocalDate.now()) == 0) {
isPunch = true;
}
}
public TableDataInfo getPunchLogs(SysWxUserLog sysWxUserLog) {
/*for (WxLogInfo log : list) {
log.setId(AesUtils.encrypt(log.getId()+"", null));
}*/
startPage();
List<WxLogInfo> list = sysWxUserLogService.getWxLogInfoList(sysWxUserLog);
return getDataTable(list);
Collections.reverse(list);
TableDataInfo tableDataInfo = getDataTable(list);
result.put("isPunch", isPunch);
result.put("tableDataInfo", tableDataInfo);
return AjaxResult.success(result);
} else {
return AjaxResult.error(5002, "未查询到相关订单信息");
}
}
/**
@ -232,19 +207,19 @@ public class WechatAppletController extends BaseController {
@PostMapping(value = "/addPunchLog")
public AjaxResult addPunchLog(@RequestBody SysWxUserLog sysWxUserLog) {
// 查询微信用户
SysWxUserInfo userInfo = StringUtils.isEmpty(sysWxUserLog.getOpenid()) ? null : sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserLog.getOpenid());
if (userInfo == null || StringUtils.isEmpty(userInfo.getPhone())) {
return AjaxResult.error("打卡失败");
}
// SysWxUserInfo userInfo = StringUtils.isEmpty(sysWxUserLog.getOpenid()) ? null : sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserLog.getOpenid());
// if (userInfo == null || StringUtils.isEmpty(userInfo.getPhone())) {
// 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("今日已打卡,不可重复打卡");
}
// //查询今日是否已打卡
// 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));
@ -265,42 +240,14 @@ public class WechatAppletController extends BaseController {
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(imageName[0], breakfastImagesUrlList);
List<String> lunchImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getLunchImages()) ? Arrays.asList(sysWxUserLog.getLunchImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put(imageName[1], lunchImagesUrlList);
List<String> dinnerImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getDinnerImages()) ? Arrays.asList(sysWxUserLog.getDinnerImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put(imageName[2], dinnerImagesUrlList);
List<String> extraMealImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getExtraMealImages()) ? Arrays.asList(sysWxUserLog.getExtraMealImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put(imageName[3], extraMealImagesUrlList);
List<String> bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>();
imageUrlMap.put(imageName[4], bodyImagesUrlList);
//生成预览链接
Map<String, List<String>> downUrlList = AliyunOSSUtils.generatePresignedUrl(imageUrlMap);
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<String> allImagesList = new ArrayList<>();
List<String> allUrlList = new ArrayList<>();
for (String key : imageName) {
if (!"bodyImages".equals(key)) {
allUrlList.addAll(downUrlList.get(key));
allImagesList.addAll(imageUrlMap.get(key));
}
}
allUrlList.addAll(sysWxUserLog.getBreakfastImagesUrl());
allUrlList.addAll(sysWxUserLog.getLunchImagesUrl());
allUrlList.addAll(sysWxUserLog.getDinnerImagesUrl());
allUrlList.addAll(sysWxUserLog.getExtraMealImagesUrl());
sysWxUserLog.setAllImagesUrl(allUrlList);
sysWxUserLog.setAllImages(StringUtils.join(allImagesList, "|"));
sysWxUserLog.setAllImages(StringUtils.join(allUrlList, "|"));
return AjaxResult.success(sysWxUserLog);
}
@ -811,26 +758,27 @@ public class WechatAppletController extends BaseController {
/**
* 打卡社区点赞
*
* @return
*/
@PostMapping("/thumbsupPunch")
public AjaxResult getCommunityPunch(@RequestBody SysPunchThumbsup sysPunchThumbsup) {
if(StringUtils.isEmpty(sysPunchThumbsup.getCusOpenid(),sysPunchThumbsup.getEncPunchId()) || sysPunchThumbsup.getThumbsupFlag() == null){
if (StringUtils.isEmpty(sysPunchThumbsup.getCusOpenid(), sysPunchThumbsup.getEncPunchId()) || sysPunchThumbsup.getThumbsupFlag() == null) {
return AjaxResult.error("缺少必要参数");
}
sysPunchThumbsup.setPunchId(Long.parseLong(AesUtils.decrypt(sysPunchThumbsup.getEncPunchId())));
SysPunchThumbsup existPunchThumbsup = sysPunchThumbsupService.getThumbsupByPunchIdAndOpenid(sysPunchThumbsup);
if(existPunchThumbsup != null && sysPunchThumbsup.getThumbsupFlag()){
if (existPunchThumbsup != null && sysPunchThumbsup.getThumbsupFlag()) {
return AjaxResult.error("已点过暂,无法重复点赞");
}
if(existPunchThumbsup == null && !sysPunchThumbsup.getThumbsupFlag()){
if (existPunchThumbsup == null && !sysPunchThumbsup.getThumbsupFlag()) {
return AjaxResult.error("还未未点赞,无法取消点赞");
}
int row = 0;
try{
try {
row = sysPunchThumbsup.getThumbsupFlag() ? sysPunchThumbsupService.insertSysPunchThumbsup(sysPunchThumbsup) : sysPunchThumbsupService.deleteThumbsupByPunchIdAndOpenid(sysPunchThumbsup);
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
return toAjax(row);

View File

@ -1,20 +1,18 @@
package com.stdiet.custom.page;
import com.stdiet.common.annotation.Excel;
import com.stdiet.common.utils.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class WxLogInfo implements Serializable {
private static final long serialVersionUID = 1L;
@Data
public class WxLogInfo {
private Long id;
private String date;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date date;
private Long water;
@ -34,46 +32,72 @@ public class WxLogInfo implements Serializable {
private String remark;
/** 情绪 */
/**
* 情绪
*/
private String emotion;
/** 食谱之外的食物 */
/**
* 食谱之外的食物
*/
private String slyEatFood;
/** 是否便秘Y是 N否 */
/**
* 是否便秘Y是 N否
*/
private String constipation;
/** 食材描述 */
/**
* 食材描述
*/
private String ingredientDescribe;
//全部食材照片
private String allImages;
/** 早餐照片 */
private String breakfastImages;
/**
* 早餐照片
*/
// private String breakfastImages;
/** 午餐照片 */
private String lunchImages;
/**
* 午餐照片
*/
// private String lunchImages;
/** 午餐照片 */
private String dinnerImages;
/**
* 午餐照片
*/
// private String dinnerImages;
/** 加餐照片 */
private String extraMealImages;
/**
* 加餐照片
*/
// private String extraMealImages;
/** 体型对比照 */
private String bodyImages;
/**
* 体型对比照
*/
// private String bodyImages;
/** 服务建议 */
/**
* 服务建议
*/
private String suggest;
/** 目标体重 */
/**
* 目标体重
*/
private BigDecimal targetWeight;
/** 执行评分,五分制 */
/**
* 执行评分五分制
*/
private BigDecimal executionScore;
/** 点评 */
/**
* 点评
*/
private String comment;
private List<String> allImagesUrl;
@ -88,266 +112,26 @@ public class WxLogInfo implements Serializable {
private List<String> bodyImagesUrl;
public String getDate() {
return date;
}
private String healthManifesto;
public String getDefecation() {
return defecation;
}
public String getDiet() {
return diet;
}
public String getSleepTime() {
return sleepTime;
}
public Long getWater() {
return water;
}
public String getInsomnia() {
return insomnia;
}
public String getSport() {
return sport;
}
public String getWakeupTime() {
return wakeupTime;
}
public BigDecimal getWeight() {
return weight;
}
public void setWeight(BigDecimal weight) {
this.weight = weight;
}
public void setDate(Date date) {
this.date = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
public void setDefecation(String defecation) {
this.defecation = defecation.equals("Y") ? "" : "";
}
public void setDiet(String diet) {
this.diet = diet == "Y" ? "" : "";
}
public void setWater(Long water) {
this.water = water;
}
public void setWakeupTime(String wakeupTime) {
this.wakeupTime = wakeupTime;
}
public void setDefecation(String defecation) {
this.defecation = defecation == "Y" ? "" : "";
}
public void setSport(String sport) {
this.sport = sport == "Y" ? "" : "";
this.diet = diet.equals("Y") ? "" : "";
}
public void setInsomnia(String insomnia) {
this.insomnia = insomnia == "Y" ? "" : "";
this.insomnia = insomnia.equals("Y") ? "" : "";
}
public void setSleepTime(String sleepTime) {
this.sleepTime = sleepTime;
}
public String getEmotion() {
return emotion;
}
public void setEmotion(String emotion) {
this.emotion = emotion;
}
public String getSlyEatFood() {
return slyEatFood;
}
public void setSlyEatFood(String slyEatFood) {
this.slyEatFood = slyEatFood;
}
public String getConstipation() {
return constipation;
public void setSport(String sport) {
this.sport = sport.equals("Y") ? "" : "";
}
public void setConstipation(String constipation) {
this.constipation = constipation == "Y" ? "" : "";
this.constipation = constipation.equals("Y") ? "" : "";
}
public String getBreakfastImages() {
return breakfastImages;
}
public void setBreakfastImages(String breakfastImages) {
this.breakfastImages = breakfastImages;
}
public String getLunchImages() {
return lunchImages;
}
public void setLunchImages(String lunchImages) {
this.lunchImages = lunchImages;
}
public String getDinnerImages() {
return dinnerImages;
}
public void setDinnerImages(String dinnerImages) {
this.dinnerImages = dinnerImages;
}
public String getExtraMealImages() {
return extraMealImages;
}
public void setExtraMealImages(String extraMealImages) {
this.extraMealImages = extraMealImages;
}
public String getBodyImages() {
return bodyImages;
}
public void setBodyImages(String bodyImages) {
this.bodyImages = bodyImages;
}
public String getSuggest() {
return suggest;
}
public void setSuggest(String suggest) {
this.suggest = suggest;
}
public BigDecimal getTargetWeight() {
return targetWeight;
}
public void setTargetWeight(BigDecimal targetWeight) {
this.targetWeight = targetWeight;
}
public BigDecimal getExecutionScore() {
return executionScore;
}
public void setExecutionScore(BigDecimal executionScore) {
this.executionScore = executionScore;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public List<String> getBreakfastImagesUrl() {
return breakfastImagesUrl;
}
public void setBreakfastImagesUrl(List<String> breakfastImagesUrl) {
this.breakfastImagesUrl = breakfastImagesUrl;
}
public List<String> getLunchImagesUrl() {
return lunchImagesUrl;
}
public void setLunchImagesUrl(List<String> lunchImagesUrl) {
this.lunchImagesUrl = lunchImagesUrl;
}
public List<String> getDinnerImagesUrl() {
return dinnerImagesUrl;
}
public void setDinnerImagesUrl(List<String> dinnerImagesUrl) {
this.dinnerImagesUrl = dinnerImagesUrl;
}
public List<String> getExtraMealImagesUrl() {
return extraMealImagesUrl;
}
public void setExtraMealImagesUrl(List<String> extraMealImagesUrl) {
this.extraMealImagesUrl = extraMealImagesUrl;
}
public List<String> getBodyImagesUrl() {
return bodyImagesUrl;
}
public void setBodyImagesUrl(List<String> bodyImagesUrl) {
this.bodyImagesUrl = bodyImagesUrl;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getIngredientDescribe() {
return ingredientDescribe;
}
public void setIngredientDescribe(String ingredientDescribe) {
this.ingredientDescribe = ingredientDescribe;
}
public List<String> getAllImagesUrl() {
return this.allImagesUrl;
}
public void setAllImagesUrl(List<String> allImagesUrl) {
this.allImagesUrl = allImagesUrl;
}
public String getAllImages() {
return this.allImages;
}
public void setAllImages(String allImages) {
this.allImages = allImages;
}
@Override
public String toString() {
return "WxLogInfo{" +
"date='" + date + '\'' +
", water='" + water + '\'' +
", sleepTime='" + sleepTime + '\'' +
", wakeupTime='" + wakeupTime + '\'' +
", sport='" + sport + '\'' +
", weight='" + weight + '\'' +
", diet='" + diet + '\'' +
", insomnia='" + insomnia + '\'' +
", defecation='" + defecation + '\'' +
'}';
}
}

View File

@ -67,7 +67,6 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService {
*/
@Override
public int insertSysWxUserLog(SysWxUserLog sysWxUserLog) {
sysWxUserLog.setCreateTime(DateUtils.getNowDate());
return sysWxUserLogMapper.insertSysWxUserLog(sysWxUserLog);
}
@ -79,7 +78,6 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService {
*/
@Override
public int updateSysWxUserLog(SysWxUserLog sysWxUserLog) {
sysWxUserLog.setUpdateTime(DateUtils.getNowDate());
return sysWxUserLogMapper.updateSysWxUserLog(sysWxUserLog);
}

View File

@ -0,0 +1,53 @@
package com.stdiet.custom.typehandler;
import com.google.api.client.repackaged.com.google.common.base.Joiner;
import com.stdiet.common.utils.StringUtils;
import com.stdiet.common.utils.oss.AliyunOSSUtils;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@MappedTypes({List.class})
@MappedJdbcTypes({JdbcType.VARCHAR})
public class ImagesHandler extends BaseTypeHandler<List<String>> {
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, List<String> strings, JdbcType jdbcType) throws SQLException {
String str = Joiner.on("\\|").skipNulls().join(strings);
preparedStatement.setString(i, str);
}
@Override
public List<String> getNullableResult(ResultSet resultSet, String s) throws SQLException {
return this.stringToList(resultSet.getString(s));
}
@Override
public List<String> getNullableResult(ResultSet resultSet, int i) throws SQLException {
return this.stringToList(resultSet.getString(i));
}
@Override
public List<String> getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
return this.stringToList(callableStatement.getString(i));
}
private List<String> stringToList(String string) {
List<String> list = new ArrayList<>();
if (StringUtils.isNotEmpty(string)) {
String[] urls = string.split("\\|");
for (String url : urls) {
list.add(AliyunOSSUtils.generatePresignedUrl(url));
}
}
return list;
}
}

View File

@ -5,7 +5,7 @@
<mapper namespace="com.stdiet.custom.mapper.SysWxUserLogMapper">
<resultMap type="SysWxUserLog" id="SysWxUserLogResult">
<result property="id" column="id" />
<result property="id" column="id"/>
<result property="openid" column="openid"/>
<result property="weight" column="weight"/>
<result property="appid" column="appid"/>
@ -25,22 +25,22 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="emotion" column="emotion" />
<result property="slyEatFood" column="sly_eat_food" />
<result property="constipation" column="constipation" />
<result property="ingredientDescribe" column="ingredient_describe" />
<result property="breakfastImages" column="breakfast_images" />
<result property="lunchImages" column="lunch_images" />
<result property="dinnerImages" column="dinner_images" />
<result property="extraMealImages" column="extra_meal_images" />
<result property="bodyImages" column="body_images" />
<result property="suggest" column="suggest" />
<result property="targetWeight" column="target_weight" />
<result property="executionScore" column="execution_score" />
<result property="comment" column="comment" />
<result property="thumbsupNum" column="thumbsup_num" />
<result property="healthManifesto" column="health_manifesto" />
<result property="delFlag" column="del_flag" />
<result property="emotion" column="emotion"/>
<result property="slyEatFood" column="sly_eat_food"/>
<result property="constipation" column="constipation"/>
<result property="ingredientDescribe" column="ingredient_describe"/>
<result property="breakfastImages" column="breakfast_images"/>
<result property="lunchImages" column="lunch_images"/>
<result property="dinnerImages" column="dinner_images"/>
<result property="extraMealImages" column="extra_meal_images"/>
<result property="bodyImages" column="body_images"/>
<result property="suggest" column="suggest"/>
<result property="targetWeight" column="target_weight"/>
<result property="executionScore" column="execution_score"/>
<result property="comment" column="comment"/>
<result property="thumbsupNum" column="thumbsup_num"/>
<result property="healthManifesto" column="health_manifesto"/>
<result property="delFlag" column="del_flag"/>
<!-- 非持久字段 -->
<result property="customerName" column="customer_name"></result>
<!-- 营养师 -->
@ -49,7 +49,7 @@
</resultMap>
<resultMap type="com.stdiet.custom.page.WxLogInfo" id="WxLogInfo">
<result property="id" column="id" />
<result property="id" column="id"/>
<result property="weight" column="weight"/>
<result property="sleepTime" column="sleep_time"/>
<result property="wakeupTime" column="wakeup_time"/>
@ -59,27 +59,32 @@
<result property="defecation" column="defecation"/>
<result property="water" column="water"/>
<result property="date" column="log_time"/>
<result property="emotion" column="emotion" />
<result property="slyEatFood" column="sly_eat_food" />
<result property="constipation" column="constipation" />
<result property="remark" column="remark"></result>
<result property="ingredientDescribe" column="ingredient_describe" />
<result property="breakfastImages" column="breakfast_images" />
<result property="lunchImages" column="lunch_images" />
<result property="dinnerImages" column="dinner_images" />
<result property="extraMealImages" column="extra_meal_images" />
<result property="bodyImages" column="body_images" />
<result property="suggest" column="suggest" />
<result property="targetWeight" column="target_weight" />
<result property="executionScore" column="execution_score" />
<result property="comment" column="comment" />
<result property="thumbsupNum" column="thumbsup_num" />
<result property="healthManifesto" column="health_manifesto" />
<result property="emotion" column="emotion"/>
<result property="slyEatFood" column="sly_eat_food"/>
<result property="constipation" column="constipation"/>
<result property="remark" column="remark"/>
<result property="ingredientDescribe" column="ingredient_describe"/>
<!-- <result property="breakfastImages" column="breakfast_images"/>-->
<result property="breakfastImagesUrl" column="breakfast_images" typeHandler="com.stdiet.custom.typehandler.ImagesHandler"/>
<!-- <result property="lunchImages" column="lunch_images"/>-->
<result property="lunchImagesUrl" column="lunch_images" typeHandler="com.stdiet.custom.typehandler.ImagesHandler"/>
<!-- <result property="dinnerImages" column="dinner_images"/>-->
<result property="dinnerImagesUrl" column="dinner_images" typeHandler="com.stdiet.custom.typehandler.ImagesHandler"/>
<!-- <result property="extraMealImages" column="extra_meal_images"/>-->
<result property="extraMealImagesUrl" column="extra_meal_images" typeHandler="com.stdiet.custom.typehandler.ImagesHandler"/>
<!-- <result property="bodyImages" column="body_images"/>-->
<result property="bodyImagesUrl" column="body_images" typeHandler="com.stdiet.custom.typehandler.ImagesHandler"/>
<result property="suggest" column="suggest"/>
<result property="targetWeight" column="target_weight"/>
<result property="executionScore" column="execution_score"/>
<result property="comment" column="comment"/>
<result property="thumbsupNum" column="thumbsup_num"/>
<result property="healthManifesto" column="health_manifesto"/>
</resultMap>
<sql id="selectSysWxUserLogVo">
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,ingredient_describe,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,health_manifesto
from sys_wx_user_log
</sql>
@ -89,11 +94,14 @@
<!-- 后台查询 -->
<select id="selectSysWxUserLogList" parameterType="SysWxUserLog" resultMap="SysWxUserLogResult">
SELECT wxlog.id,wxinfo.appid,wxinfo.openid,wxinfo.avatar_url,wxinfo.phone,wxlog.weight,wxlog.log_time,wxlog.sleep_time, wxlog.wakeup_time,wxlog.defecation, wxlog.water, wxlog.insomnia,wxlog.sport,wxlog.diet,wxlog.remark,
SELECT
wxlog.id,wxinfo.appid,wxinfo.openid,wxinfo.avatar_url,wxinfo.phone,wxlog.weight,wxlog.log_time,wxlog.sleep_time,
wxlog.wakeup_time,wxlog.defecation, wxlog.water, wxlog.insomnia,wxlog.sport,wxlog.diet,wxlog.remark,
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.suggest,wxlog.execution_score,wxlog.comment,sc.name as customer_name, su.nick_name as nutritionist, su_atferSale.nick_name as after_nutritionist
wxlog.suggest,wxlog.execution_score,wxlog.comment,sc.name as customer_name, su.nick_name as nutritionist,
su_atferSale.nick_name as after_nutritionist, wxlog.health_manifesto, wxlog.log_time
FROM sys_wx_user_log wxlog
left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid
left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid
left join sys_customer sc on sc.phone = wxinfo.phone and sc.del_flag = 0
left join sys_user su on su.user_id = sc.main_dietitian and su.del_flag = '0'
left join sys_user su_atferSale on su_atferSale.user_id = sc.after_dietitian and su_atferSale.del_flag = '0'
@ -104,7 +112,9 @@
<if test="customerId != null">
and sc.id = #{customerId}
</if>
<if test="phone != null and phone != ''">and (sc.name like concat('%',#{phone},'%') or wxinfo.phone like concat('%',#{phone},'%') )</if>
<if test="phone != null and phone != ''">and (sc.name like concat('%',#{phone},'%') or wxinfo.phone like
concat('%',#{phone},'%') )
</if>
<if test="appid != null">
and wxinfo.appid = #{appid}
</if>
@ -114,8 +124,12 @@
<if test="afterNutritionistId != null">
and su_atferSale.user_id = #{afterNutritionistId}
</if>
<if test="beginTime != null and beginTime != ''">and date_format(wxlog.log_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')</if>
<if test="endTime != null and endTime != ''">and date_format(wxlog.log_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')</if>
<if test="beginTime != null and beginTime != ''">and date_format(wxlog.log_time,'%y%m%d') &gt;=
date_format(#{beginTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">and date_format(wxlog.log_time,'%y%m%d') &lt;=
date_format(#{endTime},'%y%m%d')
</if>
order by wxlog.log_time desc
</select>
@ -145,7 +159,7 @@
<if test="weight != null">weight,</if>
<if test="appid != null">appid,</if>
<if test="phone != null">phone,</if>
<if test="logTime != null">log_time,</if>
<if test="true">log_time,</if>
<if test="sleepTime != null">sleep_time,</if>
<if test="wakeupTime != null">wakeup_time,</if>
<if test="sport != null">sport,</if>
@ -155,9 +169,9 @@
<if test="defecation != null">defecation,</if>
<if test="water != null">water,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="true">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="true">update_time,</if>
<if test="remark != null">remark,</if>
<if test="emotion != null">emotion,</if>
<if test="slyEatFood != null">sly_eat_food,</if>
@ -181,7 +195,7 @@
<if test="weight != null">#{weight},</if>
<if test="appid != null">#{appid},</if>
<if test="phone != null">#{phone},</if>
<if test="logTime != null">#{logTime},</if>
<if test="true">now(),</if>
<if test="sleepTime != null">#{sleepTime},</if>
<if test="wakeupTime != null">#{wakeupTime},</if>
<if test="sport != null">#{sport},</if>
@ -191,9 +205,9 @@
<if test="defecation != null">#{defecation},</if>
<if test="water != null">#{water},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="true">now(),</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="true">now(),</if>
<if test="remark != null">#{remark},</if>
<if test="emotion != null">#{emotion},</if>
<if test="slyEatFood != null">#{slyEatFood},</if>
@ -221,7 +235,6 @@
<if test="weight != null">weight = #{weight},</if>
<if test="appid != null">appid = #{appid},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="logTime != null">log_time = #{logTime},</if>
<if test="sleepTime != null">sleep_time = #{sleepTime},</if>
<if test="wakeupTime != null">wakeup_time = #{wakeupTime},</if>
<if test="sport != null">sport = #{sport},</if>
@ -230,10 +243,8 @@
<if test="insomnia != null">insomnia = #{insomnia},</if>
<if test="defecation != null">defecation = #{defecation},</if>
<if test="water != null">water = #{water},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateTime != null">update_time = now(),</if>
<if test="remark != null">remark = #{remark},</if>
<if test="emotion != null">emotion = #{emotion},</if>
<if test="slyEatFood != null">sly_eat_food = #{slyEatFood},</if>
@ -260,7 +271,7 @@
</update>
<update id="deleteSysWxUserLogByIds" parameterType="String">
update sys_wx_user_log set del_flag = 1 where id in
update sys_wx_user_log set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
@ -270,13 +281,13 @@
<select id="getWxLogInfoList" parameterType="SysWxUserLog" resultMap="WxLogInfo">
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.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})
order by wxlog.log_time desc
,wxlog.remark,wxlog.execution_score,wxlog.comment, wxlog.health_manifesto
FROM sys_wx_user_log wxlog
where wxlog.del_flag = 0 and wxlog.openid = #{openid}
order by wxlog.log_time asc
</select>
<select id="selectSysWxUserLogByDateAndOpenId" parameterType="SysWxUserLog" resultMap="SysWxUserLogResult">
<select id="selectSysWxUserLogByDateAndOpenId" parameterType="SysWxUserLog" resultMap="SysWxUserLogResult">
select id from sys_wx_user_log where del_flag = 0 and to_days(log_time) = to_days(#{logTime}) and openid = #{openid} limit 1
</select>
@ -299,11 +310,15 @@
<!-- 后台根据用户ID查询该用户的打卡体重 -->
<select id="getWxUserLogListByCustomerId" parameterType="SysWxUserLog" resultMap="SysWxUserLogResult">
SELECT wxlog.id,wxlog.log_time,wxlog.weight FROM sys_wx_user_log wxlog
left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid
left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid
left join sys_customer sc on sc.phone = wxinfo.phone and sc.del_flag = 0
where wxlog.del_flag = 0 and wxinfo.phone is not null and sc.id = #{customerId}
<if test="beginTime != null and beginTime != ''">and date_format(wxlog.log_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')</if>
<if test="endTime != null and endTime != ''">and date_format(wxlog.log_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')</if>
<if test="beginTime != null and beginTime != ''">and date_format(wxlog.log_time,'%y%m%d') &gt;=
date_format(#{beginTime},'%y%m%d')
</if>
<if test="endTime != null and endTime != ''">and date_format(wxlog.log_time,'%y%m%d') &lt;=
date_format(#{endTime},'%y%m%d')
</if>
order by wxlog.log_time asc
</select>
@ -319,8 +334,8 @@
<resultMap id="punchReponseMap" type="com.stdiet.custom.dto.response.CommunityPunchReponse">
<result property="id" column="id" />
<result property="openid" column="openid" />
<result property="id" column="id"/>
<result property="openid" column="openid"/>
<result property="cusId" column="cus_id"/>
<result property="nickName" column="nick_name"/>
<result property="avatarUrl" column="avatar_url"/>