瀏覽代碼

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

zouxuan 5 年之前
父節點
當前提交
c1d0bfd957

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupStatusEnum.java

@@ -10,7 +10,8 @@ public enum GroupStatusEnum implements BaseEnum<String, GroupStatusEnum> {
 
     NORMAL("NORMAL", "正常"),
     LOCK("LOCK", "锁定"),
-    FINISH("FINISH", "结束");
+    FINISH("FINISH", "结束"),
+    CANCEL("CANCEL", "取消");
 
     private String code;
 

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/GroupClassService.java

@@ -16,7 +16,17 @@ public interface GroupClassService {
      * @param groupType: 团体类型
      * @return boolean
      */
-    boolean deleteGroupInfo(String groupId, GroupType groupType);
+    boolean deleteAllGroupInfo(String groupId, GroupType groupType);
+
+    /**
+     * @describe 删除团体信息
+     * @author Joburgess
+     * @date 2020/2/17
+     * @param groupId: 团体编号
+     * @param groupType: 团体类型
+     * @return boolean
+     */
+    boolean deleteGroupOtherInfo(String groupId, GroupType groupType);
 
     /**
      * @describe 清理团新相关信息

+ 16 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GroupClassServiceImpl.java

@@ -37,7 +37,7 @@ public class GroupClassServiceImpl implements GroupClassService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean deleteGroupInfo(String groupId, GroupType groupType) {
+    public boolean deleteAllGroupInfo(String groupId, GroupType groupType) {
         groupDao.deleteGroup(groupId,groupType.getCode());
         classGroupDao.deleteByGroup(groupId,groupType);
         classGroupTeacherMapperDao.deleteByGroup(groupId,groupType);
@@ -52,6 +52,21 @@ public class GroupClassServiceImpl implements GroupClassService {
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean deleteGroupOtherInfo(String groupId, GroupType groupType) {
+        classGroupDao.deleteByGroup(groupId,groupType);
+        classGroupTeacherMapperDao.deleteByGroup(groupId,groupType);
+        classGroupTeacherSalaryDao.deleteByGroup(groupId,groupType);
+        classGroupStudentMapperDao.deleteByGroup(groupId,groupType);
+        courseScheduleDao.deleteByGroup(groupId,groupType);
+        courseScheduleTeacherSalaryDao.deleteByGroup(groupId,groupType);
+        courseScheduleStudentPaymentDao.deleteByGroup(groupId,groupType);
+        teacherAttendanceDao.deleteByGroup(groupId,groupType);
+        studentAttendanceDao.deleteByGroup(groupId,groupType);
+        return true;
+    }
+
+    @Override
     public boolean cleanGroupInfo(String groupId, GroupType groupType) {
 
         return false;

+ 12 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2996,7 +2996,10 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 sysUserCashAccountService.updateBalance(order.getUserId(), order.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "陪练课购买失败");
             }
             studentPaymentOrderDao.update(order);
-            groupService.deleteGroupInfo(order.getMusicGroupId(),GroupType.PRACTICE);
+            PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(order.getMusicGroupId()));
+            practiceGroup.setGroupStatus(GroupStatusEnum.CANCEL);
+            practiceGroupDao.update(practiceGroup);
+            groupService.deleteGroupOtherInfo(order.getMusicGroupId(),GroupType.PRACTICE);
             return;
         }
         studentPaymentOrderDao.update(order);
@@ -3160,16 +3163,19 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
         PracticeGroup practiceGroup = practiceGroupDao.lockPracticeGroup(practiceGroupId);
         if(Objects.isNull(practiceGroup)){
-            return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "此课程组已过期,请重新购买");
+            return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
         }
-        if(!practiceGroup.getGroupStatus().equals(GroupStatusEnum.LOCK)){
-            throw new BizException("此课程组订单正在支付中");
+        if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)){
+            return BaseController.failed(HttpStatus.CREATED, "该订单已经支付成功");
+        }
+        if(practiceGroup.getGroupStatus().equals(GroupStatusEnum.CANCEL)){
+            return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
         }
         List<StudentPaymentOrder> userGroupOrders = studentPaymentOrderDao.findUserGroupOrders(userId, practiceGroupId.toString(), GroupType.PRACTICE,null);
         Map<DealStatusEnum, List<StudentPaymentOrder>> statusOrderMap = userGroupOrders.stream().collect(Collectors.groupingBy(StudentPaymentOrder::getStatus));
         List<StudentPaymentOrder> successOrders=statusOrderMap.get(DealStatusEnum.SUCCESS);
         if(!CollectionUtils.isEmpty(successOrders)&&successOrders.size()>0){
-            return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "该订单已经支付成功,请勿重复购买");
+            return BaseController.failed(HttpStatus.CREATED, "该订单已经支付成功");
         }
 
         StudentPaymentOrder latestOrder=userGroupOrders.stream().max(Comparator.comparing(StudentPaymentOrder::getId)).get();
@@ -3179,7 +3185,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         List<StudentPaymentOrder> ingOrders = statusOrderMap.get(DealStatusEnum.ING);
         if(CollectionUtils.isEmpty(ingOrders)||ingOrders.size()<=0){
-            return BaseController.failed(HttpStatus.DESTINATION_LOCKED, "该订单支付失败,请重新购买");
+            return BaseController.failed(HttpStatus.FAILED_DEPENDENCY, "该课程组已失效,请重新购买");
         }else{
             for (StudentPaymentOrder ingOrder : ingOrders) {
                 ingOrder.setStatus(DealStatusEnum.CLOSE);

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -497,7 +497,7 @@
             practice_group pg
             LEFT JOIN class_group cg ON pg.id_=cg.music_group_id_ AND cg.group_type_='PRACTICE'
         WHERE
-            pg.user_id_ = #{teacherId} AND cg.del_flag_ = 0
+            pg.user_id_ = #{teacherId} AND cg.del_flag_ = 0 AND pg.group_status_!='CANCEL' AND pg.group_status_!='LOCK'
     </select>
     <select id="findTeacherVipClassGroup" resultMap="TeacherClassGroupDto">
         SELECT

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1339,7 +1339,7 @@
         LEFT JOIN vip_group vg ON vg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'VIP'
         LEFT JOIN practice_group pg ON pg.id_ = cgsm.music_group_id_ AND cgsm.group_type_ = 'PRACTICE'
         WHERE cgsm.user_id_ = #{userId} AND cgsm.status_ != 'QUIT'
-        AND (mg.status_ = 'PROGRESS' OR vg.group_status_  = 2 OR vg.group_status_ = 4 OR (pg.id_ IS NOT NULL AND pg.group_status_!='LOCK'))
+        AND (mg.status_ = 'PROGRESS' OR vg.group_status_  = 2 OR vg.group_status_ = 4 OR (pg.id_ IS NOT NULL AND pg.group_status_!='LOCK' AND pg.group_status_!='CANCEL'))
         ORDER BY cgsm.music_group_id_
         <include refid="global.limit"/>
     </select>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -150,7 +150,7 @@
 			LEFT JOIN `subject` s ON pg.subject_id_ = s.id_
 		WHERE
 			student_id_=#{userId}
-			AND pg.group_status_!='FINISH'
+			AND (pg.group_status_='NORMAL' OR pg.group_status_='LOCK')
 			AND pg.buy_months_ IS NOT NULL
 	</select>
 	<select id="findUserPracticeGroup" resultMap="PracticeGroup">

+ 5 - 4
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -84,14 +84,15 @@
             keyColumn="id" keyProperty="id">
         INSERT INTO student_payment_order
         (id_, group_type_, user_id_,organ_id_, type_, expect_amount_, actual_amount_, com_amount_, per_amount_,
-         balance_payment_amount_, trans_no_,
+         balance_payment_amount_, remit_fee_, trans_no_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
-         payment_account_no_, order_no_, music_group_id_, class_group_id_)
+         payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_)
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{userId},#{organId}, #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-                #{expectAmount}, #{actualAmount}, #{comAmount}, #{perAmount}, #{balancePaymentAmount}, #{transNo},
+                #{expectAmount}, #{actualAmount}, #{comAmount}, #{perAmount}, #{balancePaymentAmount},
+                #{remitFee}, #{transNo},
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
-                #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{orderNo}, #{musicGroupId},
+                #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo}, #{musicGroupId},
                 #{classGroupId})
     </insert>