Kaynağa Gözat

乐保订单区分,新购,和续费

周箭河 4 yıl önce
ebeveyn
işleme
c0ac6935cf

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -54,6 +54,9 @@ public class StudentPaymentOrderDetail {
 	//学生乐器id
 	private Long studentInstrumentId;
 
+	//乐保是否是续费 0-否 1-是
+	private Integer isRenew;
+
 	@ApiModelProperty(value = "子商品列表",required = false)
 	private List<Goods> childGoodsList;
 
@@ -165,4 +168,12 @@ public class StudentPaymentOrderDetail {
 	public void setStudentInstrumentId(Long studentInstrumentId) {
 		this.studentInstrumentId = studentInstrumentId;
 	}
+
+	public Integer getIsRenew() {
+		return isRenew;
+	}
+
+	public void setIsRenew(Integer isRenew) {
+		this.isRenew = isRenew;
+	}
 }

+ 14 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentInstrumentServiceImpl.java

@@ -80,7 +80,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         }
 
         String channelType = "";
-        Date date = new Date();
+        Date nowDate = new Date();
 
         BigDecimal balance = BigDecimal.ZERO;
         if (maintenancePayDto.getUseBalance() && amount.compareTo(BigDecimal.ZERO) > 0) {
@@ -112,22 +112,27 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         studentPaymentOrder.setCourseRemitFee(BigDecimal.ZERO);
         studentPaymentOrder.setOrganId(studentInstrument.getOrganId());
         studentPaymentOrder.setRoutingOrganId(studentInstrument.getOrganId());
-        studentPaymentOrder.setCreateTime(date);
-        studentPaymentOrder.setUpdateTime(date);
+        studentPaymentOrder.setCreateTime(nowDate);
+        studentPaymentOrder.setUpdateTime(nowDate);
         studentPaymentOrderService.insert(studentPaymentOrder);
 
+        int isRenew = 0;
+        if (studentInstrument.getEndTime() != null) {
+            isRenew = 1;
+        }
+
         StudentPaymentOrderDetail maintenanceOrderDetail = new StudentPaymentOrderDetail();
         maintenanceOrderDetail.setType(OrderDetailTypeEnum.MAINTENANCE);
         maintenanceOrderDetail.setPrice(orderAmount);
         maintenanceOrderDetail.setRemitFee(BigDecimal.ZERO);
-        maintenanceOrderDetail.setCreateTime(date);
-        maintenanceOrderDetail.setUpdateTime(date);
         maintenanceOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
         maintenanceOrderDetail.setStudentInstrumentId(maintenancePayDto.getId());
+        maintenanceOrderDetail.setIsRenew(isRenew);
+        maintenanceOrderDetail.setCreateTime(nowDate);
+        maintenanceOrderDetail.setUpdateTime(nowDate);
         studentPaymentOrderDetailDao.insert(maintenanceOrderDetail);
 
         studentPaymentOrder.setVersion(0);
-
         if (amount.compareTo(BigDecimal.ZERO) == 0) {
             studentPaymentRouteOrderService.addRouteOrder(orderNo, studentInstrument.getOrganId(), balance);
             Map<String, String> notifyMap = new HashMap<>();
@@ -159,7 +164,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         studentPaymentOrder.setOrganId(studentInstrument.getOrganId());
         studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
         studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
-        studentPaymentOrder.setUpdateTime(date);
+        studentPaymentOrder.setUpdateTime(nowDate);
         studentPaymentOrderService.update(studentPaymentOrder);
         return payMap;
     }
@@ -196,7 +201,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
             Date startTime = nowDate;
             Date endTime = DateUtil.addYears(nowDate, 1);
             if (studentInstrument.getEndTime() != null &&
-                    studentInstrument.getEndTime().compareTo(nowDate) >= 0) {
+                    studentInstrument.getEndTime().compareTo(nowDate) > 0) {
                 startTime = studentInstrument.getStartTime();
                 endTime = DateUtil.addYears(studentInstrument.getEndTime(), 1);
             }
@@ -389,7 +394,7 @@ public class StudentInstrumentServiceImpl extends BaseServiceImpl<Long, StudentI
         }
         List<Goods> goodies = goodsDao.getGoodsByBaseGoodsId(76);
         List<Integer> goodsIds = goodies.stream().map(Goods::getId).collect(Collectors.toList());
-        List<StudentInstrument> oldStudentInstruments = studentInstrumentDao.getOldStudentInstrument(startTime,goodsIds);
+        List<StudentInstrument> oldStudentInstruments = studentInstrumentDao.getOldStudentInstrument(startTime, goodsIds);
         for (StudentInstrument oldStudentInstrument : oldStudentInstruments) {
             oldStudentInstrument.setChangeOrderId(oldStudentInstrument.getOrderId());
             if (oldStudentInstrument.getEndTime().compareTo(nowDate) > 0) {

+ 15 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -18,6 +18,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
+
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
@@ -158,7 +159,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
-        List<StudentApplyDetailDto> dataList =  new ArrayList<>();
+        List<StudentApplyDetailDto> dataList = new ArrayList<>();
         int count = studentRegistrationDao.queryStudentDetailCount(params);
         if (queryInfo.getIsExport() && count > 50000) {
             throw new BizException("数据集太大,不能导出.最大数据集不能超过50000");
@@ -343,7 +344,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         studentDao.update(student);
         imGroupDao.updateNickname(userId, studentRegistration.getName());
         imGroupDao.updateUserFriendNickname(userId, studentRegistration.getName());
-        imFeignService.update(new ImUserModel(userId.toString(),studentRegistration.getName(),sysUser.getAvatar()));
+        imFeignService.update(new ImUserModel(userId.toString(), studentRegistration.getName(), sysUser.getAvatar()));
         // 增加报名学生数
         musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(), 1);
         // 报名成功后,发送短信
@@ -451,6 +452,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             maintenanceOrderDetail.setCreateTime(date);
             maintenanceOrderDetail.setUpdateTime(date);
             maintenanceOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+            maintenanceOrderDetail.setIsRenew(0);
             studentPaymentOrderDetailList.add(maintenanceOrderDetail);
         }
         studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
@@ -576,6 +578,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             maintenanceOrderDetail.setCreateTime(date);
             maintenanceOrderDetail.setUpdateTime(date);
             maintenanceOrderDetail.setPaymentOrderId(studentPaymentOrder.getId());
+            maintenanceOrderDetail.setIsRenew(0);
             studentPaymentOrderDetailList.add(maintenanceOrderDetail);
         }
         studentPaymentOrderDetailService.batchAdd(studentPaymentOrderDetailList);
@@ -646,9 +649,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             } else {
                 StudentRegistration oldReg = studentRegistrationDao.getByUserIdAndMusicGroupId(musicGroupId, sysUser.getId());
                 if (oldReg != null && oldReg.getMusicGroupStatus() != StudentMusicGroupStatusEnum.QUIT && oldReg.getMusicGroupStatus() != StudentMusicGroupStatusEnum.APPLY) {
-                    throw new BizException("该学员已存在,原手机号为"+oldReg.getParentsPhone());
+                    throw new BizException("该学员已存在,原手机号为" + oldReg.getParentsPhone());
                 }
-                if(oldReg != null){
+                if (oldReg != null) {
                     phoneAndMusicGroupId = oldReg;
                 }
                 if (StringUtils.isNotEmpty(sysUser.getUsername())) {
@@ -684,8 +687,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                         studentDao.update(student);
                     }
                 }
-                imGroupDao.updateNickname(userId,sysUser.getUsername());
-                imGroupDao.updateUserFriendNickname(userId,sysUser.getUsername());
+                imGroupDao.updateNickname(userId, sysUser.getUsername());
+                imGroupDao.updateUserFriendNickname(userId, sysUser.getUsername());
             }
             MusicGroupStudentFee studentFeeDaoByUser = musicGroupStudentFeeDao.findByUser(userId, musicGroupId);
             if (studentFeeDaoByUser != null) {
@@ -763,7 +766,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             student.setCurrentClass(studentRegistration.getCurrentClass());
             studentDao.update(student);
             //studentRegistrationDao.updateCurrentClass(studentRegistration);
-            imFeignService.update(new ImUserModel(userId.toString(),sysUser.getUsername(),sysUser.getAvatar()));
+            imFeignService.update(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
             return userId;
         }
     }
@@ -773,8 +776,8 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public void insertStudent(String studentIds, String oldMusicGroupId, String newMusicGroupId, Map<Integer, List<MusicGroupPaymentCalenderStudentDetail>> collect) {
         //获取欠费学员列表
         List<Integer> studentIdList = Arrays.asList(studentIds.split(",")).stream().mapToInt(idStr -> Integer.valueOf(idStr)).boxed().collect(Collectors.toList());
-        List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(newMusicGroupId,studentIdList);
-        if(noPaymentUserIds.size() > 0){
+        List<Integer> noPaymentUserIds = musicGroupPaymentCalenderDetailDao.queryNoPaymentUserIds(newMusicGroupId, studentIdList);
+        if (noPaymentUserIds.size() > 0) {
             throw new BizException("操作失败:有欠费的学员不允许创建缴费");
         }
         SysUser sysUser1 = sysUserFeignService.queryUserInfo();
@@ -1393,7 +1396,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         String studentGrade = studentService.getStudentGrade(organization.getGradeType(), studentRegistration.getCurrentGradeNum());
         studentRegistration.setCurrentGrade(studentGrade);
         update(studentRegistration);
-        studentRegistrationDao.updateUser(student.getUserId(),student.getName(), student.getParentsName(), student.getIdCardNo(), student.getGender(),studentRegistration.getCertificateType());
+        studentRegistrationDao.updateUser(student.getUserId(), student.getName(), student.getParentsName(), student.getIdCardNo(), student.getGender(), studentRegistration.getCertificateType());
         //更新年级信息
         Student studentInfo = studentDao.get(student.getUserId());
         studentInfo.setCurrentGradeNum(studentRegistration.getCurrentGradeNum());
@@ -1709,7 +1712,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 
-        if(StringUtils.isNotBlank(queryInfo.getOrganIds())){
+        if (StringUtils.isNotBlank(queryInfo.getOrganIds())) {
             List<Integer> organIds = Arrays.stream(queryInfo.getOrganIds().split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
             params.put("organIds", organIds);
         }
@@ -1725,7 +1728,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (count > 0) {
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
-            dataList =studentRegistrationDao.queryNoClassMusicStudents(params);
+            dataList = studentRegistrationDao.queryNoClassMusicStudents(params);
         }
 
         pageInfo.setRows(dataList);

+ 7 - 5
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -16,6 +16,8 @@
         <result column="payment_order_id_" property="paymentOrderId"/>
         <result column="kit_group_purchase_type_" property="kitGroupPurchaseType"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="student_instrument_id_" property="studentInstrumentId"/>
+        <result column="is_renew_" property="isRenew"/>
         <collection property="goodsList" ofType="com.ym.mec.biz.dal.entity.Goods">
             <result column="goods_id_" property="id"/>
             <result column="goods_name_" property="name"/>
@@ -50,9 +52,9 @@
         </selectKey>
         -->
         INSERT INTO student_payment_order_detail
-        (id_,type_,goods_id_list_,price_,create_time_,update_time_,payment_order_id_,kit_group_purchase_type_)
-        VALUES(#{id},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{goodsIdList},#{price},now(),now(),#{paymentOrderId},#{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        (id_,type_,goods_id_list_,price_,create_time_,update_time_,payment_order_id_,kit_group_purchase_type_,student_instrument_id_,is_renew_)
+        VALUES(#{id},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{goodsIdList},#{price},now(),now(),
+        #{paymentOrderId},#{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentInstrumentId},#{isRenew})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -106,12 +108,12 @@
 
     <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
         INSERT INTO student_payment_order_detail
-        (id_,type_,goods_id_list_,price_,remit_fee_,create_time_,update_time_,payment_order_id_,kit_group_purchase_type_)
+        (id_,type_,goods_id_list_,price_,remit_fee_,create_time_,update_time_,payment_order_id_,kit_group_purchase_type_,student_instrument_id_,is_renew_)
         VALUES
         <foreach collection="studentPaymentOrderDetailList" item="orderDetail" separator=",">
             (#{orderDetail.id},#{orderDetail.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{orderDetail.goodsIdList},#{orderDetail.price},#{orderDetail.remitFee},now(),now(),#{orderDetail.paymentOrderId},
-            #{orderDetail.kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+            #{orderDetail.kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{orderDetail.studentInstrumentId},#{orderDetail.isRenew})
         </foreach>
     </insert>