Merge branch 'master' of gitee.com:darlk/ShengTangManage into develop

This commit is contained in:
huangdeliang
2021-04-29 17:00:31 +08:00
32 changed files with 1618 additions and 24 deletions

View File

@ -2,6 +2,8 @@ package com.stdiet.custom.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
@ -102,4 +104,10 @@ public class SysCustomer extends BaseEntity
private String[] channels;
//病史体征ID集合非持久化字段
private List<Long> signIdList;
//病史体征ID
private String physicalSignsId;
}

View File

@ -0,0 +1,54 @@
package com.stdiet.custom.domain;
import lombok.Data;
import com.stdiet.common.annotation.Excel;
import com.stdiet.common.core.domain.BaseEntity;
/**
* 客户消息通知对象 sys_message_notice
*
* @author xzj
* @date 2021-04-26
*/
@Data
public class SysMessageNotice extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 消息属性0 公共消息 1 私有消息 */
@Excel(name = "消息属性0 公共消息 1 私有消息")
private Integer messageProperty;
/** 消息对应客户ID (公共消息时该字段为0) */
@Excel(name = "消息对应客户ID (公共消息时该字段为0)")
private Long messageCustomer;
//用户加密ID非持久化字段
private String customerId;
/** 消息类型 */
@Excel(name = "消息类型")
private Integer messageType;
/** 消息标题 */
@Excel(name = "消息标题")
private String messageTitle;
/** 消息内容 */
@Excel(name = "消息内容")
private String messageContent;
/** 是否已读 0未读 1已读 */
@Excel(name = "是否已读 0未读 1已读")
private Integer readType;
/** 当前消息对应关键参数多个参数可保存json字符串 */
@Excel(name = "当前消息对应关键参数多个参数可保存json字符串")
private String messageKey;
/** 删除标识 0未删除 1已删除 */
private Integer delFlag;
}

View File

@ -0,0 +1,55 @@
package com.stdiet.custom.domain;
import com.stdiet.common.annotation.Excel;
import com.stdiet.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 营养视频对象 sys_nutritional_video
*
* @author xzj
* @date 2021-04-29
*/
@Data
public class SysNutritionalVideo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 视频分类ID */
@Excel(name = "视频分类ID")
private Long cateId;
/** 阿里云视频ID */
@Excel(name = "阿里云视频ID")
private String videoId;
/** 视频封面URL */
@Excel(name = "视频封面URL")
private String coverUrl;
/** 视频标题 */
@Excel(name = "视频标题")
private String title;
/** 视频描述 */
@Excel(name = "视频描述")
private String description;
/** 视频大小,单位:字节 */
@Excel(name = "视频大小,单位:字节")
private Long videoSize;
/** 标签,使用 , 隔开 */
@Excel(name = "标签,使用 , 隔开")
private String tags;
/** 是否显示0不显示 1显示默认0 */
@Excel(name = "是否显示0不显示 1显示默认0")
private Integer showFlag;
/** 删除标识0未删除 1已删除默认0 */
private Integer delFlag;
}

View File

@ -0,0 +1,75 @@
package com.stdiet.custom.domain.entityEnum;
public enum MessageNoticeEnum{
systemMessage("系统通知", 0, 0, "系统通知"),
punchComment("打卡点评", 1, 1, "%s打卡点评"); //%s 为打卡时间
//消息名称
private String name;
//消息属性 0公共 1私有
private Integer property;
//消息类型
private Integer type;
//消息标题模板
private String titleTemplate;
MessageNoticeEnum(String name, Integer property, Integer type, String titleTemplate){
this.name = name;
this.property = property;
this.type = type;
this.titleTemplate = titleTemplate;
}
/**
* 根据type类型获取枚举对象
* @param type
* @return
*/
public static MessageNoticeEnum getNoticeEnumByType(Integer type){
for (MessageNoticeEnum messageEnum : MessageNoticeEnum.values()) {
if(messageEnum.getType().intValue() == type.intValue()){
return messageEnum;
}
}
return systemMessage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getProperty() {
return property;
}
public void setProperty(Integer property) {
this.property = property;
}
public String getTitleTemplate() {
return titleTemplate;
}
public void setTitleTemplate(String titleTemplate) {
this.titleTemplate = titleTemplate;
}
}

View File

@ -0,0 +1,43 @@
package com.stdiet.custom.dto.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class MessageNoticeResponse implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/** 消息属性0 公共消息 1 私有消息 */
private Integer messageProperty;
/** 消息对应客户ID (公共消息时该字段为0) */
private Long messageCustomer;
/** 消息类型 */
private Integer messageType;
//消息类型名称
private String messageTypeName;
/** 消息标题 */
private String messageTitle;
/** 消息内容 */
private String messageContent;
/** 是否已读 0未读 1已读 */
private Integer readType;
/** 当前消息对应关键参数多个参数可保存json字符串 */
private String messageKey;
/** 创建时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date createTime;
}

View File

@ -0,0 +1,39 @@
package com.stdiet.custom.dto.response;
import lombok.Data;
import java.io.Serializable;
@Data
public class NutritionalVideoResponse implements Serializable {
private static final long serialVersionUID = 1L;
//分类ID
public Long cateId;
//分类名称
public String cateName;
//标题
public String title;
//标签
public String tags;
//视频ID
public String videoId;
//封面URL
public String coverURL;
//视频描述
public String description;
//播放链接
public String playUrl;
public String createTime;
}

View File

@ -67,4 +67,11 @@ public interface SysCustomerMapper
* @return 结果
*/
SysCustomer getCustomerByPhone(@Param("phone")String phone);
/**
* 根据openid查询客户信息
* @param openid
* @return
*/
SysCustomer getCustomerByOpenId(@Param("openid")String openid);
}

View File

@ -0,0 +1,76 @@
package com.stdiet.custom.mapper;
import java.util.List;
import com.stdiet.custom.domain.SysMessageNotice;
import com.stdiet.custom.dto.response.MessageNoticeResponse;
/**
* 客户消息通知Mapper接口
*
* @author xzj
* @date 2021-04-26
*/
public interface SysMessageNoticeMapper
{
/**
* 查询客户消息通知
*
* @param id 客户消息通知ID
* @return 客户消息通知
*/
public SysMessageNotice selectSysMessageNoticeById(Long id);
/**
* 查询客户消息通知列表
*
* @param sysMessageNotice 客户消息通知
* @return 客户消息通知集合
*/
public List<SysMessageNotice> selectSysMessageNoticeList(SysMessageNotice sysMessageNotice);
/**
* 新增客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
public int insertSysMessageNotice(SysMessageNotice sysMessageNotice);
/**
* 修改客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
public int updateSysMessageNotice(SysMessageNotice sysMessageNotice);
/**
* 删除客户消息通知
*
* @param id 客户消息通知ID
* @return 结果
*/
public int deleteSysMessageNoticeById(Long id);
/**
* 批量删除客户消息通知
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteSysMessageNoticeByIds(Long[] ids);
/**
* 根据客户ID查询客户信息包含私有信息以及公共消息
* @param sysMessageNotice
* @return
*/
public List<MessageNoticeResponse> getCustomerMessage(SysMessageNotice sysMessageNotice);
/**
* 根据客户ID查询客户消息数量
* @param sysMessageNotice
* @return
*/
public int getCustomerMessageCount(SysMessageNotice sysMessageNotice);
}

View File

@ -0,0 +1,69 @@
package com.stdiet.custom.mapper;
import java.util.List;
import com.stdiet.custom.domain.SysNutritionalVideo;
import org.apache.ibatis.annotations.Param;
/**
* 营养视频Mapper接口
*
* @author xzj
* @date 2021-04-29
*/
public interface SysNutritionalVideoMapper
{
/**
* 查询营养视频
*
* @param id 营养视频ID
* @return 营养视频
*/
public SysNutritionalVideo selectSysNutritionalVideoById(Long id);
/**
* 查询营养视频列表
*
* @param sysNutritionalVideo 营养视频
* @return 营养视频集合
*/
public List<SysNutritionalVideo> selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo);
/**
* 新增营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo);
/**
* 修改营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo);
/**
* 删除营养视频
*
* @param id 营养视频ID
* @return 结果
*/
public int deleteSysNutritionalVideoById(Long id);
/**
* 批量删除营养视频
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteSysNutritionalVideoByIds(Long[] ids);
/**
* 获取视频
* @param videoId
* @return
*/
public SysNutritionalVideo selectSysNutritionalVideByVideoId(@Param("videoId")String videoId);
}

View File

@ -2,6 +2,7 @@ package com.stdiet.custom.mapper;
import java.util.List;
import com.stdiet.custom.domain.SysPhysicalSigns;
import org.apache.ibatis.annotations.Param;
/**
* 体征Mapper接口
@ -58,4 +59,11 @@ public interface SysPhysicalSignsMapper
* @return 结果
*/
public int deleteSysPhysicalSignsByIds(Long[] ids);
/**
* 根据名称查询体征ID集合
* @param name
* @return
*/
List<Long> getSignIdByName(@Param("name") String name);
}

View File

@ -81,4 +81,11 @@ public interface ISysCustomerService
Map<String,Object> getPhysicalSignsByOutId(String id);
/**
* 根据openid查询客户信息
* @param openid
* @return
*/
SysCustomer getCustomerByOpenId(String openid);
}

View File

@ -0,0 +1,92 @@
package com.stdiet.custom.service;
import java.util.List;
import com.stdiet.custom.domain.SysMessageNotice;
import com.stdiet.custom.domain.SysWxUserLog;
import com.stdiet.custom.domain.entityEnum.MessageNoticeEnum;
import com.stdiet.custom.dto.response.MessageNoticeResponse;
/**
* 客户消息通知Service接口
*
* @author xzj
* @date 2021-04-26
*/
public interface ISysMessageNoticeService
{
/**
* 查询客户消息通知
*
* @param id 客户消息通知ID
* @return 客户消息通知
*/
public SysMessageNotice selectSysMessageNoticeById(Long id);
/**
* 查询客户消息通知列表
*
* @param sysMessageNotice 客户消息通知
* @return 客户消息通知集合
*/
public List<SysMessageNotice> selectSysMessageNoticeList(SysMessageNotice sysMessageNotice);
/**
* 新增客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
public int insertSysMessageNotice(SysMessageNotice sysMessageNotice);
/**
* 修改客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
public int updateSysMessageNotice(SysMessageNotice sysMessageNotice);
/**
* 批量删除客户消息通知
*
* @param ids 需要删除的客户消息通知ID
* @return 结果
*/
public int deleteSysMessageNoticeByIds(Long[] ids);
/**
* 删除客户消息通知信息
*
* @param id 客户消息通知ID
* @return 结果
*/
public int deleteSysMessageNoticeById(Long id);
/**
* 根据客户ID查询客户信息包含私有信息以及公共消息
* @param sysMessageNotice
* @return
*/
public List<MessageNoticeResponse> getCustomerMessage(SysMessageNotice sysMessageNotice);
/**
* 消息发送
* @param messageNoticeEnum
* @param sysMessageNotice
* @return
*/
public int sendMessageNoticeToCustomer(MessageNoticeEnum messageNoticeEnum, SysMessageNotice sysMessageNotice);
/**
* 根据客户ID查询客户消息数量
* @param sysMessageNotice
* @return
*/
public int getCustomerMessageCount(SysMessageNotice sysMessageNotice);
/**
* 发送打卡点评消息
* @param sysWxUserLog
*/
public void sendPunchCommentMessage(SysWxUserLog sysWxUserLog);
}

View File

@ -0,0 +1,68 @@
package com.stdiet.custom.service;
import java.util.List;
import com.stdiet.custom.domain.SysNutritionalVideo;
/**
* 营养视频Service接口
*
* @author xzj
* @date 2021-04-29
*/
public interface ISysNutritionalVideoService
{
/**
* 查询营养视频
*
* @param id 营养视频ID
* @return 营养视频
*/
public SysNutritionalVideo selectSysNutritionalVideoById(Long id);
/**
* 查询营养视频列表
*
* @param sysNutritionalVideo 营养视频
* @return 营养视频集合
*/
public List<SysNutritionalVideo> selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo);
/**
* 新增营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo);
/**
* 修改营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo);
/**
* 批量删除营养视频
*
* @param ids 需要删除的营养视频ID
* @return 结果
*/
public int deleteSysNutritionalVideoByIds(Long[] ids);
/**
* 删除营养视频信息
*
* @param id 营养视频ID
* @return 结果
*/
public int deleteSysNutritionalVideoById(Long id);
/**
* 获取视频
* @param videoId
* @return
*/
public SysNutritionalVideo selectSysNutritionalVideByVideoId(String videoId);
}

View File

@ -58,4 +58,11 @@ public interface ISysPhysicalSignsService
* @return 结果
*/
public int deleteSysPhysicalSignsById(Long id);
/**
* 根据名称查询体征ID集合
* @param name
* @return
*/
List<Long> getSignIdByName(String name);
}

View File

@ -168,4 +168,13 @@ public class SysCustomerServiceImpl implements ISysCustomerService {
public Map<String, Object> getPhysicalSignsByOutId(String id) {
return null;
}
/**
* 根据openid查询客户信息
* @param openid
* @return
*/
public SysCustomer getCustomerByOpenId(String openid){
return sysCustomerMapper.getCustomerByOpenId(openid);
}
}

View File

@ -0,0 +1,169 @@
package com.stdiet.custom.service.impl;
import java.util.Date;
import java.util.List;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.common.utils.StringUtils;
import com.stdiet.custom.domain.SysCustomer;
import com.stdiet.custom.domain.SysWxUserLog;
import com.stdiet.custom.domain.entityEnum.MessageNoticeEnum;
import com.stdiet.custom.dto.response.MessageNoticeResponse;
import com.stdiet.custom.service.ISysCustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysMessageNoticeMapper;
import com.stdiet.custom.domain.SysMessageNotice;
import com.stdiet.custom.service.ISysMessageNoticeService;
/**
* 客户消息通知Service业务层处理
*
* @author xzj
* @date 2021-04-26
*/
@Service
public class SysMessageNoticeServiceImpl implements ISysMessageNoticeService
{
@Autowired
private SysMessageNoticeMapper sysMessageNoticeMapper;
@Autowired
private ISysCustomerService sysCustomerService;
/**
* 查询客户消息通知
*
* @param id 客户消息通知ID
* @return 客户消息通知
*/
@Override
public SysMessageNotice selectSysMessageNoticeById(Long id)
{
return sysMessageNoticeMapper.selectSysMessageNoticeById(id);
}
/**
* 查询客户消息通知列表
*
* @param sysMessageNotice 客户消息通知
* @return 客户消息通知
*/
@Override
public List<SysMessageNotice> selectSysMessageNoticeList(SysMessageNotice sysMessageNotice)
{
return sysMessageNoticeMapper.selectSysMessageNoticeList(sysMessageNotice);
}
/**
* 新增客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
@Override
public int insertSysMessageNotice(SysMessageNotice sysMessageNotice)
{
sysMessageNotice.setCreateTime(DateUtils.getNowDate());
return sysMessageNoticeMapper.insertSysMessageNotice(sysMessageNotice);
}
/**
* 修改客户消息通知
*
* @param sysMessageNotice 客户消息通知
* @return 结果
*/
@Override
public int updateSysMessageNotice(SysMessageNotice sysMessageNotice)
{
sysMessageNotice.setUpdateTime(DateUtils.getNowDate());
return sysMessageNoticeMapper.updateSysMessageNotice(sysMessageNotice);
}
/**
* 批量删除客户消息通知
*
* @param ids 需要删除的客户消息通知ID
* @return 结果
*/
@Override
public int deleteSysMessageNoticeByIds(Long[] ids)
{
return sysMessageNoticeMapper.deleteSysMessageNoticeByIds(ids);
}
/**
* 删除客户消息通知信息
*
* @param id 客户消息通知ID
* @return 结果
*/
@Override
public int deleteSysMessageNoticeById(Long id)
{
return sysMessageNoticeMapper.deleteSysMessageNoticeById(id);
}
/**
* 根据客户ID查询客户信息包含私有信息以及公共消息
* @param sysMessageNotice
* @return
*/
@Override
public List<MessageNoticeResponse> getCustomerMessage(SysMessageNotice sysMessageNotice){
List<MessageNoticeResponse> responsesList = sysMessageNoticeMapper.getCustomerMessage(sysMessageNotice);
if(responsesList != null && responsesList.size() > 0){
for (MessageNoticeResponse messageNoticeResponse : responsesList) {
messageNoticeResponse.setMessageTypeName(MessageNoticeEnum.getNoticeEnumByType(messageNoticeResponse.getMessageType()).getName());
}
}
return responsesList;
}
/**
* 消息发送
* @param messageNoticeEnum
* @param sysMessageNotice
* @return
*/
@Override
public int sendMessageNoticeToCustomer(MessageNoticeEnum messageNoticeEnum, SysMessageNotice sysMessageNotice){
sysMessageNotice.setMessageProperty(messageNoticeEnum.getProperty());
sysMessageNotice.setMessageType(messageNoticeEnum.getType());
return sysMessageNoticeMapper.insertSysMessageNotice(sysMessageNotice);
}
/**
* 根据客户ID查询客户消息数量
* @param sysMessageNotice
* @return
*/
@Override
public int getCustomerMessageCount(SysMessageNotice sysMessageNotice){
return sysMessageNoticeMapper.getCustomerMessageCount(sysMessageNotice);
}
/**
* 发送打卡点评消息
* @param sysWxUserLog
*/
@Override
@Async
public void sendPunchCommentMessage(SysWxUserLog sysWxUserLog){
if(sysWxUserLog == null || StringUtils.isEmpty(sysWxUserLog.getOpenid())){
return;
}
SysCustomer sysCustomer = sysCustomerService.getCustomerByOpenId(sysWxUserLog.getOpenid());
if(sysCustomer != null){
SysMessageNotice sysMessageNotice = new SysMessageNotice();
sysMessageNotice.setMessageProperty(1);
sysMessageNotice.setMessageType(MessageNoticeEnum.punchComment.getType());
sysMessageNotice.setReadType(0);
sysMessageNotice.setMessageCustomer(sysCustomer.getId());
sysMessageNotice.setMessageTitle(String.format(MessageNoticeEnum.punchComment.getTitleTemplate(), DateUtils.dateTime(sysWxUserLog.getLogTime())));
sysMessageNotice.setMessageContent(sysWxUserLog.getComment());
sendMessageNoticeToCustomer(MessageNoticeEnum.punchComment, sysMessageNotice);
}
}
}

View File

@ -0,0 +1,105 @@
package com.stdiet.custom.service.impl;
import java.util.List;
import com.stdiet.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysNutritionalVideoMapper;
import com.stdiet.custom.domain.SysNutritionalVideo;
import com.stdiet.custom.service.ISysNutritionalVideoService;
/**
* 营养视频Service业务层处理
*
* @author xzj
* @date 2021-04-29
*/
@Service
public class SysNutritionalVideoServiceImpl implements ISysNutritionalVideoService
{
@Autowired
private SysNutritionalVideoMapper sysNutritionalVideoMapper;
/**
* 查询营养视频
*
* @param id 营养视频ID
* @return 营养视频
*/
@Override
public SysNutritionalVideo selectSysNutritionalVideoById(Long id)
{
return sysNutritionalVideoMapper.selectSysNutritionalVideoById(id);
}
/**
* 查询营养视频列表
*
* @param sysNutritionalVideo 营养视频
* @return 营养视频
*/
@Override
public List<SysNutritionalVideo> selectSysNutritionalVideoList(SysNutritionalVideo sysNutritionalVideo)
{
return sysNutritionalVideoMapper.selectSysNutritionalVideoList(sysNutritionalVideo);
}
/**
* 新增营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
@Override
public int insertSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo)
{
sysNutritionalVideo.setCreateTime(DateUtils.getNowDate());
return sysNutritionalVideoMapper.insertSysNutritionalVideo(sysNutritionalVideo);
}
/**
* 修改营养视频
*
* @param sysNutritionalVideo 营养视频
* @return 结果
*/
@Override
public int updateSysNutritionalVideo(SysNutritionalVideo sysNutritionalVideo)
{
sysNutritionalVideo.setUpdateTime(DateUtils.getNowDate());
return sysNutritionalVideoMapper.updateSysNutritionalVideo(sysNutritionalVideo);
}
/**
* 批量删除营养视频
*
* @param ids 需要删除的营养视频ID
* @return 结果
*/
@Override
public int deleteSysNutritionalVideoByIds(Long[] ids)
{
return sysNutritionalVideoMapper.deleteSysNutritionalVideoByIds(ids);
}
/**
* 删除营养视频信息
*
* @param id 营养视频ID
* @return 结果
*/
@Override
public int deleteSysNutritionalVideoById(Long id)
{
return sysNutritionalVideoMapper.deleteSysNutritionalVideoById(id);
}
/**
* 获取视频
* @param videoId
* @return
*/
public SysNutritionalVideo selectSysNutritionalVideByVideoId(String videoId){
return sysNutritionalVideoMapper.selectSysNutritionalVideByVideoId(videoId);
}
}

View File

@ -90,4 +90,14 @@ public class SysPhysicalSignsServiceImpl implements ISysPhysicalSignsService
{
return sysPhysicalSignsMapper.deleteSysPhysicalSignsById(id);
}
/**
* 根据名称查询体征ID集合
* @param name
* @return
*/
@Override
public List<Long> getSignIdByName(String name){
return sysPhysicalSignsMapper.getSignIdByName(name);
}
}

View File

@ -8,8 +8,11 @@ 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.SysMessageNotice;
import com.stdiet.custom.domain.SysWxUserInfo;
import com.stdiet.custom.domain.entityEnum.MessageNoticeEnum;
import com.stdiet.custom.page.WxLogInfo;
import com.stdiet.custom.service.ISysMessageNoticeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysWxUserLogMapper;

View File

@ -26,6 +26,7 @@
<include refid="selectSysAskNutritionQuestionVo"/>
from sys_ask_nutrition_question where del_flag = 0
<if test="question != null and question != ''"> and question like concat('%',#{question},'%')</if>
order by id desc
</select>
<select id="selectSysAskNutritionQuestionById" parameterType="Long" resultMap="SysAskNutritionQuestionResult">
@ -77,15 +78,15 @@
where id = #{id}
</update>
<delete id="deleteSysAskNutritionQuestionById" parameterType="Long">
<update id="deleteSysAskNutritionQuestionById" parameterType="Long">
update sys_ask_nutrition_question set del_flag = 1 where id = #{id}
</delete>
</update>
<delete id="deleteSysAskNutritionQuestionByIds" parameterType="String">
<update id="deleteSysAskNutritionQuestionByIds" parameterType="String">
update sys_ask_nutrition_question set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</update>
</mapper>

View File

@ -34,26 +34,41 @@
</sql>
<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="mainDietitian != null and mainDietitian != ''"> and main_dietitian = #{mainDietitian}</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="afterDietitian != null and afterDietitian != ''"> and after_dietitian = #{afterDietitian}</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="fansChannel != null "> and fans_channel = #{fansChannel}</if>
<if test="channelId != null "> and channel_id = #{channelId}</if>
select
sc.id, sc.name, sc.phone, sc.email, sc.fans_time, sc.fans_channel, sc.address, sc.pay_date, sc.start_date, sc.purchase_num, sc.pay_total, sc.main_dietitian,
sc.assistant_dietitian, sc.after_dietitian, sc.salesman, sc.charge_person, sc.follow_status, sc.create_time,sc.channel_id
from sys_customer sc
left join sys_customer_healthy as sch
on sch.customer_id = sc.id and sch.del_flag = 0
where sc.del_flag = 0
<if test="name != null and name != ''">
and (sc.name like concat('%', #{name}, '%') or sc.phone like concat('%', #{name}, '%'))
</if>
<if test="mainDietitian != null and mainDietitian != ''"> and sc.main_dietitian = #{mainDietitian}</if>
<if test="mainDietitian == 0"> and (isnull(sc.main_dietitian) or sc.main_dietitian=0)</if>
<if test="salesman != null and salesman != ''"> and sc.salesman = #{salesman}</if>
<if test="salesman == 0"> and (isnull(sc.salesman) or sc.salesman=0)</if>
<if test="afterDietitian != null and afterDietitian != ''"> and sc.after_dietitian = #{afterDietitian}</if>
<if test="afterDietitian == 0"> and (isnull(sc.after_dietitian) or sc.after_dietitian=0)</if>
<if test="assistantDietitian != null and assistantDietitian != ''"> and sc.assistant_dietitian = #{assistantDietitian}</if>
<if test="assistantDietitian == 0"> and (isnull(sc.assistant_dietitian) or sc.assistant_dietitian=0)</if>
<if test="fansChannel != null "> and sc.fans_channel = #{fansChannel}</if>
<if test="channelId != null "> and sc.channel_id = #{channelId}</if>
<if test="channels != null">
and channel_id in
and sc.channel_id in
<foreach collection="channels" item="cn" separator="," open="(" close=")">
#{cn}
</foreach>
</if>
order by create_time desc
<if test="signIdList != null">
and (
sch.other_physical_signs like concat('%', #{name}, '%')
<foreach collection="signIdList " item="signId" index="index" open=" OR (" close=")" separator=" OR ">
FIND_IN_SET(#{signId}, sch.physical_signs_id)
</foreach>
)
</if>
order by sc.create_time desc
</select>
<select id="selectSysCustomerById" parameterType="Long" resultMap="SysCustomerResult">
@ -156,6 +171,12 @@
where phone = #{phone} and del_flag = 0
</select>
<!-- 根据openId查询客户 -->
<select id="getCustomerByOpenId" parameterType="String" resultMap="SysCustomerResult">
select sc.id from sys_customer sc
left join sys_wx_user_info wu on wu.phone = sc.phone
where wu.openid = #{openid} and sc.del_flag = 0 order by sc.id desc limit 1
</select>
</mapper>

View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.stdiet.custom.mapper.SysMessageNoticeMapper">
<resultMap type="SysMessageNotice" id="SysMessageNoticeResult">
<result property="id" column="id" />
<result property="messageProperty" column="message_property" />
<result property="messageCustomer" column="message_customer" />
<result property="messageType" column="message_type" />
<result property="messageTitle" column="message_title" />
<result property="messageContent" column="message_content" />
<result property="readType" column="read_type" />
<result property="messageKey" column="message_key" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<resultMap type="com.stdiet.custom.dto.response.MessageNoticeResponse" id="SysMessageNoticeResponse">
<result property="id" column="id" />
<result property="messageProperty" column="message_property" />
<result property="messageCustomer" column="message_customer" />
<result property="messageType" column="message_type" />
<result property="messageTitle" column="message_title" />
<result property="messageContent" column="message_content" />
<result property="readType" column="read_type" />
<result property="messageKey" column="message_key" />
<result property="createTime" column="create_time" />
</resultMap>
<sql id="selectSysMessageNoticeVo">
id, message_property, message_customer, message_type, message_title, message_content, read_type, message_key, create_time, create_by, update_time, update_by, del_flag
</sql>
<select id="selectSysMessageNoticeList" parameterType="SysMessageNotice" resultMap="SysMessageNoticeResult">
select
<include refid="selectSysMessageNoticeVo"/>
from sys_message_notice
where del_flag = 0
</select>
<select id="selectSysMessageNoticeById" parameterType="Long" resultMap="SysMessageNoticeResult">
select
<include refid="selectSysMessageNoticeVo"/>
from sys_message_notice
where id = #{id} and del_flag = 0 order by id desc
</select>
<insert id="insertSysMessageNotice" parameterType="SysMessageNotice">
insert into sys_message_notice
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="messageProperty != null">message_property,</if>
<if test="messageCustomer != null">message_customer,</if>
<if test="messageType != null">message_type,</if>
<if test="messageTitle != null">message_title,</if>
<if test="messageContent != null">message_content,</if>
<if test="readType != null">read_type,</if>
<if test="messageKey != null">message_key,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="messageProperty != null">#{messageProperty},</if>
<if test="messageCustomer != null">#{messageCustomer},</if>
<if test="messageType != null">#{messageType},</if>
<if test="messageTitle != null">#{messageTitle},</if>
<if test="messageContent != null">#{messageContent},</if>
<if test="readType != null">#{readType},</if>
<if test="messageKey != null">#{messageKey},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateSysMessageNotice" parameterType="SysMessageNotice">
update sys_message_notice
<trim prefix="SET" suffixOverrides=",">
<if test="messageProperty != null">message_property = #{messageProperty},</if>
<if test="messageCustomer != null">message_customer = #{messageCustomer},</if>
<if test="messageType != null">message_type = #{messageType},</if>
<if test="messageTitle != null">message_title = #{messageTitle},</if>
<if test="messageContent != null">message_content = #{messageContent},</if>
<if test="readType != null">read_type = #{readType},</if>
<if test="messageKey != null">message_key = #{messageKey},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<update id="deleteSysMessageNoticeById" parameterType="Long">
update sys_message_notice set del_flag = 1 where id = #{id}
</update>
<update id="deleteSysMessageNoticeByIds" parameterType="String">
update sys_message_notice set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 根据客户ID获取用户的消息 -->
<select id="getCustomerMessage" parameterType="SysMessageNotice" resultMap="SysMessageNoticeResponse">
select
smn.id, smn.message_property, smn.message_customer, smn.message_type, smn.message_title, smn.message_content, smn.read_type, smn.message_key, smn.create_time
from sys_message_notice smn
where smn.del_flag = 0 and (smn.message_property = 0 or smn.message_customer = #{messageCustomer})
<if test="readType != null">
and smn.read_type = #{readType}
</if>
<if test="messageType != null">
and smn.message_type = #{messageType}
</if>
order by smn.id desc
</select>
<!-- 根据客户ID获取用户的消息数量 -->
<select id="getCustomerMessageCount" parameterType="SysMessageNotice" resultType="int">
select count(smn.id)
from sys_message_notice smn
where smn.del_flag = 0 and (smn.message_property = 0 or smn.message_customer = #{messageCustomer})
<if test="readType != null">
and smn.read_type = #{readType}
</if>
<if test="messageType != null">
and smn.message_type = #{messageType}
</if>
</select>
</mapper>

View File

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.stdiet.custom.mapper.SysNutritionalVideoMapper">
<resultMap type="SysNutritionalVideo" id="SysNutritionalVideoResult">
<result property="id" column="id" />
<result property="cateId" column="cate_id" />
<result property="videoId" column="video_id" />
<result property="coverUrl" column="cover_url" />
<result property="title" column="title" />
<result property="description" column="description" />
<result property="videoSize" column="video_size" />
<result property="tags" column="tags" />
<result property="showFlag" column="show_flag" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSysNutritionalVideoVo">
select id, cate_id, video_id, cover_url, title, description, video_size, tags, show_flag, create_time, create_by, update_time, update_by, del_flag from sys_nutritional_video
</sql>
<select id="selectSysNutritionalVideoList" parameterType="SysNutritionalVideo" resultMap="SysNutritionalVideoResult">
<include refid="selectSysNutritionalVideoVo"/> where del_flag = 0
<if test="showFlag != null">
and show_flag = #{showFlag}
</if>
</select>
<select id="selectSysNutritionalVideoById" parameterType="Long" resultMap="SysNutritionalVideoResult">
<include refid="selectSysNutritionalVideoVo"/>
where id = #{id} and del_flag = 0
</select>
<insert id="insertSysNutritionalVideo" parameterType="SysNutritionalVideo" useGeneratedKeys="true" keyProperty="id">
insert into sys_nutritional_video
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="cateId != null">cate_id,</if>
<if test="videoId != null">video_id,</if>
<if test="coverUrl != null">cover_url,</if>
<if test="title != null">title,</if>
<if test="description != null">description,</if>
<if test="videoSize != null">video_size,</if>
<if test="tags != null">tags,</if>
<if test="showFlag != null">show_flag,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="cateId != null">#{cateId},</if>
<if test="videoId != null">#{videoId},</if>
<if test="coverUrl != null">#{coverUrl},</if>
<if test="title != null">#{title},</if>
<if test="description != null">#{description},</if>
<if test="videoSize != null">#{videoSize},</if>
<if test="tags != null">#{tags},</if>
<if test="showFlag != null">#{showFlag},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateSysNutritionalVideo" parameterType="SysNutritionalVideo">
update sys_nutritional_video
<trim prefix="SET" suffixOverrides=",">
<if test="cateId != null">cate_id = #{cateId},</if>
<if test="videoId != null">video_id = #{videoId},</if>
<if test="coverUrl != null">cover_url = #{coverUrl},</if>
<if test="title != null">title = #{title},</if>
<if test="description != null">description = #{description},</if>
<if test="videoSize != null">video_size = #{videoSize},</if>
<if test="tags != null">tags = #{tags},</if>
<if test="showFlag != null">show_flag = #{showFlag},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<update id="deleteSysNutritionalVideoById" parameterType="Long">
update sys_nutritional_video set del_flag = 1 where id = #{id}
</update>
<update id="deleteSysNutritionalVideoByIds" parameterType="String">
update sys_nutritional_video set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="selectSysNutritionalVideByVideoId" parameterType="String" resultMap="SysNutritionalVideoResult">
<include refid="selectSysNutritionalVideoVo"/> where video_id = #{videoId} and del_flag = 0 limit 1
</select>
</mapper>

View File

@ -66,5 +66,10 @@
</foreach>
</delete>
<!-- 根据体征名称查询体征ID -->
<select id="getSignIdByName" parameterType="String" resultType="Long">
select sps.id from sys_physical_signs sps where sps.name like concat('%', #{name}, '%')
</select>
</mapper>