From 171de641204992c462047fb1552009e753b562fe Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 20 二月 2025 11:40:26 +0800
Subject: [PATCH] 111

---
 server/services/src/main/java/com/doumee/core/constants/Constants.java                    |    2 +
 server/services/src/main/java/com/doumee/core/wx/SendWxMessage.java                       |   38 ++++++++++++++++++
 server/web/src/main/java/com/doumee/task/ScheduleTool.java                                |    2 
 server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java                 |   15 +++++++
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |    4 +-
 5 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/core/constants/Constants.java b/server/services/src/main/java/com/doumee/core/constants/Constants.java
index 037071c..fdca607 100644
--- a/server/services/src/main/java/com/doumee/core/constants/Constants.java
+++ b/server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -48,6 +48,8 @@
     //杞﹁締绫诲瀷鏁版嵁
     public static final String  BIKE_TYPE ="0,1,2,3,4,5,6,7,8" ;
     public static final String MINI_PROGRAMME_REALEASE ="MINI_PROGRAMME_REALEASE" ;
+    public static final String TIME_OUT_TEMPID ="TIME_OUT_TEMPID" ;
+
     public static final int FOUR =4 ;
     public static final String PAUSE_BIKE_TYPE ="PAUSE_BIKE_TYPE" ;
     public static final String HEART_TIME_EXPIRE_TIME ="HEART_TIME_EXPIRE_TIME" ;
diff --git a/server/services/src/main/java/com/doumee/core/wx/SendWxMessage.java b/server/services/src/main/java/com/doumee/core/wx/SendWxMessage.java
index b306587..fecd6b6 100644
--- a/server/services/src/main/java/com/doumee/core/wx/SendWxMessage.java
+++ b/server/services/src/main/java/com/doumee/core/wx/SendWxMessage.java
@@ -1,10 +1,19 @@
 package com.doumee.core.wx;
 
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.system.model.SystemUser;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Created by IntelliJ IDEA.
@@ -16,9 +25,36 @@
 @Slf4j
 public class SendWxMessage {
 
-    private static String programUrl = "packagesMine/meetingDetails/meetingDetails?id=";
+    private static String goodsOrderUrl = "pages/settlementDetails/settlementDetails?goodsOrderId=";
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
+    public  void  bookingsCancel(String openid, String goodsOrderId, String accessToken, String bikeCode, Date startTime, Date endTime){
+        RestTemplate restTemplate = new RestTemplate();
+        log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 涓存椂閿佽溅瓒呮椂 -> accessToken锛歿}",accessToken);
+        //杩欓噷绠�鍗曡捣瑙佹垜浠瘡娆¢兘鑾峰彇鏈�鏂扮殑access_token锛堟椂闂村紑鍙戜腑锛屽簲璇ュ湪access_token蹇繃鏈熸椂鍐嶉噸鏂拌幏鍙栵級
+        String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken;
+        //鎷兼帴鎺ㄩ�佺殑妯$増
+        WxMsgVO wxMsgVo = new WxMsgVO();
+        //鐢ㄦ埛鐨刼penid锛堣鍙戦�佺粰閭d釜鐢ㄦ埛锛�
+        wxMsgVo.setTouser(openid);
+        //璁㈤槄娑堟伅妯℃澘id
+        wxMsgVo.setTemplate_id(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.TIME_OUT_TEMPID).getCode());
+        Map<String, TemplateData> m = new HashMap<>(4);
+        m.put("character_string1", new TemplateData(bikeCode));
+        //瑙i攣鏃堕棿
+        m.put("date3", new TemplateData(DateUtil.getDate(startTime,"yyyy-MM-dd HH:mm")));
+        //涓婇攣鏃堕棿
+        m.put("date4", new TemplateData(DateUtil.getDate(endTime,"yyyy-MM-dd HH:mm")));
+        //娓╅Θ鎻愰啋
+        m.put("thing5", new TemplateData("涓存椂閿佽溅宸茶秴杩囨渶澶ф椂闀匡紝宸茶嚜鍔ㄨ繕杞�"));
+        wxMsgVo.setPage(goodsOrderUrl + goodsOrderId);
+        wxMsgVo.setData(m);
+        ResponseEntity<String> responseEntity =
+                restTemplate.postForEntity(url, wxMsgVo, String.class);
+        log.info("寰俊灏忕▼搴�->寰俊娑堟伅閫氱煡 涓存椂閿佽溅瓒呮椂锛歿}", JSONObject.toJSONString(responseEntity));
+    }
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 81955cc..c5bed2e 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -1576,8 +1576,8 @@
                         "and  d.isdeleted = 0 and  d.type = 0 and   EXTRACT(DAY FROM d.create_date) = EXTRACT(DAY FROM CURRENT_DATE) " , DiscountMember::getUseTime)//鏌ヨ浠婃棩宸蹭娇鐢ㄦ椂闂�
                 .eq(DiscountMember::getStatus,Constants.ZERO)
                 .eq(DiscountMember::getMemberId,memberId)
-                .ge(DiscountMember::getUseStartDate, Utils.Date.getStart(DateUtil.StringToDate(today)))
-                .le(DiscountMember::getUseEndDate, Utils.Date.getEnd(DateUtil.StringToDate(today)))
+                .ge(DiscountMember::getUseStartDate, Utils.Date.getStart(DateUtil.stringToDate(today,"yyyy-MM-dd")))
+                .le(DiscountMember::getUseEndDate, Utils.Date.getEnd(DateUtil.stringToDate(today,"yyyy-MM-dd")))
                 .eq(Constants.equalsInteger(holiday,Constants.ONE),DiscountMember::getUseHoliday,Constants.ONE)
                 .orderByDesc(DiscountMember::getLimitType)
                 .orderByDesc(DiscountMember::getLimitTime)
diff --git a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
index f0138dd..beef30d 100644
--- a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
+++ b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
@@ -13,6 +13,8 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.PositionUtil;
 import com.doumee.core.utils.StringTools;
+import com.doumee.core.wx.SendWxMessage;
+import com.doumee.core.wx.WxMiniConfig;
 import com.doumee.core.wx.WxMiniUtilService;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.BikesJoinMapper;
@@ -28,6 +30,7 @@
 import com.doumee.service.business.GoodsorderService;
 import com.doumee.service.business.PricingRuleService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -86,6 +89,9 @@
 
     @Autowired
     private HolidaysMapper holidaysMapper;
+
+    @Autowired
+    private SendWxMessage sendWxMessage;
 
 
     @Autowired
@@ -515,7 +521,7 @@
     /**
      * 涓存椂鍋滆溅瓒呮椂 鑷姩杩樿溅
      */
-    public void autoBackBike(){
+    public void autoBackBike() throws WxErrorException {
        List<MemberRides> memberRidesList =  memberRidesJoinMapper.selectJoinList(MemberRides.class,new MPJLambdaWrapper<MemberRides>()
                 .selectAll(MemberRides.class)
                 .leftJoin(Goodsorder.class,Goodsorder::getId,MemberRides::getOrdreId)
@@ -554,6 +560,13 @@
             goodsorder.setEditDate(date);
             goodsorder.setEditor(null);
             goodsorderService.dealCloseGoodsorderBiz( goodsorder,Constants.REFUND_TYPE.NORMAL.getKey(),memberRides);
+            //鍙戦�佸皬绋嬪簭閫氱煡
+            Member member = memberMapper.selectById(goodsorder.getMemberId());
+            if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+                sendWxMessage.bookingsCancel(member.getOpenid(),goodsorder.getId(), WxMiniConfig.wxMaService.getAccessToken(),timeOutRides.getBikeCode(),goodsorder.getPayDate(),goodsorder.getEndDate());
+            }
+
+
         }
     }
 
diff --git a/server/web/src/main/java/com/doumee/task/ScheduleTool.java b/server/web/src/main/java/com/doumee/task/ScheduleTool.java
index 51654b8..6df7a1c 100644
--- a/server/web/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/web/src/main/java/com/doumee/task/ScheduleTool.java
@@ -51,7 +51,7 @@
 //    }
 
 
-    @Scheduled(fixedDelay = 1000L * 5L )
+    @Scheduled(fixedDelay = 1000L * 100L )
     public void autoBackBike() throws Exception {
         log.info("=====================涓存椂鍋滆溅瓒呮椂 鑷姩杩樿溅===========start============");
         jtt808Service.autoBackBike();

--
Gitblit v1.9.3