!233 修改微信基础数据

Merge pull request !233 from 德仔/develop
This commit is contained in:
德仔 2021-05-07 16:39:09 +08:00 committed by Gitee
commit 0225b91e92
10 changed files with 176 additions and 177 deletions

View File

@ -111,12 +111,14 @@ public class SysOrderNutritionistReplaceRecordController extends BaseController
return AjaxResult.error("开始时间不能小于"+ DateUtils.dateTime(sysOrder.getCommissStartTime()));
}
//更换的售后或营养师不能与原订单一致
if(sysOrderNutritionistReplaceRecord.getNutritionistId() != null && sysOrder.getNutritionistId().longValue() == sysOrderNutritionistReplaceRecord.getNutritionistId().longValue()){
return AjaxResult.error("更换的营养师与原订单营养师不能相同");
}
if(sysOrderNutritionistReplaceRecord.getAfterSaleId() != null && sysOrder.getAfterSaleId().longValue() == sysOrderNutritionistReplaceRecord.getAfterSaleId().longValue()){
return AjaxResult.error("更换的售后与原订单售后不能相同");
}
// if(sysOrderNutritionistReplaceRecord.getNutritionistId() != null && sysOrder.getNutritionistId().longValue() == sysOrderNutritionistReplaceRecord.getNutritionistId().longValue()){
// return AjaxResult.error("更换的营养师与原订单营养师不能相同");
// }
// if(sysOrderNutritionistReplaceRecord.getAfterSaleId() != null && sysOrder.getAfterSaleId().longValue() == sysOrderNutritionistReplaceRecord.getAfterSaleId().longValue()){
// return AjaxResult.error("更换的售后与原订单售后不能相同");
// }
//体验单二开售后提成单都不支持更换营养师和售后
if(sysOrder.getAfterSaleCommissOrder().intValue() == 1 || "2".equals(sysOrder.getOrderType())){
return AjaxResult.error("二开提成单、体验单不支持更换营养师、售后");

View File

@ -3,11 +3,9 @@ package com.stdiet.web.controller.custom;
import com.aliyun.vod20170321.models.GetPlayInfoResponseBody;
import com.aliyun.vod20170321.models.GetVideoInfoResponseBody;
import com.aliyun.vod20170321.models.GetVideoListResponseBody;
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.enums.BusinessType;
import com.stdiet.common.exception.file.FileNameLengthLimitExceededException;
import com.stdiet.common.utils.AliyunVideoUtils;
import com.stdiet.common.utils.DateUtils;
@ -22,9 +20,7 @@ import com.stdiet.custom.dto.response.MessageNoticeResponse;
import com.stdiet.custom.dto.response.NutritionalVideoResponse;
import com.stdiet.custom.page.WxLogInfo;
import com.stdiet.custom.service.*;
import org.aspectj.weaver.loadtime.Aj;
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;
@ -40,23 +36,21 @@ import java.util.*;
public class WechatAppletController extends BaseController {
public static final String[] imageName = {"breakfastImages", "lunchImages", "dinnerImages", "extraMealImages", "bodyImages"};
@Autowired
private ISysCustomerCaseService sysCustomerCaseService;
@Autowired
private ISysWxUserLogService sysWxUserLogService;
@Autowired
private ISysWxUserInfoService sysWxUserInfoService;
@Autowired
private ISysOrderService sysOrderService;
@Autowired
private ISysNutritionQuestionService sysNutritionQuestionService;
@Autowired
private ISysAskNutritionQuestionService sysAskNutritionQuestionService;
@Autowired
private ISysCustomerService iSysCustomerService;
@Autowired
private ISysMessageNoticeService sysMessageNoticeService;
@ -71,8 +65,7 @@ public class WechatAppletController extends BaseController {
* 查询微信小程序中展示的客户案例
*/
@GetMapping("/caseList")
public TableDataInfo caseList(SysCustomerCase sysCustomerCase)
{
public TableDataInfo caseList(SysCustomerCase sysCustomerCase) {
startPage();
sysCustomerCase.setKeywordArray(StringUtils.isNotEmpty(sysCustomerCase.getKeyword()) ? sysCustomerCase.getKeyword().split(",") : null);
List<CustomerCaseResponse> list = sysCustomerCaseService.getWxCustomerCaseList(sysCustomerCase);
@ -85,8 +78,7 @@ public class WechatAppletController extends BaseController {
* 查询客户案例文件列表
*/
@GetMapping("/getFileByCaseId")
public AjaxResult getFileByCaseId(@RequestParam("caseId")String caseId)
{
public AjaxResult getFileByCaseId(@RequestParam("caseId") String caseId) {
Long id = StringUtils.isNotEmpty(caseId) ? Long.parseLong(AesUtils.decrypt(caseId, null)) : null;
CustomerCaseResponse customerCaseResponse = new CustomerCaseResponse();
customerCaseResponse.setId(caseId);
@ -106,6 +98,7 @@ public class WechatAppletController extends BaseController {
/**
* 同步客户信息
*
* @param sysWxUserInfo
* @return
*/
@ -137,6 +130,7 @@ public class WechatAppletController extends BaseController {
/**
* 微信小程序获取客户打卡记录
*
* @param sysWxUserLog
* @return
*/
@ -178,6 +172,7 @@ public class WechatAppletController extends BaseController {
/**
* 今日是否打卡
*
* @param openid
* @return
*/
@ -192,6 +187,7 @@ public class WechatAppletController extends BaseController {
/**
* 微信小程序打卡
*
* @param sysWxUserLog
* @return
*/
@ -218,8 +214,6 @@ public class WechatAppletController extends BaseController {
}
public static final String[] imageName = {"breakfastImages", "lunchImages", "dinnerImages", "extraMealImages", "bodyImages"};
/**
* 获取微信用户记录详细信息
*/
@ -275,6 +269,7 @@ public class WechatAppletController extends BaseController {
/**
* 处理返回值的ID加密
*
* @param list
* @return
*/
@ -328,8 +323,7 @@ public class WechatAppletController extends BaseController {
* 新增营养小知识提问
*/
@PostMapping("/addAskNutritionQuestion")
public AjaxResult addAskNutritionQuestion(@RequestBody SysAskNutritionQuestion sysAskNutritionQuestion)
{
public AjaxResult addAskNutritionQuestion(@RequestBody SysAskNutritionQuestion sysAskNutritionQuestion) {
if (StringUtils.isEmpty(sysAskNutritionQuestion.getOpenid()) || StringUtils.isEmpty(sysAskNutritionQuestion.getQuestion())) {
return AjaxResult.error("添加失败");
}
@ -403,4 +397,41 @@ public class WechatAppletController extends BaseController {
result.put("videoDetail", nutritionalVideoResponse);
return result;
}
@PostMapping("/login")
public AjaxResult login(@RequestBody SysWxUserInfo sysWxUserInfo) {
if (StringUtils.isEmpty(sysWxUserInfo.getOpenid())) {
return AjaxResult.error("缺少参数openid");
}
SysWxUserInfo curWxUserInfo = sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserInfo.getOpenid());
// 第一次尝试匹配搜索sys_wx_user_info表尝试查找cus_id此时不需要手机号
if (StringUtils.isEmpty(sysWxUserInfo.getPhone()) && (StringUtils.isNull(curWxUserInfo) || StringUtils.isNull(curWxUserInfo.getCusId()))) {
// 如果没找到任何信息此时为未登录过的新用户 || 没有cusId没有创建用户信息
return AjaxResult.error(5000, "需要手机号进一步匹配");
}
// 第二次尝试匹配带上手机号先去sys_customer查找找到就更新sys_wx_user_info表并返回一系列登录后的数据
if (StringUtils.isNotEmpty(sysWxUserInfo.getPhone())) {
SysCustomer sysCustomer = iSysCustomerService.getCustomerByPhone(sysWxUserInfo.getPhone());
if (StringUtils.isNull(sysCustomer)) {
return AjaxResult.error(5003, "未查到用户信息,请联系销售顾问");
}
if (StringUtils.isNull(curWxUserInfo)) {
// 新增sys_wx_user_info
sysWxUserInfo.setCusId(sysCustomer.getId());
sysWxUserInfo.setCreateTime(DateUtils.getNowDate());
sysWxUserInfoService.insertSysWxUserInfo(sysWxUserInfo);
} else {
// 更新sys_wx_user_info数据
curWxUserInfo.setCusId(sysCustomer.getId());
curWxUserInfo.setUpdateTime(DateUtils.getNowDate());
sysWxUserInfoService.updateSysWxUserInfo(curWxUserInfo);
}
}
// 并返回一系列登录后的数据
return AjaxResult.success(curWxUserInfo);
}
}

View File

@ -1,9 +1,10 @@
package com.stdiet.custom.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.stdiet.common.annotation.Excel;
import com.stdiet.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
/**
* 微信用户对象 sys_wx_user_info
@ -11,144 +12,77 @@ import com.stdiet.common.core.domain.BaseEntity;
* @author wonder
* @date 2020-11-28
*/
public class SysWxUserInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
@Data
public class SysWxUserInfo {
/** 微信openid */
/**
* 微信openid
*/
private String openid;
/** 昵称 */
@JsonIgnore
private Long cusId;
private String customerId;
/**
* 昵称
*/
@Excel(name = "昵称")
private String nickName;
/** 微信appid */
/**
* 微信appid
*/
@Excel(name = "微信appid")
private String appid;
/** 电话 */
/**
* 电话
*/
@Excel(name = "电话")
private String phone;
/** 用户头像 */
/**
* 用户头像
*/
@Excel(name = "用户头像")
private String avatarUrl;
/** 用户性别0男 1女 2未知 */
/**
* 用户性别0男 1女 2未知
*/
@Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
private String sex;
/** 城市 */
/**
* 城市
*/
@Excel(name = "城市")
private String city;
/** 省份 */
/**
* 省份
*/
@Excel(name = "省份")
private String province;
/** 国家 */
private String language;
/**
* 国家
*/
@Excel(name = "国家")
private String country;
public void setOpenid(String openid)
{
this.openid = openid;
}
private Date createTime;
public String getOpenid()
{
return openid;
}
public void setNickName(String nickName)
{
this.nickName = nickName;
}
private String createBy;
public String getNickName()
{
return nickName;
}
public void setAppid(String appid)
{
this.appid = appid;
}
private Date updateTime;
public String getAppid()
{
return appid;
}
public void setPhone(String phone)
{
this.phone = phone;
}
private String updateBy;
public String getPhone()
{
return phone;
}
public void setAvatarUrl(String avatarUrl)
{
this.avatarUrl = avatarUrl;
}
private String remark;
public String getAvatarUrl()
{
return avatarUrl;
}
public void setSex(String sex)
{
this.sex = sex;
}
public String getSex()
{
return sex;
}
public void setCity(String city)
{
this.city = city;
}
public String getCity()
{
return city;
}
public void setProvince(String province)
{
this.province = province;
}
public String getProvince()
{
return province;
}
public void setCountry(String country)
{
this.country = country;
}
public String getCountry()
{
return country;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("openid", getOpenid())
.append("nickName", getNickName())
.append("appid", getAppid())
.append("phone", getPhone())
.append("avatarUrl", getAvatarUrl())
.append("sex", getSex())
.append("city", getCity())
.append("province", getProvince())
.append("country", getCountry())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -69,7 +69,10 @@ public class SysCustomerServiceImpl implements ISysCustomerService {
@Override
public int insertSysCustomer(SysCustomer sysCustomer) {
sysCustomer.setCreateTime(DateUtils.getNowDate());
return sysCustomerMapper.insertSysCustomer(sysCustomer);
sysCustomerMapper.insertSysCustomer(sysCustomer);
SysCustomer mCustomer = new SysCustomer();
mCustomer.setId(sysCustomer.getId());
return sysCustomerMapper.updateSysCustomer(mCustomer);
}
/**

View File

@ -279,6 +279,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
planStartDate = serverEndDate;
breakFlag = false;
}
if(planEndDate == planStartDate && StringUtils.isNotEmpty(pauseResult)) {
continue;
}
//暂停日期
sysRecipesPlan.setPauseDate(pauseResult[3]);
sysRecipesPlan.setStartDate(DateUtils.localDateToDate(planStartDate));

View File

@ -129,6 +129,7 @@
<update id="updateSysCustomer" parameterType="SysCustomer">
update sys_customer
<trim prefix="SET" suffixOverrides=",">
<if test="id != null">out_id = md5(#{id}),</if>
<if test="name != null">name = #{name},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="fansTime != null">fans_time = #{fansTime},</if>

View File

@ -80,6 +80,7 @@
insert into sys_customer_physical_signs
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="customerId != null">customer_id,</if>
<if test="customerId != null">out_id,</if>
<if test="sex != null">sex,</if>
<if test="age != null">age,</if>
<if test="tall != null">tall,</if>
@ -117,6 +118,7 @@
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="customerId != null">#{customerId},</if>
<if test="customerId != null">md5#{customerId},</if>
<if test="sex != null">#{sex},</if>
<if test="age != null">#{age},</if>
<if test="tall != null">#{tall},</if>
@ -158,6 +160,7 @@
update sys_customer_physical_signs
<trim prefix="SET" suffixOverrides=",">
<if test="customerId != null">customer_id = #{customerId},</if>
<if test="customerId != null">out_id = md5(#{customerId}),</if>
<if test="sex != null">sex = #{sex},</if>
<if test="age != null">age = #{age},</if>
<if test="tall != null">tall = #{tall},</if>

View File

@ -206,6 +206,7 @@
<if test="orderId != null">order_id,</if>
<if test="customer != null and customer != ''">customer,</if>
<if test="cusId != null">cus_id,</if>
<if test="cusId != null">out_id,</if>
<if test="phone != null">phone,</if>
<if test="payTypeId != null">pay_type_id,</if>
<if test="reviewStatus != null">review_status,</if>
@ -248,6 +249,7 @@
<if test="orderId != null">#{orderId},</if>
<if test="customer != null and customer != ''">#{customer},</if>
<if test="cusId != null">#{cusId},</if>
<if test="cusId != null">md5(#{cusId}),</if>
<if test="phone != null">#{phone},</if>
<if test="payTypeId != null">#{payTypeId},</if>
<if test="reviewStatus != null">#{reviewStatus},</if>

View File

@ -6,6 +6,8 @@
<resultMap type="SysWxUserInfo" id="SysWxUserInfoResult">
<result property="openid" column="openid"/>
<result property="cusId" column="cus_id"/>
<result property="customerId" column="out_id"/>
<result property="nickName" column="nick_name"/>
<result property="appid" column="appid"/>
<result property="phone" column="phone"/>
@ -19,10 +21,11 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="remark" column="remark"/>
<result property="language" column="language"/>
</resultMap>
<sql id="selectSysWxUserInfoVo">
select openid, nick_name, appid, phone, avatar_url, sex, city, province, country, create_by, create_time, update_by, update_time, remark from sys_wx_user_info
select * from sys_wx_user_info
</sql>
<select id="selectSysWxUserInfoList" parameterType="SysWxUserInfo" resultMap="SysWxUserInfoResult">
@ -54,6 +57,8 @@
<if test="openid != null">openid,</if>
<if test="nickName != null">nick_name,</if>
<if test="appid != null">appid,</if>
<if test="cusId != null">cus_id,</if>
<if test="cusId != null">out_id,</if>
<if test="phone != null">phone,</if>
<if test="avatarUrl != null">avatar_url,</if>
<if test="sex != null">sex,</if>
@ -65,11 +70,14 @@
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="language != null">language,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="openid != null">#{openid},</if>
<if test="nickName != null">#{nickName},</if>
<if test="appid != null">#{appid},</if>
<if test="cusId != null">#{cusId},</if>
<if test="cusId != null">md5(#{cusId}),</if>
<if test="phone != null">#{phone},</if>
<if test="avatarUrl != null">#{avatarUrl},</if>
<if test="sex != null">#{sex},</if>
@ -81,6 +89,7 @@
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="language != null">#{language},</if>
</trim>
</insert>
@ -89,6 +98,8 @@
<trim prefix="SET" suffixOverrides=",">
<if test="nickName != null">nick_name = #{nickName},</if>
<if test="appid != null">appid = #{appid},</if>
<if test="cusId != null">cus_id = #{cusId},</if>
<if test="cusId != null">out_id = md5(#{cusId}),</if>
<if test="phone != null">phone = #{phone},</if>
<if test="avatarUrl != null">avatar_url = #{avatarUrl},</if>
<if test="sex != null">sex = #{sex},</if>
@ -100,6 +111,7 @@
<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="language != null">language = #{language},</if>
</trim>
where openid = #{openid}
</update>

View File

@ -18,6 +18,7 @@
<div v-loading="loading">
<div class="content">
<MenuDetail :value="menuData" :date="curDate" />
<div class="bei_an">粤ICP备2020073675</div>
</div>
</div>
@ -204,6 +205,13 @@ export default {
.content {
height: calc(100vh - 44px);
overflow: auto;
.bei_an {
text-align: center;
padding: 8px;
font-size: 12px;
color: #8c8c8c;
}
}
}
</style>