小程序打卡

This commit is contained in:
xiezhijun 2021-04-08 14:42:53 +08:00
parent 45a47a29a4
commit 164c975c93
7 changed files with 140 additions and 5 deletions
stdiet-admin/src/main/java/com/stdiet/web/controller
stdiet-custom/src/main

@ -28,8 +28,16 @@ public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
/*System.out.println("项目启动调用方法");
List<String> phoneList = sysWxUserLogMapper.getAllSysWxUserLogPhone();
System.out.println("项目启动调用方法");
}
/**
* 从微信用户表中查询openid更新到用户打卡日志表中
*/
public void dealWxUserLog(){
/*List<String> phoneList = sysWxUserLogMapper.getAllSysWxUserLogPhone();
SysWxUserLog sysWxUserLog = new SysWxUserLog();
if(phoneList.size() > 0){
for (String phone : phoneList) {
@ -44,6 +52,5 @@ public class MyApplicationRunner implements ApplicationRunner {
}
}
}*/
}
}

@ -4,8 +4,11 @@ import com.itextpdf.io.util.DateTimeUtil;
import com.stdiet.common.core.controller.BaseController;
import com.stdiet.common.core.domain.AjaxResult;
import com.stdiet.common.core.page.TableDataInfo;
import com.stdiet.common.exception.file.FileNameLengthLimitExceededException;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.common.utils.StringUtils;
import com.stdiet.common.utils.file.FileUploadUtils;
import com.stdiet.common.utils.file.MimeTypeUtils;
import com.stdiet.common.utils.oss.AliyunOSSUtils;
import com.stdiet.common.utils.sign.AesUtils;
import com.stdiet.custom.domain.*;
@ -16,7 +19,9 @@ import com.stdiet.custom.service.ISysOrderService;
import com.stdiet.custom.service.ISysWxUserInfoService;
import com.stdiet.custom.service.ISysWxUserLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
@ -178,4 +183,34 @@ public class WechatAppletController extends BaseController {
cus.setId(AesUtils.encrypt(cus.getId()+"", null));
}
}
/**
* 上传文件到OSS返回URL
*/
@PostMapping(value = "/uploadFile/{prefix}")
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @PathVariable String prefix) throws Exception {
try {
if (file == null) {
return AjaxResult.error("文件不存在");
}
int fileNameLength = file.getOriginalFilename().length();
if (fileNameLength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) {
throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
}
FileUploadUtils.assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
String fileUrl = AliyunOSSUtils.uploadFileInputSteam(prefix + '/', DateUtils.getDate() + "/" + file.getOriginalFilename(), file);
AjaxResult ajax = null;
if (StringUtils.isNotEmpty(fileUrl)) {
ajax = AjaxResult.success();
ajax.put("fileUrl", fileUrl);
} else {
ajax = AjaxResult.error("文件上传失败");
}
return ajax;
} catch (Exception e) {
return AjaxResult.error("文件上传失败");
}
}
}

@ -8,6 +8,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.stdiet.common.annotation.Excel;
import com.stdiet.common.core.domain.BaseEntity;
import org.springframework.web.multipart.MultipartFile;
/**
* 微信用户记录对象 sys_wx_user_log
@ -86,4 +87,36 @@ public class SysWxUserLog extends BaseEntity
*/
@Excel(name = "营养师")
private String nutritionist;
/** 情绪 */
@Excel(name = "情绪")
private String emotion;
/** 食谱之外的食物 */
@Excel(name = "食谱之外的食物")
private String slyEatFood;
/** 是否便秘Y是 N否 */
@Excel(name = "是否便秘", readConverterExp = "Y=是,N=否")
private String constipation;
/** 早餐照片 */
@Excel(name = "早餐照片")
private String breakfastImages;
/** 午餐照片 */
@Excel(name = "午餐照片")
private String lunchImages;
/** 午餐照片 */
@Excel(name = "午餐照片")
private String dinnerImages;
/** 加餐照片 */
@Excel(name = "加餐照片")
private String extraMealImages;
/** 体型对比照 */
@Excel(name = "体型对比照")
private String bodyImages;
}

@ -5,6 +5,7 @@ import java.util.List;
import com.stdiet.custom.domain.SysWxUserInfo;
import com.stdiet.custom.domain.SysWxUserLog;
import com.stdiet.custom.page.WxLogInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* 微信用户记录Service接口
@ -79,4 +80,11 @@ public interface ISysWxUserLogService
*/
SysWxUserLog selectSysWxUserLogByDateAndOpenId(SysWxUserLog sysWxUserLog);
/**
* 上传打卡日志中照片
* @param sysWxUserLog
* @return
*/
SysWxUserLog uploadLogImage(SysWxUserLog sysWxUserLog);
}

@ -2,6 +2,7 @@ package com.stdiet.custom.service.impl;
import java.util.List;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysOrderNutritionistReplaceRecordMapper;
@ -54,6 +55,7 @@ public class SysOrderNutritionistReplaceRecordServiceImpl implements ISysOrderNu
public int insertSysOrderNutritionistReplaceRecord(SysOrderNutritionistReplaceRecord sysOrderNutritionistReplaceRecord)
{
sysOrderNutritionistReplaceRecord.setCreateTime(DateUtils.getNowDate());
sysOrderNutritionistReplaceRecord.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserId()+"");
return sysOrderNutritionistReplaceRecordMapper.insertSysOrderNutritionistReplaceRecord(sysOrderNutritionistReplaceRecord);
}
@ -67,6 +69,7 @@ public class SysOrderNutritionistReplaceRecordServiceImpl implements ISysOrderNu
public int updateSysOrderNutritionistReplaceRecord(SysOrderNutritionistReplaceRecord sysOrderNutritionistReplaceRecord)
{
sysOrderNutritionistReplaceRecord.setUpdateTime(DateUtils.getNowDate());
sysOrderNutritionistReplaceRecord.setUpdateBy(SecurityUtils.getLoginUser().getUser().getUserId()+"");
return sysOrderNutritionistReplaceRecordMapper.updateSysOrderNutritionistReplaceRecord(sysOrderNutritionistReplaceRecord);
}

@ -2,7 +2,12 @@ package com.stdiet.custom.service.impl;
import java.util.List;
import com.stdiet.common.config.AliyunOSSConfig;
import com.stdiet.common.exception.file.FileNameLengthLimitExceededException;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.common.utils.file.FileUploadUtils;
import com.stdiet.common.utils.file.MimeTypeUtils;
import com.stdiet.common.utils.oss.AliyunOSSUtils;
import com.stdiet.custom.domain.SysWxUserInfo;
import com.stdiet.custom.page.WxLogInfo;
import org.springframework.beans.factory.annotation.Autowired;
@ -10,6 +15,7 @@ import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysWxUserLogMapper;
import com.stdiet.custom.domain.SysWxUserLog;
import com.stdiet.custom.service.ISysWxUserLogService;
import org.springframework.web.multipart.MultipartFile;
/**
* 微信用户记录Service业务层处理

@ -25,6 +25,14 @@
<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="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="customerName" column="customer_name"></result>
<!-- 营养师 -->
@ -41,10 +49,20 @@
<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="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" />
</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 from sys_wx_user_log
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
from sys_wx_user_log
</sql>
<select id="checkWxLogInfoCount" parameterType="String" resultType="Integer">
@ -112,6 +130,14 @@
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="emotion != null">emotion,</if>
<if test="slyEatFood != null">sly_eat_food,</if>
<if test="constipation != null">constipation,</if>
<if test="breakfastImages != null">breakfast_images,</if>
<if test="lunchImages != null">lunch_images,</if>
<if test="dinnerImages != null">dinner_images,</if>
<if test="extraMealImages != null">extra_meal_images,</if>
<if test="bodyImages != null">body_images,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="openid != null">#{openid},</if>
@ -132,6 +158,14 @@
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="emotion != null">#{emotion},</if>
<if test="slyEatFood != null">#{slyEatFood},</if>
<if test="constipation != null">#{constipation},</if>
<if test="breakfastImages != null">#{breakfastImages},</if>
<if test="lunchImages != null">#{lunchImages},</if>
<if test="dinnerImages != null">#{dinnerImages},</if>
<if test="extraMealImages != null">#{extraMealImages},</if>
<if test="bodyImages != null">#{bodyImages},</if>
</trim>
</insert>
@ -156,6 +190,14 @@
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="emotion != null">emotion = #{emotion},</if>
<if test="slyEatFood != null">sly_eat_food = #{slyEatFood},</if>
<if test="constipation != null">constipation = #{constipation},</if>
<if test="breakfastImages != null">breakfast_images = #{breakfastImages},</if>
<if test="lunchImages != null">lunch_images = #{lunchImages},</if>
<if test="dinnerImages != null">dinner_images = #{dinnerImages},</if>
<if test="extraMealImages != null">extra_meal_images = #{extraMealImages},</if>
<if test="bodyImages != null">body_images = #{bodyImages},</if>
</trim>
where id = #{id}
</update>
@ -173,7 +215,8 @@
<!-- 根据openid和手机号查询对应打卡记录 -->
<select id="getWxLogInfoList" parameterType="SysWxUserLog" resultMap="WxLogInfo">
SELECT wxlog.weight,wxlog.log_time,wxlog.sleep_time, wxlog.wakeup_time,wxlog.defecation, wxlog.water, wxlog.insomnia,wxlog.sport,wxlog.diet
SELECT 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
FROM sys_wx_user_log wxlog left join sys_wx_user_info wxinfo on wxinfo.openid = wxlog.openid
where wxinfo.openid = #{openid} or wxinfo.phone = #{phone}
order by wxlog.log_time desc