打卡后台,小程序接口
This commit is contained in:
		| @@ -3,6 +3,7 @@ package com.stdiet.custom.domain; | ||||
| import java.math.BigDecimal; | ||||
| import java.util.Date; | ||||
| import com.fasterxml.jackson.annotation.JsonFormat; | ||||
| import lombok.Data; | ||||
| import org.apache.commons.lang3.builder.ToStringBuilder; | ||||
| import org.apache.commons.lang3.builder.ToStringStyle; | ||||
| import com.stdiet.common.annotation.Excel; | ||||
| @@ -14,10 +15,13 @@ import com.stdiet.common.core.domain.BaseEntity; | ||||
|  * @author wonder | ||||
|  * @date 2020-11-29 | ||||
|  */ | ||||
| @Data | ||||
| public class SysWxUserLog extends BaseEntity | ||||
| { | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private Long id; | ||||
|  | ||||
|     /** 微信openid */ | ||||
|     private String openid; | ||||
|  | ||||
| @@ -68,183 +72,18 @@ public class SysWxUserLog extends BaseEntity | ||||
|     @JsonFormat(pattern = "yyyy-MM-dd") | ||||
|     private Date logTime; | ||||
|  | ||||
|     /** 非持久字段,客户姓名 + 营养师姓名,使用 , 隔开,用于接收sql查询返回字段 */ | ||||
|     private String customerMessage; | ||||
|  | ||||
|     /** | ||||
|      * 非持久化字段,营养师 | ||||
|      * 非持久化字段,客户姓名 | ||||
|      */ | ||||
|     @Excel(name = "姓名") | ||||
|     private String customer; | ||||
|     private String customerName; | ||||
|  | ||||
|     //营养师ID | ||||
|     private Long nutritionistId; | ||||
|  | ||||
|     /** | ||||
|      * 非持久化字段,营养师 | ||||
|      */ | ||||
|     @Excel(name = "营养师") | ||||
|     private String nutritionist; | ||||
|  | ||||
|     public void setLogTime(Date logTime) { | ||||
|         this.logTime = logTime; | ||||
|     } | ||||
|  | ||||
|     public Date getLogTime() { | ||||
|         return logTime; | ||||
|     } | ||||
|  | ||||
|     public void setOpenid(String openid) | ||||
|     { | ||||
|         this.openid = openid; | ||||
|     } | ||||
|  | ||||
|     public String getOpenid() | ||||
|     { | ||||
|         return openid; | ||||
|     } | ||||
|     public void setWeight(BigDecimal weight) | ||||
|     { | ||||
|         this.weight = weight; | ||||
|     } | ||||
|  | ||||
|     public BigDecimal getWeight() | ||||
|     { | ||||
|         return weight; | ||||
|     } | ||||
|     public void setAppid(String appid) | ||||
|     { | ||||
|         this.appid = appid; | ||||
|     } | ||||
|  | ||||
|     public String getAppid() | ||||
|     { | ||||
|         return appid; | ||||
|     } | ||||
|     public void setPhone(String phone) | ||||
|     { | ||||
|         this.phone = phone; | ||||
|     } | ||||
|  | ||||
|     public String getPhone() | ||||
|     { | ||||
|         return phone; | ||||
|     } | ||||
|     public void setSleepTime(String sleepTime) | ||||
|     { | ||||
|         this.sleepTime = sleepTime; | ||||
|     } | ||||
|  | ||||
|     public String getSleepTime() | ||||
|     { | ||||
|         return sleepTime; | ||||
|     } | ||||
|     public void setWakeupTime(String wakeupTime) | ||||
|     { | ||||
|         this.wakeupTime = wakeupTime; | ||||
|     } | ||||
|  | ||||
|     public String getWakeupTime() | ||||
|     { | ||||
|         return wakeupTime; | ||||
|     } | ||||
|     public void setSport(String sport) | ||||
|     { | ||||
|         this.sport = sport; | ||||
|     } | ||||
|  | ||||
|     public String getSport() | ||||
|     { | ||||
|         return sport; | ||||
|     } | ||||
|     public void setAvatarUrl(String avatarUrl) | ||||
|     { | ||||
|         this.avatarUrl = avatarUrl; | ||||
|     } | ||||
|  | ||||
|     public String getAvatarUrl() | ||||
|     { | ||||
|         return avatarUrl; | ||||
|     } | ||||
|     public void setDiet(String diet) | ||||
|     { | ||||
|         this.diet = diet; | ||||
|     } | ||||
|  | ||||
|     public String getDiet() | ||||
|     { | ||||
|         return diet; | ||||
|     } | ||||
|     public void setInsomnia(String insomnia) | ||||
|     { | ||||
|         this.insomnia = insomnia; | ||||
|     } | ||||
|  | ||||
|     public String getInsomnia() | ||||
|     { | ||||
|         return insomnia; | ||||
|     } | ||||
|     public void setDefecation(String defecation) | ||||
|     { | ||||
|         this.defecation = defecation; | ||||
|     } | ||||
|  | ||||
|     public String getDefecation() | ||||
|     { | ||||
|         return defecation; | ||||
|     } | ||||
|     public void setWater(Long water) | ||||
|     { | ||||
|         this.water = water; | ||||
|     } | ||||
|  | ||||
|     public Long getWater() | ||||
|     { | ||||
|         return water; | ||||
|     } | ||||
|  | ||||
|     public String getCustomerMessage() { | ||||
|         return customerMessage; | ||||
|     } | ||||
|  | ||||
|     public void setCustomerMessage(String customerMessage) { | ||||
|         this.customerMessage = customerMessage; | ||||
|     } | ||||
|  | ||||
|     public String getCustomer() { | ||||
|         return customer; | ||||
|     } | ||||
|  | ||||
|     public void setCustomer(String customer) { | ||||
|         this.customer = customer; | ||||
|     } | ||||
|  | ||||
|     public String getNutritionist() { | ||||
|         return nutritionist; | ||||
|     } | ||||
|  | ||||
|     public void setNutritionist(String nutritionist) { | ||||
|         this.nutritionist = nutritionist; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String toString() { | ||||
|         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||||
|                 .append("openid", getOpenid()) | ||||
|                 .append("weight", getWeight()) | ||||
|                 .append("appid", getAppid()) | ||||
|                 .append("phone", getPhone()) | ||||
|                 .append("sleepTime", getSleepTime()) | ||||
|                 .append("wakeupTime", getWakeupTime()) | ||||
|                 .append("sport", getSport()) | ||||
|                 .append("avatarUrl", getAvatarUrl()) | ||||
|                 .append("diet", getDiet()) | ||||
|                 .append("insomnia", getInsomnia()) | ||||
|                 .append("defecation", getDefecation()) | ||||
|                 .append("water", getWater()) | ||||
|                 .append("createBy", getCreateBy()) | ||||
|                 .append("createTime", getCreateTime()) | ||||
|                 .append("updateBy", getUpdateBy()) | ||||
|                 .append("updateTime", getUpdateTime()) | ||||
|                 .append("remark", getRemark()) | ||||
|                 .append("logTime", getLogTime()) | ||||
|                 .toString(); | ||||
|     } | ||||
| } | ||||
| @@ -41,7 +41,7 @@ public interface SysWxUserLogMapper | ||||
|     public int insertSysWxUserLog(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
|     /** | ||||
|      * 修改微信用户记录 | ||||
|      * 修改微信用户打卡记录 | ||||
|      * | ||||
|      * @param sysWxUserLog 微信用户记录 | ||||
|      * @return 结果 | ||||
| @@ -49,20 +49,19 @@ public interface SysWxUserLogMapper | ||||
|     public int updateSysWxUserLog(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
|     /** | ||||
|      * 删除微信用户记录 | ||||
|      * | ||||
|      * @param openid 微信用户记录ID | ||||
|      * @return 结果 | ||||
|      * 根据ID删除打卡记录 | ||||
|      * @param id | ||||
|      * @return | ||||
|      */ | ||||
|     public int deleteSysWxUserLogById(String openid); | ||||
|     public int deleteSysWxUserLogById(Long id); | ||||
|  | ||||
|     /** | ||||
|      * 批量删除微信用户记录 | ||||
|      * 批量删除微信用户打卡记录 | ||||
|      * | ||||
|      * @param openids 需要删除的数据ID | ||||
|      * @param ids 需要删除的数据ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteSysWxUserLogByIds(String[] openids); | ||||
|     public int deleteSysWxUserLogByIds(String[] ids); | ||||
|  | ||||
|     public int checkWxLogInfoCount(String openid); | ||||
|  | ||||
| @@ -72,4 +71,11 @@ public interface SysWxUserLogMapper | ||||
|      */ | ||||
|     public List<WxLogInfo> getWxLogInfoList(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
|     /** | ||||
|      * 根据日期和openid查询打卡记录 | ||||
|      * @param sysWxUserLog | ||||
|      * @return | ||||
|      */ | ||||
|     SysWxUserLog selectSysWxUserLogByDateAndOpenId(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
| } | ||||
| @@ -17,10 +17,10 @@ public interface ISysWxUserLogService | ||||
|     /** | ||||
|      * 查询微信用户记录 | ||||
|      * | ||||
|      * @param openid 微信用户记录ID | ||||
|      * @param id 微信用户记录ID | ||||
|      * @return 微信用户记录 | ||||
|      */ | ||||
|     public SysWxUserLog selectSysWxUserLogById(String openid); | ||||
|     public SysWxUserLog selectSysWxUserLogById(String id); | ||||
|  | ||||
|     /** | ||||
|      * 查询微信用户记录列表 | ||||
| @@ -51,18 +51,18 @@ public interface ISysWxUserLogService | ||||
|     /** | ||||
|      * 批量删除微信用户记录 | ||||
|      * | ||||
|      * @param openids 需要删除的微信用户记录ID | ||||
|      * @param ids 需要删除的微信用户记录ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteSysWxUserLogByIds(String[] openids); | ||||
|     public int deleteSysWxUserLogByIds(String[] ids); | ||||
|  | ||||
|     /** | ||||
|      * 删除微信用户记录信息 | ||||
|      * | ||||
|      * @param openid 微信用户记录ID | ||||
|      * @param id 微信用户记录ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     public int deleteSysWxUserLogById(String openid); | ||||
|     public int deleteSysWxUserLogById(Long id); | ||||
|  | ||||
|     public int checkWxLogInfoCount(String openid); | ||||
|  | ||||
| @@ -71,4 +71,12 @@ public interface ISysWxUserLogService | ||||
|      * @return | ||||
|      */ | ||||
|     public List<WxLogInfo> getWxLogInfoList(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
|     /** | ||||
|      * 根据日期和openid查询打卡记录 | ||||
|      * @param sysWxUserLog | ||||
|      * @return | ||||
|      */ | ||||
|     SysWxUserLog selectSysWxUserLogByDateAndOpenId(SysWxUserLog sysWxUserLog); | ||||
|  | ||||
| } | ||||
| @@ -25,12 +25,12 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService { | ||||
|     /** | ||||
|      * 查询微信用户记录 | ||||
|      * | ||||
|      * @param openid 微信用户记录ID | ||||
|      * @param id 微信用户记录ID | ||||
|      * @return 微信用户记录 | ||||
|      */ | ||||
|     @Override | ||||
|     public SysWxUserLog selectSysWxUserLogById(String openid) { | ||||
|         return sysWxUserLogMapper.selectSysWxUserLogById(openid); | ||||
|     public SysWxUserLog selectSysWxUserLogById(String id) { | ||||
|         return sysWxUserLogMapper.selectSysWxUserLogById(id); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -76,23 +76,23 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService { | ||||
|     /** | ||||
|      * 批量删除微信用户记录 | ||||
|      * | ||||
|      * @param openids 需要删除的微信用户记录ID | ||||
|      * @param ids 需要删除的微信用户记录ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteSysWxUserLogByIds(String[] openids) { | ||||
|         return sysWxUserLogMapper.deleteSysWxUserLogByIds(openids); | ||||
|     public int deleteSysWxUserLogByIds(String[] ids) { | ||||
|         return sysWxUserLogMapper.deleteSysWxUserLogByIds(ids); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 删除微信用户记录信息 | ||||
|      * | ||||
|      * @param openid 微信用户记录ID | ||||
|      * @param id 微信用户记录ID | ||||
|      * @return 结果 | ||||
|      */ | ||||
|     @Override | ||||
|     public int deleteSysWxUserLogById(String openid) { | ||||
|         return sysWxUserLogMapper.deleteSysWxUserLogById(openid); | ||||
|     public int deleteSysWxUserLogById(Long id) { | ||||
|         return sysWxUserLogMapper.deleteSysWxUserLogById(id); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -108,4 +108,14 @@ public class SysWxUserLogServiceImpl implements ISysWxUserLogService { | ||||
|     public List<WxLogInfo> getWxLogInfoList(SysWxUserLog sysWxUserLog){ | ||||
|         return sysWxUserLogMapper.getWxLogInfoList(sysWxUserLog); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 根据日期和openid查询打卡记录 | ||||
|      * @param sysWxUserLog | ||||
|      * @return | ||||
|      */ | ||||
|     public SysWxUserLog selectSysWxUserLogByDateAndOpenId(SysWxUserLog sysWxUserLog){ | ||||
|         return sysWxUserLogMapper.selectSysWxUserLogByDateAndOpenId(sysWxUserLog); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -35,15 +35,15 @@ | ||||
|     <select id="selectSysCustomerList" parameterType="SysCustomer" resultMap="SysCustomerResult"> | ||||
|         <include refid="selectSysCustomerVo"/> | ||||
|         where del_flag = 0 | ||||
|         <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%') or phone like concat('%', #{name}, '%')</if> | ||||
|         <if test="name != null  and name != ''"> and (name like concat('%', #{name}, '%') or phone like concat('%', #{name}, '%'))</if> | ||||
|         <if test="mainDietitian != null  and mainDietitian != ''"> and main_dietitian = #{mainDietitian}</if> | ||||
|         <if test="mainDietitian == 0"> and isnull(main_dietitian) or main_dietitian=0</if> | ||||
|         <if test="mainDietitian == 0"> and (isnull(main_dietitian) or main_dietitian=0)</if> | ||||
|         <if test="salesman != null  and salesman != ''"> and salesman = #{salesman}</if> | ||||
|         <if test="salesman == 0"> and isnull(salesman) or salesman=0</if> | ||||
|         <if test="salesman == 0"> and (isnull(salesman) or salesman=0)</if> | ||||
|         <if test="afterDietitian != null  and afterDietitian != ''"> and after_dietitian = #{afterDietitian}</if> | ||||
|         <if test="afterDietitian == 0"> and isnull(after_dietitian) or after_dietitian=0</if> | ||||
|         <if test="afterDietitian == 0"> and (isnull(after_dietitian) or after_dietitian=0)</if> | ||||
|         <if test="assistantDietitian != null  and assistantDietitian != ''"> and assistant_dietitian = #{assistantDietitian}</if> | ||||
|         <if test="assistantDietitian == 0"> and isnull(assistant_dietitian) or assistant_dietitian=0</if> | ||||
|         <if test="assistantDietitian == 0"> and (isnull(assistant_dietitian) or assistant_dietitian=0)</if> | ||||
|         <if test="fansChannel != null "> and fans_channel = #{fansChannel}</if> | ||||
|         order by create_time desc | ||||
|     </select> | ||||
|   | ||||
| @@ -5,6 +5,7 @@ | ||||
| <mapper namespace="com.stdiet.custom.mapper.SysWxUserLogMapper"> | ||||
|  | ||||
|     <resultMap type="SysWxUserLog" id="SysWxUserLogResult"> | ||||
|         <result property="id"    column="id"    /> | ||||
|         <result property="openid" column="openid"/> | ||||
|         <result property="weight" column="weight"/> | ||||
|         <result property="appid" column="appid"/> | ||||
| @@ -25,7 +26,9 @@ | ||||
|         <result property="updateTime" column="update_time"/> | ||||
|         <result property="remark" column="remark"/> | ||||
|         <!-- 非持久字段 --> | ||||
|         <result property="customerMessage" column="customer_message"></result> | ||||
|         <result property="customerName" column="customer_name"></result> | ||||
|         <!-- 营养师 --> | ||||
|         <result property="nutritionist" column="nutritionist"></result> | ||||
|     </resultMap> | ||||
|  | ||||
|     <resultMap type="com.stdiet.custom.page.WxLogInfo" id="WxLogInfo"> | ||||
| @@ -41,28 +44,30 @@ | ||||
|     </resultMap> | ||||
|  | ||||
|     <sql id="selectSysWxUserLogVo"> | ||||
|         select 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 | ||||
|     </sql> | ||||
|  | ||||
|     <sql id="selectBaseField"> | ||||
|         swul.openid, swul.weight, swul.appid, swul.phone, swul.log_time, swul.sleep_time, swul.wakeup_time, swul.sport, swul.avatar_url, swul.diet, swul.insomnia, | ||||
|         swul.defecation, swul.water, swul.create_by, swul.create_time, swul.update_by, swul.update_time, swul.remark | ||||
|         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 | ||||
|     </sql> | ||||
|  | ||||
|     <select id="checkWxLogInfoCount" parameterType="String" resultType="Integer"> | ||||
|         select count(*) from sys_wx_user_log where to_days(log_time) = to_days(now()) and openid = #{openid} | ||||
|     </select> | ||||
|  | ||||
|     <!-- 后台查询 --> | ||||
|     <select id="selectSysWxUserLogList" parameterType="SysWxUserLog" resultMap="SysWxUserLogResult"> | ||||
|         select <include refid="selectBaseField"></include>, | ||||
|         (select CONCAT(IFNULL(so.customer,''),',',IFNULL(su.nick_name,'')) from (select * from sys_order s where s.phone = swul.phone order by order_id desc limit 1) as so | ||||
|         left join sys_user su on su.user_id = so.nutritionist_id and su.del_flag = 0) as customer_message | ||||
|         from sys_wx_user_log swul | ||||
|         <where> | ||||
|             <if test="openid != null  and openid != ''">and swul.openid = #{openid}</if> | ||||
|             <if test="phone != null  and phone != ''">or swul.phone = #{phone}</if> | ||||
|         </where> | ||||
|         order by create_time desc | ||||
|         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, | ||||
|         sc.name as customer_name, su.nick_name as nutritionist | ||||
|         FROM sys_wx_user_log wxlog | ||||
|         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' | ||||
|         where wxinfo.phone is not null | ||||
|         <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> | ||||
|         <if test="nutritionistId != null"> | ||||
|             and su.user_id = #{nutritionistId} | ||||
|         </if> | ||||
|         order by wxlog.create_time desc | ||||
|     </select> | ||||
|  | ||||
|     <select id="selectWxLogInfoList" parameterType="SysWxUserLog" resultMap="WxLogInfo"> | ||||
| @@ -83,7 +88,7 @@ | ||||
|  | ||||
|     <select id="selectSysWxUserLogById" parameterType="String" resultMap="SysWxUserLogResult"> | ||||
|         <include refid="selectSysWxUserLogVo"/> | ||||
|         where openid = #{openid} | ||||
|         where id = #{id} | ||||
|     </select> | ||||
|  | ||||
|     <insert id="insertSysWxUserLog" parameterType="SysWxUserLog"> | ||||
| @@ -155,22 +160,27 @@ | ||||
|         where id = #{id} | ||||
|     </update> | ||||
|  | ||||
|     <delete id="deleteSysWxUserLogById" parameterType="String"> | ||||
|         delete from sys_wx_user_log where openid = #{openid} | ||||
|     <delete id="deleteSysWxUserLogById" parameterType="Long"> | ||||
|         delete from sys_wx_user_log where id = #{id} | ||||
|     </delete> | ||||
|  | ||||
|     <delete id="deleteSysWxUserLogByIds" parameterType="String"> | ||||
|         delete from sys_wx_user_log where openid in | ||||
|         <foreach item="openid" collection="array" open="(" separator="," close=")"> | ||||
|             #{openid} | ||||
|         delete from sys_wx_user_log where id in | ||||
|         <foreach item="id" collection="array" open="(" separator="," close=")"> | ||||
|             #{id} | ||||
|         </foreach> | ||||
|     </delete> | ||||
|  | ||||
|     <!-- 根据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.sport  FROM sys_wx_user_log wxlog left join sys_wx_user_info wxinfo on wxinfo.openid  = wxlog.openid | ||||
|         SELECT wxlog.weight,wxlog.log_time,wxlog.sleep_time, wxlog.wakeup_time,wxlog.defecation, wxlog.water, wxlog.insomnia,wxlog.sport,wxlog.diet | ||||
|         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 | ||||
|     </select> | ||||
|  | ||||
|     <select id="selectSysWxUserLogByDateAndOpenId"  parameterType="SysWxUserLog" resultMap="SysWxUserLogResult"> | ||||
|         select id from sys_wx_user_log where to_days(log_time) = to_days(#{logTime}) and openid = #{openid} limit 1 | ||||
|     </select> | ||||
|  | ||||
| </mapper> | ||||
		Reference in New Issue
	
	Block a user