diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java index 949b70455..9b7ee8d01 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/MyApplicationRunner.java @@ -2,7 +2,11 @@ package com.stdiet.web.controller; import com.stdiet.common.config.AliyunOSSConfig; import com.stdiet.common.utils.oss.AliyunOSSUtils; +import com.stdiet.custom.domain.SysWxUserInfo; +import com.stdiet.custom.domain.SysWxUserLog; import com.stdiet.custom.mapper.SysCustomerPhysicalSignsMapper; +import com.stdiet.custom.mapper.SysWxUserInfoMapper; +import com.stdiet.custom.mapper.SysWxUserLogMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; @@ -10,18 +14,36 @@ import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.io.File; +import java.util.List; @Component @Order(value = 1) public class MyApplicationRunner implements ApplicationRunner { @Autowired - private SysCustomerPhysicalSignsMapper sysCustomerPhysicalSignsMapper; + private SysWxUserLogMapper sysWxUserLogMapper; + + @Autowired + private SysWxUserInfoMapper sysWxUserInfoMapper; @Override public void run(ApplicationArguments args) throws Exception { - System.out.println("项目启动调用方法"); -// String path = AliyunOSSUtils.uploadFileInputSteam(AliyunOSSConfig.casePrefix,"ceshi.png",new File("D:\\ceshi.png")); -// System.out.println(path); + /*System.out.println("项目启动调用方法"); + List phoneList = sysWxUserLogMapper.getAllSysWxUserLogPhone(); + SysWxUserLog sysWxUserLog = new SysWxUserLog(); + if(phoneList.size() > 0){ + for (String phone : phoneList) { + System.out.println(phone); + SysWxUserInfo sysWxUserInfo = new SysWxUserInfo(); + sysWxUserInfo.setPhone(phone); + List list = sysWxUserInfoMapper.selectSysWxUserInfoList(sysWxUserInfo); + if(list != null && list.size() > 0){ + sysWxUserLog.setOpenid(list.get(0).getOpenid()); + sysWxUserLog.setPhone(phone); + sysWxUserLogMapper.updateSysWxUserLog(sysWxUserLog); + } + } + }*/ + } } 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 afa4fc614..3ece761f1 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 @@ -4,6 +4,7 @@ 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.utils.DateUtils; import com.stdiet.common.utils.StringUtils; import com.stdiet.common.utils.oss.AliyunOSSUtils; import com.stdiet.common.utils.sign.AesUtils; @@ -17,8 +18,9 @@ import com.stdiet.custom.service.ISysWxUserLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.List; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.*; /** * 微信小程序统一Controller @@ -95,12 +97,7 @@ public class WechatAppletController extends BaseController { }else{ sysWxUserInfoService.insertSysWxUserInfo(sysWxUserInfo); } - //查询是否下单 - SysCustomer param = new SysCustomer(); - param.setPhone(sysWxUserInfo.getPhone()); - int orderCount = sysOrderService.getOrderCountByCustomer(param); - //返回订单数量 - return AjaxResult.success(orderCount); + return AjaxResult.success(); } /** @@ -109,10 +106,34 @@ public class WechatAppletController extends BaseController { * @return */ @GetMapping(value = "/getPunchLogs") - public TableDataInfo getPunchLogs(SysWxUserLog sysWxUserLog) { - startPage(); - List list = sysWxUserLogService.selectWxLogInfoList(sysWxUserLog); - return getDataTable(list); + 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 result = new HashMap<>(); + //今日是否已打卡 + boolean isPunch = false; + startPage(); + List 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; + } + } + Collections.reverse(list); + TableDataInfo tableDataInfo = getDataTable(list); + result.put("isPunch", isPunch); + result.put("tableDataInfo", tableDataInfo); + return AjaxResult.success(result); + }else{ + return AjaxResult.error(5002, "未查询到相关订单信息"); + } } /** @@ -135,7 +156,7 @@ public class WechatAppletController extends BaseController { public AjaxResult addPunchLog(@RequestBody SysWxUserLog sysWxUserLog) { // 查询微信用户 SysWxUserInfo userInfo = StringUtils.isEmpty(sysWxUserLog.getOpenid()) ? null : sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserLog.getOpenid()); - if (userInfo == null) { + if (userInfo == null || StringUtils.isEmpty(userInfo.getPhone())) { return AjaxResult.error("不存在客户"); } //查询今日是否已打卡 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 7659f8368..265a631da 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 @@ -66,4 +66,10 @@ public interface SysWxUserLogMapper public int checkWxLogInfoCount(String openid); + /** + * 根据openid和手机号查询打卡记录 + * @return + */ + public List getWxLogInfoList(SysWxUserLog sysWxUserLog); + } \ No newline at end of file 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 13f586caa..efa21b6ff 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,4 +65,10 @@ public interface ISysWxUserLogService public int deleteSysWxUserLogById(String openid); public int checkWxLogInfoCount(String openid); + + /** + * 根据openid和手机号查询打卡记录 + * @return + */ + public List getWxLogInfoList(SysWxUserLog sysWxUserLog); } \ No newline at end of file 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 bb0e5e4db..63dba2cf3 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 @@ -100,5 +100,12 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService { return sysWxUserLogMapper.checkWxLogInfoCount(openid); } - + /** + * 根据openid和手机号查询打卡记录 + * @return + */ + @Override + public List getWxLogInfoList(SysWxUserLog sysWxUserLog){ + return sysWxUserLogMapper.getWxLogInfoList(sysWxUserLog); + } } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml index e14a6e8f8..39af85c2c 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysWxUserLogMapper.xml @@ -133,6 +133,7 @@ update sys_wx_user_log + openid = #{openid}, weight = #{weight}, appid = #{appid}, phone = #{phone}, @@ -151,7 +152,7 @@ update_time = #{updateTime}, remark = #{remark}, - where openid = #{openid} + where id = #{id} @@ -165,4 +166,11 @@ + + + \ No newline at end of file