瀏覽代碼

Merge branch 'master' of http://git.dayaedu.com/yonge/collect_fee

zouxuan 5 年之前
父節點
當前提交
451166f8fc

+ 22 - 11
src/main/java/com/ym/mec/collectfee/controller/YqPayController.java

@@ -2,7 +2,6 @@ package com.ym.mec.collectfee.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.parser.Feature;
 import com.ym.mec.collectfee.common.web.BaseController;
 import com.ym.mec.collectfee.entity.*;
 import com.ym.mec.collectfee.service.*;
@@ -12,10 +11,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.IOUtils;
-import org.apache.ibatis.session.defaults.DefaultSqlSession;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.core.io.ClassPathResource;
+import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -23,17 +22,17 @@ import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.InputStreamReader;
-import java.io.SyncFailedException;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.*;
 
 @Api("支付")
 @Slf4j
 @RestController
 @RequestMapping("yqpay")
+@EnableScheduling   // 2.开启定时任务
 public class YqPayController extends BaseController {
 
     @Autowired
@@ -214,15 +213,20 @@ public class YqPayController extends BaseController {
         Integer buyCount = mecCourse4json.getBuyCount();
         BigDecimal amount = new BigDecimal("0"); //课程总价
         String remark = "";
+        List<MecCourse> pickCourses = null;
         for (int i = 0; i < courses.size(); i++) {
             MecCourse course = courses.get(i);
             if (mecCourse4json.getCourseId().equals(course.getCourseId().intValue())) {
-                BigDecimal price = course.getClassType().equals(1)? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : course.getPrice().multiply(BigDecimal.valueOf(course.getBuyCount()));
+                BigDecimal price = course.getClassType().equals(1) ? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : course.getPrice().multiply(BigDecimal.valueOf(course.getBuyCount()));
                 amount = amount.add(price);
                 remark += course.getClassName();
+                if (course.getClassType().equals(1)) {
+                    course.setBuyCount(buyCount);
+                }
+                pickCourses.add(course);
             }
         }
-        if (courses.size() == 0) {
+        if (pickCourses.size() == 0) {
             return failed("请选择续费课程");
         }
 
@@ -256,7 +260,7 @@ public class YqPayController extends BaseController {
         List<Map> tempRoutingList = new ArrayList();
         tempRoutingList.add(routingList);
 
-        renewalsService.addRenewalsOrder(renewals, amount, orderNo, courses, routingMerNo, remark);
+        renewalsService.addRenewalsOrder(renewals, amount, orderNo, pickCourses, routingMerNo, remark);
 
         /*订单信息*/
         String orderBody = "大雅乐盟培训课程";
@@ -433,7 +437,7 @@ public class YqPayController extends BaseController {
             }
             orderService.update(order);
             ApplyInfo applyInfo = applyInfoService.get(order.getUserId());
-            applyInfoService.userRegister(applyInfo.getPatriarchPhone()); //推送mec
+            applyInfoService.userRegister(applyInfo.getPatriarchPhone(),order.getId()); //推送mec
 
             msg.setCode("000000");
             msg.setMsg("success");
@@ -442,9 +446,11 @@ public class YqPayController extends BaseController {
     }
 
 
-    //@Scheduled(cron = "0/3 40 11 * * ?")
-    @RequestMapping("/getOrderStatus")
+    @Scheduled(cron = "0/5 * * * * ?")
+    //@RequestMapping("/getOrderStatus")
     public void getOrderStatus() throws Exception {
+        System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
+
         List<Order> payingOrders = orderService.findPayingOrders();
 
         String merOrderNos = ""; //
@@ -494,7 +500,12 @@ public class YqPayController extends BaseController {
             //推送mec
             if (order.getTuiFee() != null) {
                 ApplyInfo applyInfo = applyInfoService.get(order.getUserId());
-                applyInfoService.userRegister(applyInfo.getPatriarchPhone()); //推送mec
+                applyInfo.setStatus(1);
+                applyInfoService.update(applyInfo);
+                applyInfoService.userRegister(applyInfo.getPatriarchPhone(),order.getId()); //推送mec
+            } else {
+                //RenewBean renewals = renewalsService.getRenewalsByOrderId(order.getId());
+                //applyInfoService.pushRenew(renewals);
             }
         }
         //失败减去已收款金额,减去报名人数

+ 2 - 1
src/main/java/com/ym/mec/collectfee/dao/RenewalsDao.java

@@ -6,7 +6,6 @@ import com.ym.mec.collectfee.entity.Renewals;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
 import java.util.List;
 
 @Component
@@ -14,4 +13,6 @@ public interface RenewalsDao extends BaseDAO<Integer, Renewals> {
 
     public void renewalsInsert(@Param("renewalses") List<Renewals> renewalsArrayList);
 
+    public Renewals getRenewalsByOrderId(@Param("orderId") Integer orderId);
+
 }

+ 4 - 0
src/main/java/com/ym/mec/collectfee/entity/Order.java

@@ -25,6 +25,10 @@ public class Order {
 	@ApiModelProperty(name = "branchId", value = "分部id",required = true)
 	private Integer branchId;
 
+	/** 订单号。订单流水号 */
+	@ApiModelProperty(name = "group_id", value = "分部id",hidden = true)
+	private Integer groupId;
+
 	/**自己系统订单号 */
 	@ApiModelProperty(name = "orderNo", value = "系统订单号", hidden = true)
 	private String orderNo;

+ 2 - 2
src/main/java/com/ym/mec/collectfee/service/ApplyInfoService.java

@@ -20,13 +20,13 @@ public interface ApplyInfoService extends BaseService<Integer, ApplyInfo> {
      * 用户缴费成功后,到mec注册
      * @param phone
      */
-    Boolean userRegister(String phone);
+    Boolean userRegister(String phone,Integer orderId);
 
     /**
      * 推送mec  3.2.13添加乐团学员(含缴费)(125218)
      * @return
      */
-    RequestMecApplyClass getApplyClass(ApplyInfo applyInfo);
+    RequestMecApplyClass getApplyClass(ApplyInfo applyInfo,Integer orderId);
 
     /**
      * 获取分部列表

+ 6 - 0
src/main/java/com/ym/mec/collectfee/service/RenewalsService.java

@@ -21,4 +21,10 @@ public interface RenewalsService extends BaseService<Integer, Renewals> {
 
     void renewalsInsert(ArrayList<Renewals> renewalsArrayList);
 
+    /**
+     * 根据订单号获取小课续费信息
+     * @param orderId
+     * @return
+     */
+    Renewals getRenewalsByOrderId(Integer orderId);
 }

+ 6 - 5
src/main/java/com/ym/mec/collectfee/service/impl/ApplyInfoServiceImpl.java

@@ -57,7 +57,7 @@ public class ApplyInfoServiceImpl extends BaseServiceImpl<Integer, ApplyInfo> im
 	}
 
 	@Override
-	public Boolean userRegister(String phone) {
+	public Boolean userRegister(String phone,Integer orderId) {
 		try {
 			ApplyInfo applyInfo = applyInfoDao.findUserByPhone(phone,null);
 			if(applyInfo != null && applyInfo.getStatus() == 1 && applyInfo.getPushStatus() != 1){
@@ -71,14 +71,14 @@ public class ApplyInfoServiceImpl extends BaseServiceImpl<Integer, ApplyInfo> im
 				String body = xs.toXML(applyInfo);
 				body = body.substring(body.indexOf("<user>")+6,body.indexOf("</user>"));
 				//推送mec注册接口
-				body = getBody(body,12301);
+				body = getBody(body,121301);
 				Date date = new Date();
 				try {
 					applyInfo.setUpdateTime(date);
 					ResponseUserInfo userInfo = parseRegisterInfo(body);
 					applyInfo.setUserId(userInfo.getUserId());
 					applyInfo.setPushStatus(1);
-					RequestMecApplyClass applyClass = getApplyClass(applyInfo);
+					RequestMecApplyClass applyClass = getApplyClass(applyInfo,orderId);
 					body = xs.toXML(applyClass);
 					body = body.substring(body.indexOf("<body>")+6,body.indexOf("</body>"));
 					//推送mec用户缴费
@@ -98,8 +98,9 @@ public class ApplyInfoServiceImpl extends BaseServiceImpl<Integer, ApplyInfo> im
 	}
 
 	@Override
-	public RequestMecApplyClass getApplyClass(ApplyInfo applyInfo) {
-		Order order = orderDao.findOrderByStatus(applyInfo.getId(), 0);
+	public RequestMecApplyClass getApplyClass(ApplyInfo applyInfo,Integer orderId) {
+//		Order order = orderDao.findOrderByStatus(applyInfo.getId(), null);
+		Order order = orderDao.get(orderId);
 		if(order != null){
 			//封装请求参数
 			RequestMecApplyClass applyClass = new RequestMecApplyClass();

+ 4 - 1
src/main/java/com/ym/mec/collectfee/service/impl/RenewalsServiceImpl.java

@@ -9,7 +9,6 @@ import com.ym.mec.collectfee.entity.MecCourse;
 import com.ym.mec.collectfee.entity.Order;
 import com.ym.mec.collectfee.entity.Renewals;
 import com.ym.mec.collectfee.service.AccountService;
-import com.ym.mec.collectfee.service.CourseGroupInfoService;
 import com.ym.mec.collectfee.service.OrderService;
 import com.ym.mec.collectfee.service.RenewalsService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -90,5 +89,9 @@ public class RenewalsServiceImpl extends BaseServiceImpl<Integer, Renewals> impl
         return order;
     }
 
+    @Override
+    public Renewals getRenewalsByOrderId(Integer orderId) {
+        return renewalsDao.getRenewalsByOrderId(orderId);
+    }
 
 }

+ 2 - 0
src/main/resources/application.yml

@@ -1,5 +1,7 @@
 server:
   port: 8005
+#  servlet:
+#    contextPath: /api
 
 spring:
   application:

+ 2 - 1
src/main/resources/config/mybatis/OrderMapper.xml

@@ -10,6 +10,7 @@
 		<result column="id" property="id" />
 		<result column="oid" property="oid" />
 		<result column="branch_id" property="branchId" />
+		<result column="group_id" property="groupId" />
 		<result column="order_no" property="orderNo" />
 		<result column="user_id" property="userId" />
 		<result column="amount" property="amount" />
@@ -50,7 +51,7 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
 		</selectKey>
 		-->
-		INSERT INTO `order` (id,oid,order_no,branch_id,user_id,amount,pay,bank,account,u_account,pay_id,pay_time,remark,class_id,status,create_time,po_name,voicy_part,balance,batch_num,tui_fee,goods_fee,sd_name,sd_fee) VALUES(#{id},#{oid},#{orderNo},#{branchId},#{userId},#{amount},#{pay},#{bank},#{account},#{uAccount},#{payId},#{payTime},#{remark},#{classId},#{status},#{createTime},#{poName},#{voicyPart},#{balance},#{batchNum},#{tuiFee},#{goodsFee},#{sdName},#{sdFee})
+		INSERT INTO `order` (id,oid,order_no,branch_id,group_id,user_id,amount,pay,bank,account,u_account,pay_id,pay_time,remark,class_id,status,create_time,po_name,voicy_part,balance,batch_num,tui_fee,goods_fee,sd_name,sd_fee) VALUES(#{id},#{oid},#{orderNo},#{branchId},#{groupId},#{userId},#{amount},#{pay},#{bank},#{account},#{uAccount},#{payId},#{payTime},#{remark},#{classId},#{status},#{createTime},#{poName},#{voicyPart},#{balance},#{batchNum},#{tuiFee},#{goodsFee},#{sdName},#{sdFee})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->

+ 5 - 0
src/main/resources/config/mybatis/RenewalsMapper.xml

@@ -66,4 +66,9 @@
 			(#{item.id},#{item.userId},#{item.branchId},#{item.classId},#{item.courseId},#{item.way},#{item.pay},#{item.changeMode},#{item.price},#{item.buy},#{item.orderId})
 		</foreach>
 	</insert>
+
+	<!-- 根据order_id获取小课信息 -->
+	<select id="getRenewalsByOrderId" resultMap="Renewals">
+		SELECT * FROM `order` WHERE order_id = #{orderId}
+	</select>
 </mapper>