Monterey 3 лет назад
Родитель
Сommit
13c1164c9d

+ 5 - 1
ruoyi-admin/pom.xml

@@ -75,7 +75,11 @@
             <groupId>com.linecorp.bot</groupId>
             <artifactId>line-bot-spring-boot</artifactId>
     	</dependency>
-    
+    	
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 34 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/H5Api/api/H5OrderController.java

@@ -1,11 +1,15 @@
 package com.ruoyi.web.H5Api.api;
 
+import java.io.StringWriter;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.collections.map.HashedMap;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,12 +21,16 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.linecorp.bot.client.LineMessagingClient;
+import com.linecorp.bot.model.PushMessage;
+import com.linecorp.bot.model.message.TextMessage;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.OperatorType;
+import com.ruoyi.generator.util.VelocityInitializer;
 import com.ruoyi.web.line.LineCallBankParam;
 import com.ruoyi.web.line.LinePay;
 import com.ruoyi.web.line.LinePayAPOD;
@@ -97,7 +105,9 @@ public class H5OrderController extends BaseController {
     private ITCustomerIntegralSetService customerIntegralSetService;
     @Autowired
     private LinePay linePay;
-    
+    @Autowired
+    private LineMessagingClient lineMessagingClient;
+
     /**
      * 增加收藏
      *
@@ -439,6 +449,29 @@ public class H5OrderController extends BaseController {
                 orderManageTotal.setStatus("1");
                 orderManageTotalService.updateTOrderManageTotal(orderManageTotal);
             }
+            
+            //
+            VelocityInitializer.initVelocity();
+    		//Velocityの初期化
+          	Velocity.init();
+          	//Velocityコンテキストに値を設定
+          	VelocityContext context = new VelocityContext();
+          	
+          	StringWriter sw = new StringWriter();
+          	//テンプレートの作成
+          	Template template = Velocity.getTemplate("vm/orderAlertMsg.vm", "UTF-8");
+          	
+          	List<TOrderManage> list = orderManageService.selectByManagerTotalId(orderManageTotal.getId());
+          	
+          	context.put("orders", list);
+          	
+          	//テンプレートとマージ
+          	template.merge(context, sw);
+          	//マージしたデータはWriterオブジェクトであるswが持っているのでそれを文字列として出力
+          	System.out.println(sw.toString());
+          	
+          	lineMessagingClient.pushMessage(new PushMessage(list.get(0).getPhone(), new TextMessage(sw.toString())));
+          	
     		return AjaxResult.success("支払成功");
     	} else {
     		return AjaxResult.success("支払失敗した");

+ 3 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/pcApi/mapper/TOrderManageMapper.java

@@ -89,4 +89,7 @@ public interface TOrderManageMapper
     List<TPurchasedDetailExportDo> purchasedDetailList(TOrderManage order);
     
     public List<TOrderManage> selectTomorrowDeparture(String departureDate);
+    
+    public List<TOrderManage> selectByManagerTotalId(long totalMangerId);
+    
 }

+ 7 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/pcApi/service/ITOrderManageService.java

@@ -87,4 +87,11 @@ public interface ITOrderManageService
      */
     public List<TOrderManage> selectTomorrowDeparture(String departureDate);
 
+    /**
+     * 订单信息。
+     * @param totalMangerId id
+     * @return 指定ID数据取得
+     */
+    public List<TOrderManage> selectByManagerTotalId(long totalMangerId);
+
 }

+ 5 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/pcApi/service/impl/TOrderManageServiceImpl.java

@@ -153,4 +153,9 @@ public class TOrderManageServiceImpl implements ITOrderManageService
 	public List<TOrderManage> selectTomorrowDeparture(String departureDate) {
 		return tOrderManageMapper.selectTomorrowDeparture(departureDate);
 	}
+
+	@Override
+	public List<TOrderManage> selectByManagerTotalId(long totalMangerId) {
+		return tOrderManageMapper.selectByManagerTotalId(totalMangerId);
+	}
 }

+ 17 - 1
ruoyi-admin/src/main/resources/mapper/order/TOrderManageMapper.xml

@@ -406,6 +406,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 left join t_commodity_manage c on a.commodity_id = c.id
             where 
                 a.del_flag = '0' and b.del_flag = '0' and a.status = '1'
-                and departure_date = #{departureDate}
+                and a.departure_date = #{departureDate}
+    </select>
+    
+    <select id="selectByManagerTotalId" parameterType="long" resultMap="TOrderManageResult">
+        select c.commodity_name,
+               a.departure_place,
+               a.departure_date,
+               a.adult_num,
+               a.child_num,
+               b.username phone
+            from t_order_manage a
+                inner join t_customer_manage b on a.customer_id = b.id
+                inner join t_order_manage_total d on d.id = a.order_total_id
+                left join t_commodity_manage c on a.commodity_id = c.id
+            where 
+                a.del_flag = '0' and b.del_flag = '0' and a.status = '1'
+                and a.order_total_id = #{totalMangerId}
     </select>
 </mapper>

+ 9 - 0
ruoyi-admin/src/main/resources/vm/orderAlertMsg.vm

@@ -0,0 +1,9 @@
+ご購入いただきありがとうございます。
+#foreach ($order in $orders)
+「$order.commodityName」
+出発日:$order.departureDate
+出発地:$order.departurePlace
+大人:$order.adultNum人
+ことも:$order.childNum人
+#end
+お楽しみにしましょう。