Ver Fonte

修改bug

jinshihui há 1 dia atrás
pai
commit
622aeaad41

+ 2 - 2
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/TOrderController.java

@@ -132,6 +132,7 @@ public class TOrderController extends BaseController {
     @RequestMapping(value = "wx/pay", method = RequestMethod.POST)
     public R pay(@RequestBody TOrder order) {
         try {
+            log.info("支付订单接口前端传递的参数:{}", JSON.toJSONString(order));
             return orderService.payOrder(order);
         } catch (ServiceException s) {
             log.error(s.toString());
@@ -371,7 +372,6 @@ public class TOrderController extends BaseController {
     }
 
 
-
     @ApiOperation("更新订单数据")
     @Log(title = "更新订单数据", businessType = BusinessType.OTHER)
     @RequestMapping(value = "/update", method = RequestMethod.POST)
@@ -417,7 +417,7 @@ public class TOrderController extends BaseController {
     /**
      * 分页查询订单分配操作记录
      *
-     * @param page 分页参数
+     * @param page    分页参数
      * @param orderNo 订单号
      * @return R 分页结果
      */

+ 3 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WeChatController.java

@@ -284,10 +284,13 @@ public class WeChatController extends BaseController {
         String encryptMsg = weChatUtil.mapToXml(returnMap).toString();
         return encryptMsg;
     }
+
+
     /**
      * 获取微信code
      *
      * @param state 状态参数
+     * @return String
      */
     @ApiOperation("获取微信code")
     @Log(title = "获取微信code", businessType = BusinessType.OTHER)

+ 50 - 42
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/WeSqController.java

@@ -21,6 +21,7 @@ import com.ylx.massage.utils.WeChatUtil;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Controller;
@@ -66,54 +67,61 @@ public class WeSqController extends BaseController {
      * @return 访问令牌
      */
     @GetMapping("/getAccessToken")
-    @Log(title = "公众号网页登录", businessType = BusinessType.OTHER)
+    //@Log(title = "公众号网页登录", businessType = BusinessType.OTHER)
     public R<WxLoginUser> getAccessToken(@RequestParam String code) {
-
         // 发送get请求获取 AccessToken
-        Map<?, ?> result = weChatUtil.getAccessToken(code);
-        String accessToken = result.get(ACCESS_TOKEN).toString();
-        String refreshToken = result.get(REFRESH_TOKEN).toString();
-        String openid = result.get(OPEN_ID).toString();
-
-        // 如果用户是第一次进行微信公众号授权
-        // 进行这一步时用户应点击了同意授权按钮
-        String userInfoJsom = weChatUtil.getUserInfo(accessToken, openid);
-        // 解析JSON数据
-        JSONObject jsonObject = new JSONObject(userInfoJsom);
-        log.info("公众号网页登录,{}",jsonObject);
-        // 将用户信息保存到数据库中
-        LambdaQueryWrapper<TWxUser> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        objectLambdaQueryWrapper.eq(TWxUser::getcOpenid, openid);
-        TWxUser user = wxUserService.getOne(objectLambdaQueryWrapper);
-        if (user == null || StringUtils.isEmpty(user.getcNickName())) {
-            if(user == null){
-                user = new TWxUser();
+        try {
+            Map<?, ?> result = weChatUtil.getAccessToken(code);
+            log.info("result的值:{}", result);
+            String accessToken = result.get(ACCESS_TOKEN).toString();
+            log.info("accessToken的值:{}", accessToken);
+            String refreshToken = result.get(REFRESH_TOKEN).toString();
+            String openid = result.get(OPEN_ID).toString();
+
+            // 如果用户是第一次进行微信公众号授权
+            // 进行这一步时用户应点击了同意授权按钮
+            String userInfoJsom = weChatUtil.getUserInfo(accessToken, openid);
+            // 解析JSON数据
+            JSONObject jsonObject = new JSONObject(userInfoJsom);
+            log.info("公众号网页登录:{}",jsonObject);
+            // 将用户信息保存到数据库中
+            LambdaQueryWrapper<TWxUser> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            objectLambdaQueryWrapper.eq(TWxUser::getcOpenid, openid);
+            TWxUser user = wxUserService.getOne(objectLambdaQueryWrapper);
+            if (user == null || StringUtils.isEmpty(user.getcNickName())) {
+                if(user == null){
+                    user = new TWxUser();
+                    user.setcOpenid(openid);
+                    TWxUser finalUser = user;
+                    //异步 添加新人优惠卷
+    //                threadPoolTaskExecutor.submit(() -> couponReceiveService.submit(new CouponReceive().setOpenid(finalUser.getcOpenid()).setCouponId("1")));
+                }
                 user.setcOpenid(openid);
-                TWxUser finalUser = user;
-                //异步 添加新人优惠卷
-//                threadPoolTaskExecutor.submit(() -> couponReceiveService.submit(new CouponReceive().setOpenid(finalUser.getcOpenid()).setCouponId("1")));
+                user.setcNickName(jsonObject.get("nickname").toString());
+                user.setcIcon(jsonObject.get("headimgurl").toString());
+                user.setcSessionKey(refreshToken);
+    //            user.setcPhone(phoneNumber);
+                wxUserService.saveOrUpdate(user);
+                user.setId(user.getId());
             }
-            user.setcOpenid(openid);
-            user.setcNickName(jsonObject.get("nickname").toString());
-            user.setcIcon(jsonObject.get("headimgurl").toString());
-            user.setcSessionKey(refreshToken);
-//            user.setcPhone(phoneNumber);
-            wxUserService.saveOrUpdate(user);
-            user.setId(user.getId());
-        }
 
-        WxLoginUser wxUser = new WxLoginUser();
-        BeanUtils.copyProperties(user, wxUser);
-        // 生成并返回令牌
-        String token = wxTokenService.createToken(wxUser);
-        if (token == null || token.isEmpty()) {
-            return R.fail("生成令牌失败");
+            WxLoginUser wxUser = new WxLoginUser();
+            BeanUtils.copyProperties(user, wxUser);
+            // 生成并返回令牌
+            String token = wxTokenService.createToken(wxUser);
+            log.info("token的值:{}", token);
+            if (token == null || token.isEmpty()) {
+                return R.fail("生成令牌失败");
+            }
+            wxUser.setToken(token);
+            // 返回用户信息
+            // 记录登录信息
+            AsyncManager.me().execute(AsyncFactory.recordLogininfor(wxUser.getCOpenid(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+            return R.ok(wxUser);
+        } catch (BeansException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
         }
-        wxUser.setToken(token);
-        // 返回用户信息
-        // 记录登录信息
-        AsyncManager.me().execute(AsyncFactory.recordLogininfor(wxUser.getCOpenid(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
-        return R.ok(wxUser);
     }
 
 }

+ 5 - 0
nightFragrance-common/src/main/java/com/ylx/common/utils/SecurityUtils.java

@@ -5,6 +5,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import com.ylx.common.core.domain.model.WxLoginUser;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@@ -20,6 +21,7 @@ import com.ylx.common.exception.ServiceException;
  *
  * @author ylx
  */
+@Slf4j
 public class SecurityUtils {
 
     /**
@@ -63,6 +65,9 @@ public class SecurityUtils {
      **/
     public static LoginUser getLoginUser() {
         try {
+            Object principal = getAuthentication().getPrincipal();
+            log.info("principal的值: {}", principal);
+
             return (LoginUser) getAuthentication().getPrincipal();
         } catch (Exception e) {
             e.printStackTrace();

+ 41 - 72
nightFragrance-framework/src/main/java/com/ylx/framework/aspectj/LogAspect.java

@@ -4,6 +4,7 @@ import java.util.Collection;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
 import com.ylx.common.core.domain.model.WxLoginUser;
 import com.ylx.common.exception.ServiceException;
 import org.apache.commons.lang3.ArrayUtils;
@@ -41,25 +42,27 @@ import com.ylx.system.domain.SysOperLog;
  */
 @Aspect
 @Component
-public class LogAspect
-{
+public class LogAspect {
     // 令牌自定义标识
     @Value("${token.header}")
     private String header;
     private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
 
-    /** 排除敏感属性字段 */
-    public static final String[] EXCLUDE_PROPERTIES = { "password", "oldPassword", "newPassword", "confirmPassword" };
+    /**
+     * 排除敏感属性字段
+     */
+    public static final String[] EXCLUDE_PROPERTIES = {"password", "oldPassword", "newPassword", "confirmPassword"};
 
-    /** 计算操作消耗时间 */
+    /**
+     * 计算操作消耗时间
+     */
     private static final ThreadLocal<Long> TIME_THREADLOCAL = new NamedThreadLocal<Long>("Cost Time");
 
     /**
      * 处理请求前执行
      */
     @Before(value = "@annotation(controllerLog)")
-    public void boBefore(JoinPoint joinPoint, Log controllerLog)
-    {
+    public void boBefore(JoinPoint joinPoint, Log controllerLog) {
         TIME_THREADLOCAL.set(System.currentTimeMillis());
     }
 
@@ -69,8 +72,7 @@ public class LogAspect
      * @param joinPoint 切点
      */
     @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult")
-    public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult)
-    {
+    public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult) {
         handleLog(joinPoint, controllerLog, null, jsonResult);
     }
 
@@ -78,18 +80,15 @@ public class LogAspect
      * 拦截异常操作
      *
      * @param joinPoint 切点
-     * @param e 异常
+     * @param e         异常
      */
     @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e")
-    public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e)
-    {
+    public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) {
         handleLog(joinPoint, controllerLog, e, null);
     }
 
-    protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult)
-    {
-        try
-        {
+    protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) {
+        try {
             // 获取当前的用户
             LoginUser loginUser = null;
             try {
@@ -105,15 +104,13 @@ public class LogAspect
             String ip = IpUtils.getIpAddr();
             operLog.setOperIp(ip);
             operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255));
-            if (loginUser != null)
-            {
+            if (loginUser != null) {
                 operLog.setOperName(loginUser.getUsername());
                 SysUser currentUser = loginUser.getUser();
-                if (StringUtils.isNotNull(currentUser) && StringUtils.isNotNull(currentUser.getDept()))
-                {
+                if (StringUtils.isNotNull(currentUser) && StringUtils.isNotNull(currentUser.getDept())) {
                     operLog.setDeptName(currentUser.getDept().getDeptName());
                 }
-            }else {
+            } else {
                 try {
                     WxLoginUser WxLoginUser = SecurityUtils.getWxLoginUser();
                     operLog.setOperName(WxLoginUser.getCOpenid());
@@ -123,8 +120,7 @@ public class LogAspect
                 }
             }
 
-            if (e != null)
-            {
+            if (e != null) {
                 operLog.setStatus(BusinessStatus.FAIL.ordinal());
                 operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
             }
@@ -143,15 +139,11 @@ public class LogAspect
             operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get());
             // 保存数据库
             AsyncManager.me().execute(AsyncFactory.recordOper(operLog));
-        }
-        catch (Exception exp)
-        {
+        } catch (Exception exp) {
             // 记录本地异常日志
             log.error("异常信息:{}", exp.getMessage());
             exp.printStackTrace();
-        }
-        finally
-        {
+        } finally {
             TIME_THREADLOCAL.remove();
         }
     }
@@ -159,12 +151,11 @@ public class LogAspect
     /**
      * 获取注解中对方法的描述信息 用于Controller层注解
      *
-     * @param log 日志
+     * @param log     日志
      * @param operLog 操作日志
      * @throws Exception
      */
-    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception
-    {
+    public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception {
         // 设置action动作
         operLog.setBusinessType(log.businessType().ordinal());
         // 设置标题
@@ -172,14 +163,12 @@ public class LogAspect
         // 设置操作人类别
         operLog.setOperatorType(log.operatorType().ordinal());
         // 是否需要保存request,参数和值
-        if (log.isSaveRequestData())
-        {
+        if (log.isSaveRequestData()) {
             // 获取参数的信息,传入到数据库中。
             setRequestValue(joinPoint, operLog, log.excludeParamNames());
         }
         // 是否需要保存response,参数和值
-        if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult))
-        {
+        if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) {
             operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000));
         }
     }
@@ -190,18 +179,14 @@ public class LogAspect
      * @param operLog 操作日志
      * @throws Exception 异常
      */
-    private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception
-    {
+    private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception {
         Map<?, ?> paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
         String requestMethod = operLog.getRequestMethod();
         if (StringUtils.isEmpty(paramsMap)
-                && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)))
-        {
+                && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) {
             String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames);
             operLog.setOperParam(StringUtils.substring(params, 0, 2000));
-        }
-        else
-        {
+        } else {
             operLog.setOperParam(StringUtils.substring(JSON.toJSONString(paramsMap, excludePropertyPreFilter(excludeParamNames)), 0, 2000));
         }
     }
@@ -209,22 +194,15 @@ public class LogAspect
     /**
      * 参数拼装
      */
-    private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames)
-    {
+    private String argsArrayToString(Object[] paramsArray, String[] excludeParamNames) {
         String params = "";
-        if (paramsArray != null && paramsArray.length > 0)
-        {
-            for (Object o : paramsArray)
-            {
-                if (StringUtils.isNotNull(o) && !isFilterObject(o))
-                {
-                    try
-                    {
+        if (paramsArray != null && paramsArray.length > 0) {
+            for (Object o : paramsArray) {
+                if (StringUtils.isNotNull(o) && !isFilterObject(o)) {
+                    try {
                         String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames));
                         params += jsonObj.toString() + " ";
-                    }
-                    catch (Exception e)
-                    {
+                    } catch (Exception e) {
                     }
                 }
             }
@@ -235,8 +213,7 @@ public class LogAspect
     /**
      * 忽略敏感属性
      */
-    public PropertyPreExcludeFilter excludePropertyPreFilter(String[] excludeParamNames)
-    {
+    public PropertyPreExcludeFilter excludePropertyPreFilter(String[] excludeParamNames) {
         return new PropertyPreExcludeFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames));
     }
 
@@ -247,26 +224,18 @@ public class LogAspect
      * @return 如果是需要过滤的对象,则返回true;否则返回false。
      */
     @SuppressWarnings("rawtypes")
-    public boolean isFilterObject(final Object o)
-    {
+    public boolean isFilterObject(final Object o) {
         Class<?> clazz = o.getClass();
-        if (clazz.isArray())
-        {
+        if (clazz.isArray()) {
             return clazz.getComponentType().isAssignableFrom(MultipartFile.class);
-        }
-        else if (Collection.class.isAssignableFrom(clazz))
-        {
+        } else if (Collection.class.isAssignableFrom(clazz)) {
             Collection collection = (Collection) o;
-            for (Object value : collection)
-            {
+            for (Object value : collection) {
                 return value instanceof MultipartFile;
             }
-        }
-        else if (Map.class.isAssignableFrom(clazz))
-        {
+        } else if (Map.class.isAssignableFrom(clazz)) {
             Map map = (Map) o;
-            for (Object value : map.entrySet())
-            {
+            for (Object value : map.entrySet()) {
                 Map.Entry entry = (Map.Entry) value;
                 return entry.getValue() instanceof MultipartFile;
             }

+ 1 - 1
nightFragrance-framework/src/main/java/com/ylx/framework/config/SecurityConfig.java

@@ -115,7 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                         "/api/lbt/v1/getAll", "/api/js/v1/select", "/api/xiangmu/v1/wx/getAll", "/api/order/v1/getStatus",
                         "/api/xiangmu/v1/getByid", "/api/xiangmu/v1/highlights","/api/js/v1/wx/getByid","/api/js/v1/wx/select","/api/js/v1/wx/add", "/api/recharge/v1/test",
                         "/wx/pay/payNotify","/wx/pay/refundNotify","/weChat/getAccessToken","/weChat/getCode","/weChat/verifyToken","/sq/getAccessToken",
-                        "/area/select","/system/dept/list","/api/xiangmu/v1/wx/recommend","/api/order/v1/wx/add").permitAll()
+                        "/area/select","/system/dept/list","/api/xiangmu/v1/wx/recommend").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.txt","/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

+ 7 - 9
nightFragrance-framework/src/main/java/com/ylx/framework/manager/AsyncManager.java

@@ -3,6 +3,7 @@ package com.ylx.framework.manager;
 import java.util.TimerTask;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
+
 import com.ylx.common.utils.Threads;
 import com.ylx.common.utils.spring.SpringUtils;
 
@@ -11,8 +12,7 @@ import com.ylx.common.utils.spring.SpringUtils;
  *
  * @author ylx
  */
-public class AsyncManager
-{
+public class AsyncManager {
     /**
      * 操作延迟10毫秒
      */
@@ -26,12 +26,12 @@ public class AsyncManager
     /**
      * 单例模式
      */
-    private AsyncManager(){}
+    private AsyncManager() {
+    }
 
     private static AsyncManager me = new AsyncManager();
 
-    public static AsyncManager me()
-    {
+    public static AsyncManager me() {
         return me;
     }
 
@@ -40,16 +40,14 @@ public class AsyncManager
      *
      * @param task 任务
      */
-    public void execute(TimerTask task)
-    {
+    public void execute(TimerTask task) {
         executor.schedule(task, OPERATE_DELAY_TIME, TimeUnit.MILLISECONDS);
     }
 
     /**
      * 停止任务线程池
      */
-    public void shutdown()
-    {
+    public void shutdown() {
         Threads.shutdownAndAwaitTermination(executor);
     }
 }

+ 4 - 1
nightFragrance-framework/src/main/java/com/ylx/framework/web/service/WxTokenService.java

@@ -10,6 +10,7 @@ import com.ylx.common.utils.uuid.IdUtils;
 import eu.bitwalker.useragentutils.UserAgent;
 
 import io.jsonwebtoken.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -25,6 +26,7 @@ import java.util.concurrent.TimeUnit;
  * @author ylx
  */
 @Component
+@Slf4j
 public class WxTokenService {
     // 令牌自定义标识
     @Value("${token.header}")
@@ -52,11 +54,12 @@ public class WxTokenService {
     /**
      * 获取用户身份信息
      *
-     * @return 用户信息
+     * @return WxLoginUser 用户信息
      */
     public WxLoginUser getWxUser(HttpServletRequest request) {
         // 获取请求携带的令牌
         String token = getToken(request);
+        log.info("微信用户token的值: {}", token);
         if (StringUtils.isNotEmpty(token)) {
             try {
                 // 解析对应的权限以及用户信息

+ 9 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/OrderNotificationServiceImpl.java

@@ -51,8 +51,11 @@ public class OrderNotificationServiceImpl implements OrderNotificationService {
     @Override
     public void sendPendingRemindNotification(TOrder order) {
         try {
+            log.info("订单待接单提醒(技师侧)");
             cn.hutool.json.JSONObject param = buildPendingRemindParams(order);
-            weChatUtil.notification(order.getcOpenId(), wxPayProperties.getTechTemplate1(), param);
+            //获取技师openid
+            TJs js = jsService.getById(order.getcJsId());
+            weChatUtil.notification(js.getcOpenId(), wxPayProperties.getTechTemplate1(), param);
             log.info("订单待接单提醒发送成功,订单号:{}", order.getOrderNo());
         } catch (Exception e) {
             log.error("订单待接单提醒发送失败,订单号:{}", order.getOrderNo(), e);
@@ -109,7 +112,7 @@ public class OrderNotificationServiceImpl implements OrderNotificationService {
     }
 
     /**
-     * 构建待接单提醒消息参数
+     * 构建待接单提醒消息参数(技师侧)
      *
      * @param order 订单信息
      * @return JSONObject 消息参数
@@ -127,6 +130,10 @@ public class OrderNotificationServiceImpl implements OrderNotificationService {
         param.set("thing13", JSONUtil.createObj().set("value", order.getAddress()));
         // 预约时间
         LocalDateTime startTime = order.getStartTime();
+        if(startTime==null){
+            // 预约时间为空,设置默认值
+            startTime = LocalDateTime.now();
+        }
         Date date = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
         param.set("time6", JSONUtil.createObj().set("value", DateTimeUtils.formatDate(date, "yyyy-MM-dd HH:mm")));
         return param;

+ 6 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TOrderServiceImpl.java

@@ -598,8 +598,8 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
             //微信支付
             R resp = rechargeService.getPay(orderNew.getOrderNo(), orderNew.getTotalPrice(), orderNew.getcOpenId(), BillTypeEnum.WX_PAY.getInfo(), BillTypeEnum.WX_PAY.getCode().toString());
 
-            //添加待接单消息通知(技师侧)
-            orderNotificationService.sendPendingRemindNotification(orderNew);
+            //添加待接单消息通知(技师侧)这块的逻辑在回调接口中
+            //orderNotificationService.sendPendingRemindNotification(orderNew);
             return resp;
         }
 
@@ -716,7 +716,10 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         updateJs(orderNew);
         updateById(orderParam);
         //
-        this.newOrderNotification(orderNew);
+        //this.newOrderNotification(orderNew);
+
+        //添加待接单消息通知(技师侧)
+        orderNotificationService.sendPendingRemindNotification(orderNew);
         //电话通知
         TJs js = jsService.getById(orderNew.getcJsId());
         Sendvoice.sendPhone(js.getcPhone());

+ 4 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/utils/WeChatUtil.java

@@ -313,7 +313,7 @@ public class WeChatUtil {
     }
 
     /**
-     * 公众号消息通知
+     * 服务号消息通知
      *
      * @param openid     用户的openid
      * @param templateId 模板id
@@ -323,6 +323,7 @@ public class WeChatUtil {
     public Map<?, ?> notification(String openid, String templateId, cn.hutool.json.JSONObject data) {
         String token = this.getToken();
         log.info("token的值:{}", token);
+        log.info("模版ID的值:{}", templateId);
 
         String url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
         cn.hutool.json.JSONObject param1 = JSONUtil.createObj();
@@ -330,9 +331,9 @@ public class WeChatUtil {
         param1.put("template_id", templateId);
         param1.put("url", "https://city.baoxianzhanggui.com/fragrance/");
         param1.put("data", data);
-        String result = HttpUtil.post(url, param1.toString());
-
         log.info("notification-消息通知请求参数:{}", param1.toString());
+
+        String result = HttpUtil.post(url, param1.toString());
         Map<?, ?> map = JSONObject.parseObject(result, Map.class);
         log.info("notification-消息通知返回参数:{}", map);
         return map;