Ver Fonte

Merge remote-tracking branch 'origin/cloud_teacher_active_2021_09' into cloud_teacher_active_2021_09

zouxuan há 3 anos atrás
pai
commit
22548cbb83

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.http.HttpStatus;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Propagation;
@@ -967,6 +968,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	}
 
 	@Override
+	@Async
 	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRES_NEW)
 	public boolean transferProduceContract(Integer userId,String musicGroupId, CourseViewTypeEnum courseViewType) {
 		SysUser user = studentDao.lockUserReturnInfo(userId);

+ 40 - 40
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -368,49 +368,49 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 
 			cloudTeacherOrderService.update(cloudTeacherOrder);
 			// 添加会员有效时长
-//			studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
+			studentService.updateMemberRank(cloudTeacherOrder, periodEnum);
 			//云教练活动赠送优惠券
-//			cloudTeacherActiveGiveCoupon(cloudTeacherOrder);
+			cloudTeacherActiveGiveCoupon(cloudTeacherOrder);
 //			// 插入交易明细
-//			BigDecimal amount = studentPaymentOrder.getActualAmount();
-//			if (amount.compareTo(BigDecimal.ZERO) > 0) {
-//				SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
-//				// 充值
-//				SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
-//				rechargeDetail.setAmount(amount);
-//				rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
-//				rechargeDetail.setComment("缴费前充值");
-//				rechargeDetail.setCreateTime(nowDate);
-//				rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
-//				rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
-//				rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
-//				rechargeDetail.setUpdateTime(nowDate);
-//				rechargeDetail.setUserId(userId);
-//				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-//				rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
-//				rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
-//				sysUserCashAccountDetailService.insert(rechargeDetail);
-//
-//				// 缴费
-//				SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
-//				paymentDetail.setAmount(amount.negate());
-//				paymentDetail.setBalance(cashAccount.getBalance());
-//				paymentDetail.setComment("购买会员");
-//				paymentDetail.setCreateTime(nowDate);
-//				paymentDetail.setStatus(DealStatusEnum.SUCCESS);
-//				paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
-//				paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
-//				paymentDetail.setUpdateTime(nowDate);
-//				paymentDetail.setUserId(userId);
-//				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-//				sysUserCashAccountDetailService.insert(paymentDetail);
-//			}
+			BigDecimal amount = studentPaymentOrder.getActualAmount();
+			if (amount.compareTo(BigDecimal.ZERO) > 0) {
+				SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
+				// 充值
+				SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
+				rechargeDetail.setAmount(amount);
+				rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
+				rechargeDetail.setComment("缴费前充值");
+				rechargeDetail.setCreateTime(nowDate);
+				rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
+				rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
+				rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
+				rechargeDetail.setUpdateTime(nowDate);
+				rechargeDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
+				rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
+				sysUserCashAccountDetailService.insert(rechargeDetail);
+
+				// 缴费
+				SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
+				paymentDetail.setAmount(amount.negate());
+				paymentDetail.setBalance(cashAccount.getBalance());
+				paymentDetail.setComment("购买会员");
+				paymentDetail.setCreateTime(nowDate);
+				paymentDetail.setStatus(DealStatusEnum.SUCCESS);
+				paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
+				paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
+				paymentDetail.setUpdateTime(nowDate);
+				paymentDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				sysUserCashAccountDetailService.insert(paymentDetail);
+			}
 //
-//			try {
-//				contractService.transferProduceContract(userId, null, CourseViewTypeEnum.MEMBER_FEE);
-//			} catch (Exception e) {
-//				logger.error("产品协议生成失败", e);
-//			}
+			try {
+				contractService.transferProduceContract(userId, null, CourseViewTypeEnum.MEMBER_FEE);
+			} catch (Exception e) {
+				logger.error("产品协议生成失败", e);
+			}
 		}
 		return true;
 	}

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysCouponServiceImpl.java

@@ -69,6 +69,23 @@ public class SysCouponServiceImpl extends BaseServiceImpl<Integer, SysCoupon>  i
 			}
 			sysCouponDao.update(oldCoupon);
 		}else{
+			switch (sysCoupon.getEffectiveType()){
+				case DAYS:
+					if(Objects.isNull(sysCoupon.getDeadline())){
+						throw new BizException("请指定有效天数");
+					}
+					sysCoupon.setEffectiveStartTime(null);
+					sysCoupon.setEffectiveExpireTime(null);
+					break;
+				case TIME_BUCKET:
+					if(Objects.isNull(sysCoupon.getEffectiveStartTime())||Objects.isNull(sysCoupon.getEffectiveExpireTime())){
+						throw new BizException("请指定有效时间段");
+					}
+					sysCoupon.setDeadline(null);
+					break;
+				default:
+					throw new BizException("请指定有效期类型");
+			}
 			sysCouponDao.update(sysCoupon);
 		}
 	}

+ 2 - 8
mec-biz/src/main/resources/config/mybatis/SysCouponMapper.xml

@@ -57,9 +57,6 @@
 			<if test="status != null">
 				status_ = #{status},
 			</if>
-			<if test="effectiveExpireTime != null">
-				effective_expire_time_ = #{effectiveExpireTime},
-			</if>
 			<if test="startDate != null">
 				start_date_ = #{startDate},
 			</if>
@@ -75,9 +72,9 @@
 			<if test="effectiveType != null">
 				effective_type_ = #{effectiveType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>
-			<if test="deadline != null">
+				effective_start_time_ = #{effectiveStartTime},
+				effective_expire_time_ = #{effectiveExpireTime},
 				deadline_ = #{deadline},
-			</if>
 			<if test="stockCount != null">
 				stock_count_ = #{stockCount},
 			</if>
@@ -87,9 +84,6 @@
 			<if test="description != null">
 				description_ = #{description},
 			</if>
-			<if test="effectiveStartTime != null">
-				effective_start_time_ = #{effectiveStartTime},
-			</if>
 			<if test="consumeNum != null">
 				consume_num_ = #{consumeNum},
 			</if>