浏览代码

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

zouxuan 5 年之前
父节点
当前提交
c32fb63ab0

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.SysUserTsign;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 
 public interface ContractService {
 
@@ -65,16 +66,18 @@ public interface ContractService {
 	 * @param userId
 	 * @param musicGroupId
 	 * @param goodsIds
+	 * @param kitGroupPurchaseTypeEnum
 	 * @return
 	 */
-	boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds);
+	boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum);
 
 	/**
 	 * 查询商品协议
 	 * @param userId
 	 * @param musicGroupId
 	 * @param goodsIds
+	 * @param kitGroupPurchaseTypeEnum
 	 * @return
 	 */
-	String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds);
+	String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum);
 }

+ 43 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -21,18 +21,24 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.SysUserContracts;
 import com.ym.mec.biz.dal.entity.SysUserContracts.ContractType;
 import com.ym.mec.biz.dal.entity.SysUserTsign;
 import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.biz.service.MusicGroupService;
@@ -82,6 +88,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	private MusicGroupSubjectGoodsGroupService musicGroupSubjectGoodsGroupService;
 
 	@Autowired
+	private StudentPaymentOrderDetailDao studentPaymentOrderDetailDao;
+
+	@Autowired
 	private VipGroupService vipGroupService;
 
 	@Autowired
@@ -556,7 +565,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	}
 
 	@Override
-	public boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds) {
+	public boolean transferGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
@@ -595,12 +604,23 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		List<Goods> goodsList = goodsService.findGoodsByIds(goodsIds);
 		params.put("goodsList", goodsList);
 
-		MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
-		if (musicGroupSubjectPlan == null) {
-			throw new BizException("声部课程费用设置找不到");
+		double depositFee = 0d;
+		if (kitGroupPurchaseTypeEnum == KitGroupPurchaseTypeEnum.LEASE) {
+			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, DealStatusEnum.SUCCESS);
+
+			if (studentPaymentOrder == null) {
+				throw new BizException("缴费订单不存在");
+			}
+
+			List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
+			for (StudentPaymentOrderDetail detail : orderDetailList) {
+				if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
+					depositFee = detail.getPrice().doubleValue();
+				}
+			}
 		}
-		params.put("depositFee", musicGroupSubjectPlan.getDepositFee().doubleValue());
-		params.put("depositFeeFmt", MoneyUtil.toChinese(musicGroupSubjectPlan.getDepositFee().toString()));
+		params.put("depositFee", depositFee);
+		params.put("depositFeeFmt", MoneyUtil.toChinese(depositFee + ""));
 
 		params.put("isShowVisualSeal", false);
 
@@ -642,7 +662,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	}
 
 	@Override
-	public String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds) {
+	public String queryGoodsContract(Integer userId, String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 
 		// 合成freemarker
 		String srcPdfPath = contractBaseDir + "/goods/" + userId + ".pdf";
@@ -672,12 +692,23 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		List<Goods> goodsList = goodsService.findGoodsByIds(goodsIds);
 		params.put("goodsList", goodsList);
 
-		MusicGroupSubjectPlan musicGroupSubjectPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
-		if (musicGroupSubjectPlan == null) {
-			throw new BizException("声部课程费用设置找不到");
+		double depositFee = 0d;
+		if (kitGroupPurchaseTypeEnum == KitGroupPurchaseTypeEnum.LEASE) {
+			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, musicGroupId, DealStatusEnum.SUCCESS);
+
+			if (studentPaymentOrder == null) {
+				throw new BizException("缴费订单不存在");
+			}
+
+			List<StudentPaymentOrderDetail> orderDetailList = studentPaymentOrderDetailDao.findApplyOrderGoods(studentPaymentOrder.getId());
+			for (StudentPaymentOrderDetail detail : orderDetailList) {
+				if (detail.getType() == OrderDetailTypeEnum.MUSICAL) {
+					depositFee = detail.getPrice().doubleValue();
+				}
+			}
 		}
-		params.put("depositFee", musicGroupSubjectPlan.getDepositFee().doubleValue());
-		params.put("depositFeeFmt", MoneyUtil.toChinese(musicGroupSubjectPlan.getDepositFee().toString()));
+		params.put("depositFee", depositFee);
+		params.put("depositFeeFmt", MoneyUtil.toChinese(depositFee + ""));
 
 		params.put("isShowVisualSeal", true);
 

+ 3 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ContractsController.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -36,12 +37,12 @@ public class ContractsController extends BaseController {
 
 	@ApiOperation("查询商品协议")
 	@GetMapping(value = "queryGoodsContract")
-	public Object queryGoodsContract(String musicGroupId, String goodsIds) {
+	public Object queryGoodsContract(String musicGroupId, String goodsIds, KitGroupPurchaseTypeEnum kitGroupPurchaseTypeEnum) {
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		if (sysUser == null) {
 			return failed("获取用户信息失败");
 		}
-		return succeed(contractService.queryGoodsContract(sysUser.getId(), musicGroupId, goodsIds));
+		return succeed(contractService.queryGoodsContract(sysUser.getId(), musicGroupId, goodsIds, kitGroupPurchaseTypeEnum));
 	}
 
 	@ApiOperation("查询乐团课程协议")