Просмотр исходного кода

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

zouxuan 5 лет назад
Родитель
Сommit
f7097b8c0c

+ 35 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrder.java

@@ -105,9 +105,18 @@ public class StudentPaymentOrder {
 	
 	private SysUser user = new SysUser();
 
-
+	//零星费用
 	private BigDecimal sporadicAmount;
-	
+
+	//乐器费用
+	private BigDecimal musicalFee;
+
+	//教辅费用
+	private BigDecimal teachingFee;
+
+	//手续费
+	private BigDecimal transferFee;
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -319,4 +328,28 @@ public class StudentPaymentOrder {
 	public void setSporadicAmount(BigDecimal sporadicAmount) {
 		this.sporadicAmount = sporadicAmount;
 	}
+
+	public BigDecimal getMusicalFee() {
+		return musicalFee;
+	}
+
+	public void setMusicalFee(BigDecimal musicalFee) {
+		this.musicalFee = musicalFee;
+	}
+
+	public BigDecimal getTeachingFee() {
+		return teachingFee;
+	}
+
+	public void setTeachingFee(BigDecimal teachingFee) {
+		this.teachingFee = teachingFee;
+	}
+
+	public BigDecimal getTransferFee() {
+		return transferFee;
+	}
+
+	public void setTransferFee(BigDecimal transferFee) {
+		this.transferFee = transferFee;
+	}
 }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -115,6 +115,10 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 String channelType = rpMap.get("channelType").equals("1") ? "WXPay" : (rpMap.get("channelType").equals("2") ? "Alipay" : "quickPay");
                 rpMap.put("channelType", channelType);
 
+                if (orderNoList.contains(rpMap.get("merOrderNo"))) {
+                    orderNoList.remove(rpMap.get("merOrderNo"));
+                }
+
                 if (Arrays.asList(statusArr).contains(rpMap.get("tradeState"))) {
                     try {
                         updateOrder(rpMap); //更新订单
@@ -123,9 +127,6 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                         continue;
                     }
                 }
-                if (orderNoList.contains(rpMap.get("merOrderNo"))) {
-                    orderNoList.remove(rpMap.get("merOrderNo"));
-                }
             }
             closeOrders(orderNoList); //关闭订单
         }

+ 25 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentHasCourseDto;
 import com.ym.mec.biz.dal.dto.TeacherSalaryDto;
@@ -10,7 +11,9 @@ import com.ym.mec.biz.dal.dto.musicalListDetailDto;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleTeacherSalaryQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
@@ -56,6 +59,8 @@ public class ExportController extends BaseController {
     private EmployeeDao employeeDao;
     @Autowired
     private StudentPaymentOrderService studentPaymentOrderService;
+    @Autowired
+    private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
 
     @ApiOperation(value = "导出学员是否有课")
     @PostMapping("export/studentHasCourse")
@@ -153,8 +158,8 @@ public class ExportController extends BaseController {
     }
 
     @ApiOperation(value = "订单列表导出")
-    @RequestMapping("order/orderList")
-    @PreAuthorize("@pcs.hasPermissions('order/orderList')")
+    @RequestMapping("export/orderList")
+    @PreAuthorize("@pcs.hasPermissions('export/orderList')")
     public void orderList(StudentPaymentOrderQueryInfo queryInfo, HttpServletResponse response) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (!sysUser.getIsSuperAdmin()) {
@@ -177,18 +182,35 @@ public class ExportController extends BaseController {
                 row.setExpectAmount(perAmount.add(balancePaymentAmount));
                 row.setActualAmount(perAmount.add(balancePaymentAmount));
             }
+            BigDecimal transferFee = (row.getActualAmount().subtract(balancePaymentAmount).multiply(new BigDecimal(0.28)).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_UP);
+            row.setTransferFee(transferFee);
             if(row.getGroupType().equals(GroupType.SPORADIC)){
                 row.setSporadicAmount(row.getActualAmount());
                 row.setExpectAmount(BigDecimal.ZERO);
                 row.setActualAmount(BigDecimal.ZERO);
             }
+            List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.findApplyOrderGoods(row.getId());
+            BigDecimal musicalFee = BigDecimal.ZERO;
+            BigDecimal teachingFee = BigDecimal.ZERO;
+            if(orderDetails.size() > 0) {
+                for (StudentPaymentOrderDetail orderDetail : orderDetails) {
+                    if (orderDetail.getType().equals(OrderDetailTypeEnum.MUSICAL)) {
+                        musicalFee =  musicalFee.add(orderDetail.getPrice());
+                    } else if (orderDetail.getType().equals(OrderDetailTypeEnum.ACCESSORIES) || orderDetail.getType().equals(OrderDetailTypeEnum.TEACHING)) {
+                        teachingFee =  teachingFee.add(orderDetail.getPrice());
+                    }
+                }
+            }
+            row.setMusicalFee(musicalFee);
+            row.setTeachingFee(teachingFee);
+
         }
 
         try {
             String[] header = {"序号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "支付金额", "到账时间",
             "关联乐团ID/VIP课ID","课程形态","押金","乐器","教辅费用","零星收款费用","零星收款类别","手续费","专业","分部","单位/学校","备注"};
             String[] body = {"id", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "actualAmount", "payTime", "musicGroupId",
-            "groupType",    "groupType","groupType","groupType","SporadicAmount","SporadicAmount","groupType","groupType","groupType","groupType","memo"};
+            "groupType","musicalFee","musicalFee","teachingFee","SporadicAmount","SporadicAmount","transferFee","groupType","groupType","groupType","memo"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, studentPaymentOrderPageInfo.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");