合并
This commit is contained in:
		| @@ -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("二开提成单、体验单不支持更换营养师、售后"); | ||||
|   | ||||
| @@ -2,12 +2,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 +19,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 +35,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 +64,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,12 +77,11 @@ public class WechatAppletController extends BaseController { | ||||
|      * 查询客户案例文件列表 | ||||
|      */ | ||||
|     @GetMapping("/getFileByCaseId") | ||||
|     public AjaxResult getFileByCaseId(@RequestParam("caseId")String caseId) | ||||
|     { | ||||
|         Long id = StringUtils.isNotEmpty(caseId) ? Long.parseLong(AesUtils.decrypt(caseId, null)) : null; | ||||
|     public AjaxResult getFileByCaseId(@RequestParam("caseId") String caseId) { | ||||
|         Long id = StringUtils.isNotEmpty(caseId) ? Long.parseLong(AesUtils.decrypt(caseId, null)) : -1L; | ||||
|         CustomerCaseResponse customerCaseResponse = new CustomerCaseResponse(); | ||||
|         customerCaseResponse.setId(caseId); | ||||
|         if(id != null){ | ||||
|         if (id != -1) { | ||||
|             List<SysCustomerCaseFile> list = sysCustomerCaseService.getFileListByCaseId(id); | ||||
|             List<String> fileUrl = new ArrayList<>(); | ||||
|             for (SysCustomerCaseFile caseFile : list) { | ||||
| @@ -98,7 +89,7 @@ public class WechatAppletController extends BaseController { | ||||
|             } | ||||
|             List<String> downUrlList = AliyunOSSUtils.generatePresignedUrl(fileUrl); | ||||
|             customerCaseResponse.setFileList(downUrlList); | ||||
|         }else{ | ||||
|         } else { | ||||
|             customerCaseResponse.setFileList(new ArrayList<>()); | ||||
|         } | ||||
|         return AjaxResult.success(customerCaseResponse); | ||||
| @@ -106,26 +97,27 @@ public class WechatAppletController extends BaseController { | ||||
|  | ||||
|     /** | ||||
|      * 同步客户信息 | ||||
|      * | ||||
|      * @param sysWxUserInfo | ||||
|      * @return | ||||
|      */ | ||||
|     @PostMapping("/synchroCustomerInfo") | ||||
|     public AjaxResult synchroCustomerInfo(@RequestBody SysWxUserInfo sysWxUserInfo) { | ||||
|         if(StringUtils.isEmpty(sysWxUserInfo.getOpenid()) || StringUtils.isEmpty(sysWxUserInfo.getPhone())){ | ||||
|         if (StringUtils.isEmpty(sysWxUserInfo.getOpenid()) || StringUtils.isEmpty(sysWxUserInfo.getPhone())) { | ||||
|             return AjaxResult.error("手机号为空"); | ||||
|         } | ||||
|         // 查询微信用户 | ||||
|         SysWxUserInfo userInfo = sysWxUserInfoService.selectSysWxUserInfoById(sysWxUserInfo.getOpenid()); | ||||
|         if(userInfo != null){ | ||||
|         if (userInfo != null) { | ||||
|             //更新数据 | ||||
|             sysWxUserInfoService.updateSysWxUserInfo(sysWxUserInfo); | ||||
|         }else{ | ||||
|         } else { | ||||
|             sysWxUserInfoService.insertSysWxUserInfo(sysWxUserInfo); | ||||
|         } | ||||
|         Map<String,Object> result = new HashMap<>(); | ||||
|         Map<String, Object> result = new HashMap<>(); | ||||
|         //根据手机号查询返回用户加密ID | ||||
|         SysCustomer customer = sysCustomerService.getCustomerByPhone(sysWxUserInfo.getPhone()); | ||||
|         result.put("customerId", customer != null ? AesUtils.encrypt(customer.getId()+"", null) : null); | ||||
|         result.put("customerId", customer != null ? AesUtils.encrypt(customer.getId() + "", null) : null); | ||||
|         //查询未读消息数量 | ||||
|         SysMessageNotice messageParam = new SysMessageNotice(); | ||||
|         messageParam.setReadType(0); | ||||
| @@ -137,27 +129,28 @@ public class WechatAppletController extends BaseController { | ||||
|  | ||||
|     /** | ||||
|      * 微信小程序获取客户打卡记录 | ||||
|      * | ||||
|      * @param sysWxUserLog | ||||
|      * @return | ||||
|      */ | ||||
|     @GetMapping(value = "/getPunchLogs") | ||||
|     public AjaxResult getPunchLogs(SysWxUserLog sysWxUserLog) { | ||||
|         if(StringUtils.isEmpty(sysWxUserLog.getPhone()) && StringUtils.isEmpty(sysWxUserLog.getOpenid())){ | ||||
|             return  AjaxResult.error(5001, "缺少参数"); | ||||
|         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){ | ||||
|         if (orderCount > 0) { | ||||
|             Map<String, Object> result = new HashMap<>(); | ||||
|             //今日是否已打卡 | ||||
|             boolean isPunch = false; | ||||
|             startPage(); | ||||
|             List<WxLogInfo> list = sysWxUserLogService.getWxLogInfoList(sysWxUserLog); | ||||
|             if(list.size() > 0){ | ||||
|             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) { | ||||
|                 if (lastLog.getDate() != null && ChronoUnit.DAYS.between(DateUtils.stringToLocalDate(lastLog.getDate(), "yyyy-MM-dd"), LocalDate.now()) == 0) { | ||||
|                     isPunch = true; | ||||
|                 } | ||||
|             } | ||||
| @@ -171,13 +164,14 @@ public class WechatAppletController extends BaseController { | ||||
|             result.put("isPunch", isPunch); | ||||
|             result.put("tableDataInfo", tableDataInfo); | ||||
|             return AjaxResult.success(result); | ||||
|         }else{ | ||||
|         } else { | ||||
|             return AjaxResult.error(5002, "未查询到相关订单信息"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 今日是否打卡 | ||||
|      * | ||||
|      * @param openid | ||||
|      * @return | ||||
|      */ | ||||
| @@ -192,6 +186,7 @@ public class WechatAppletController extends BaseController { | ||||
|  | ||||
|     /** | ||||
|      * 微信小程序打卡 | ||||
|      * | ||||
|      * @param sysWxUserLog | ||||
|      * @return | ||||
|      */ | ||||
| @@ -202,24 +197,22 @@ public class WechatAppletController extends BaseController { | ||||
|         if (userInfo == null || StringUtils.isEmpty(userInfo.getPhone())) { | ||||
|             return AjaxResult.error("打卡失败"); | ||||
|         } | ||||
|         if(sysWxUserLog.getId() == null){ | ||||
|         if (sysWxUserLog.getId() == null) { | ||||
|             //查询今日是否已打卡 | ||||
|             if(sysWxUserLog.getLogTime() == null){ | ||||
|             if (sysWxUserLog.getLogTime() == null) { | ||||
|                 sysWxUserLog.setLogTime(new Date()); | ||||
|             } | ||||
|             int count = sysWxUserLogService.checkWxLogInfoCount(sysWxUserLog); | ||||
|             if(count > 0){ | ||||
|             if (count > 0) { | ||||
|                 return AjaxResult.error("今日已打卡,不可重复打卡"); | ||||
|             } | ||||
|             return toAjax(sysWxUserLogService.insertSysWxUserLog(sysWxUserLog)); | ||||
|         }else{ | ||||
|         } else { | ||||
|             return toAjax(sysWxUserLogService.updateSysWxUserLog(sysWxUserLog)); | ||||
|         } | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public static final String[] imageName = {"breakfastImages", "lunchImages", "dinnerImages", "extraMealImages", "bodyImages"}; | ||||
|  | ||||
|     /** | ||||
|      * 获取微信用户记录详细信息 | ||||
|      */ | ||||
| @@ -230,7 +223,7 @@ public class WechatAppletController extends BaseController { | ||||
|         SysWxUserLog param = new SysWxUserLog(); | ||||
|         param.setId(Long.parseLong(id)); | ||||
|         sysWxUserLog = sysWxUserLogService.getWxLogInfoDetailById(param); | ||||
|         if(sysWxUserLog == null){ | ||||
|         if (sysWxUserLog == null) { | ||||
|             return AjaxResult.error("打卡记录不存在"); | ||||
|         } | ||||
|         Map<String, List<String>> imageUrlMap = new HashMap<>(); | ||||
| @@ -247,10 +240,10 @@ public class WechatAppletController extends BaseController { | ||||
|         imageUrlMap.put(imageName[3], extraMealImagesUrlList); | ||||
|  | ||||
|         List<String> bodyImagesUrlList = StringUtils.isNotEmpty(sysWxUserLog.getBodyImages()) ? Arrays.asList(sysWxUserLog.getBodyImages().split("\\|")) : new ArrayList<>(); | ||||
|         imageUrlMap.put(imageName[4], bodyImagesUrlList ); | ||||
|         imageUrlMap.put(imageName[4], bodyImagesUrlList); | ||||
|  | ||||
|         //生成预览链接 | ||||
|         Map<String,List<String>> downUrlList = AliyunOSSUtils.generatePresignedUrl(imageUrlMap); | ||||
|         Map<String, List<String>> downUrlList = AliyunOSSUtils.generatePresignedUrl(imageUrlMap); | ||||
|  | ||||
|         sysWxUserLog.setBreakfastImagesUrl(downUrlList.get(imageName[0])); | ||||
|         sysWxUserLog.setLunchImagesUrl(downUrlList.get(imageName[1])); | ||||
| @@ -275,12 +268,13 @@ public class WechatAppletController extends BaseController { | ||||
|  | ||||
|     /** | ||||
|      * 处理返回值的ID加密 | ||||
|      * | ||||
|      * @param list | ||||
|      * @return | ||||
|      */ | ||||
|     private void dealIdEnc(List<CustomerCaseResponse> list){ | ||||
|     private void dealIdEnc(List<CustomerCaseResponse> list) { | ||||
|         for (CustomerCaseResponse cus : list) { | ||||
|             cus.setId(AesUtils.encrypt(cus.getId()+"", null)); | ||||
|             cus.setId(AesUtils.encrypt(cus.getId() + "", null)); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -318,9 +312,9 @@ public class WechatAppletController extends BaseController { | ||||
|      * 获取小程序展示的营养小知识列表 | ||||
|      */ | ||||
|     @GetMapping(value = "/getNutritionQuestionList") | ||||
|     public AjaxResult getNutritionQuestionList(SysNutritionQuestion sysNutritionQuestion, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,  @RequestParam(value = "pageSize", defaultValue = "10")int pageSize) { | ||||
|     public AjaxResult getNutritionQuestionList(SysNutritionQuestion sysNutritionQuestion, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) { | ||||
|         sysNutritionQuestion.setShowFlag(1); | ||||
|         Map<String,Object> result = sysNutritionQuestionService.getNutritionQuestionListByKey(sysNutritionQuestion, pageNum, pageSize); | ||||
|         Map<String, Object> result = sysNutritionQuestionService.getNutritionQuestionListByKey(sysNutritionQuestion, pageNum, pageSize); | ||||
|         return AjaxResult.success(result); | ||||
|     } | ||||
|  | ||||
| @@ -328,9 +322,8 @@ public class WechatAppletController extends BaseController { | ||||
|      * 新增营养小知识提问 | ||||
|      */ | ||||
|     @PostMapping("/addAskNutritionQuestion") | ||||
|     public AjaxResult addAskNutritionQuestion(@RequestBody SysAskNutritionQuestion sysAskNutritionQuestion) | ||||
|     { | ||||
|         if(StringUtils.isEmpty(sysAskNutritionQuestion.getOpenid()) || StringUtils.isEmpty(sysAskNutritionQuestion.getQuestion())){ | ||||
|     public AjaxResult addAskNutritionQuestion(@RequestBody SysAskNutritionQuestion sysAskNutritionQuestion) { | ||||
|         if (StringUtils.isEmpty(sysAskNutritionQuestion.getOpenid()) || StringUtils.isEmpty(sysAskNutritionQuestion.getQuestion())) { | ||||
|             return AjaxResult.error("添加失败"); | ||||
|         } | ||||
|         return toAjax(sysAskNutritionQuestionService.insertSysAskNutritionQuestion(sysAskNutritionQuestion)); | ||||
| @@ -342,11 +335,9 @@ public class WechatAppletController extends BaseController { | ||||
|     @GetMapping(value = "/getCustomerMessage") | ||||
|     public TableDataInfo getCustomerMessage(SysMessageNotice sysMessageNotice) { | ||||
|         startPage(); | ||||
|         if(StringUtils.isNotEmpty(sysMessageNotice.getCustomerId())){ | ||||
|             sysMessageNotice.setMessageCustomer(Long.parseLong(AesUtils.decrypt(sysMessageNotice.getCustomerId(), null))); | ||||
|         }else{ | ||||
|             sysMessageNotice.setMessageCustomer(0L); | ||||
|         } | ||||
|         Long cusId = StringUtils.isNotEmpty(sysMessageNotice.getCustomerId()) ? Long.parseLong(AesUtils.decrypt(sysMessageNotice.getCustomerId())) : 0L; | ||||
|  | ||||
|         sysMessageNotice.setMessageCustomer(cusId); | ||||
|         List<MessageNoticeResponse> list = sysMessageNoticeService.getCustomerMessage(sysMessageNotice); | ||||
|         return getDataTable(list); | ||||
|     } | ||||
| @@ -355,7 +346,7 @@ public class WechatAppletController extends BaseController { | ||||
|      * 更新用户通知消息已读状态 | ||||
|      */ | ||||
|     @GetMapping(value = "/updateMessageReadStatus") | ||||
|     public AjaxResult updateMessageReadStatus(@RequestParam("id")Long id) { | ||||
|     public AjaxResult updateMessageReadStatus(@RequestParam("id") Long id) { | ||||
|         SysMessageNotice sysMessageNotice = new SysMessageNotice(); | ||||
|         sysMessageNotice.setReadType(1); | ||||
|         sysMessageNotice.setId(id); | ||||
| @@ -413,4 +404,43 @@ public class WechatAppletController extends BaseController { | ||||
|         } | ||||
|         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); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         curWxUserInfo.setCustomerId(AesUtils.encrypt(curWxUserInfo.getCusId().toString())); | ||||
|  | ||||
|         // 并返回一系列登录后的数据 | ||||
|         return AjaxResult.success(curWxUserInfo); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user