Browse Source

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

zouxuan 5 năm trước cách đây
mục cha
commit
7f4e02747f

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -38,6 +39,9 @@ public class StudentPaymentOrderDetail {
 	@ApiModelProperty(value = "订单编号",required = true)
 	private Long paymentOrderId;
 
+	//购买方式
+	private KitGroupPurchaseTypeEnum kitGroupPurchaseType;
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -99,4 +103,11 @@ public class StudentPaymentOrderDetail {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+	public KitGroupPurchaseTypeEnum getKitGroupPurchaseType() {
+		return kitGroupPurchaseType;
+	}
+
+	public void setKitGroupPurchaseType(KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
+		this.kitGroupPurchaseType = kitGroupPurchaseType;
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EndCourseScheduleQueryInfo.java

@@ -54,6 +54,17 @@ public class EndCourseScheduleQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "班级类型")
     private ClassGroupTypeEnum classGroupType;
 
+    @ApiModelProperty(value = "教学点编号")
+    private Integer schoolId;
+
+    public Integer getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Integer schoolId) {
+        this.schoolId = schoolId;
+    }
+
     public String getStudentName() {
         return studentName;
     }

+ 1 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -360,6 +360,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
+        params.put("musicGroupStatus", MusicGroupStatusEnum.PROGRESS);
         List<Group> groups = groupDao.searchGroups(params);
         if(!CollectionUtils.isEmpty(groups)){
             params.put("groups", groups);
@@ -1809,11 +1810,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         courseScheduleComplaintsDao.update(courseScheduleComplaints);
     }
 
-    public static void main(String[] args) {
-        Date updateTime = DateUtil.stringToDate("19700101 000000",DateUtil.DATE_TIME_FORMAT);
-        System.out.println(updateTime);
-    }
-
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean updateCourseScheduleToOverStatus() {

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -446,6 +446,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     if(!groupType.containsKey("GROUP")){
                         throw new BizException("乐器提供方式不存在");
                     }
+                    goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
                     remitFee = new BigDecimal((String) groupType.get("GROUP"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
@@ -613,6 +614,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         BigDecimal instrumentFee = BigDecimal.ZERO;
         BigDecimal accessoriesFee = BigDecimal.ZERO;
         BigDecimal otherFee = BigDecimal.ZERO;
+        BigDecimal remitFee = BigDecimal.ZERO;
 
 
         //乐器及打包辅件
@@ -666,6 +668,43 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     courseFee.subtract(goodsGroup.getRemissionCourseFee());
                 }
             }
+        } else if (registerPayDto.getGoodsGroups() != null && registerPayDto.getGoodsGroups().size() > 0) {
+            String goodsGroupIds = registerPayDto.getGoodsGroups().keySet().stream().map(Object::toString).collect(Collectors.joining(","));
+            goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroupByIds(goodsGroupIds);
+            for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
+                Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
+                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
+                    if(!groupType.containsKey("GROUP")){
+                        throw new BizException("乐器提供方式不存在");
+                    }
+                    goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
+                    remitFee = new BigDecimal((String) groupType.get("GROUP"));
+                }
+                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
+                    if(!groupType.containsKey("LEASE")){
+                        throw new BizException("乐器提供方式不存在");
+                    }
+                    goodsGroup.setPrice(goodsGroup.getDepositFee());
+                    goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
+                    remitFee = new BigDecimal((String) groupType.get("LEASE"));
+                }
+                if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
+                    if(!groupType.containsKey("FREE")){
+                        throw new BizException("乐器提供方式不存在");
+                    }
+                    goodsGroup.setPrice(new BigDecimal(0));
+                    remitFee = new BigDecimal((String) groupType.get("FREE"));
+                }
+                if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
+                    instrumentFee = instrumentFee.add(goodsGroup.getPrice());
+                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                    accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
+                }else {
+                    otherFee = otherFee.add(goodsGroup.getPrice());
+                }
+                orderAmount = orderAmount.add(goodsGroup.getPrice());
+            }
+            orderAmount = orderAmount.subtract(remitFee);
         }
 
         //单独辅件

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

@@ -232,7 +232,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                     vipGroupService.orderCallback(order);
                 } else if (order.getType().equals(OrderTypeEnum.RENEW)) {
                     musicGroupService.renewForCallback(order);
-                }else if (order.getType().equals(OrderTypeEnum.SPORADIC)){
+                }else if (order.getType().equals(OrderTypeEnum.SPORADIC)||order.getType().equals(OrderTypeEnum.LUCK)){
                     sporadicChargeInfoService.renewForCallback(order);
                 }
             } catch (Exception e) {

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -355,6 +355,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentPaymentOrderDetail4goodsGroup.setCreateTime(date);
                 studentPaymentOrderDetail4goodsGroup.setUpdateTime(date);
                 studentPaymentOrderDetail4goodsGroup.setPaymentOrderId(studentPaymentOrder.getId());
+                studentPaymentOrderDetail4goodsGroup.setKitGroupPurchaseType(goodsGroup.getKitGroupPurchaseType());
                 studentPaymentOrderDetailList.add(studentPaymentOrderDetail4goodsGroup);
             }
         }

+ 6 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2464,13 +2464,15 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                     if(now.before(vipGroup.getRegistrationStartTime())){
                         vipGroup.setStatus(VipGroupStatusEnum.NOT_START);
                     }
-                    if(vipGroup.getRegistrationStartTime().before(now)&&vipGroup.getCoursesExpireDate().after(now)){
-                        if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)){
+                    if(vipGroup.getRegistrationStartTime().before(now)&&vipGroup.getPaymentExpireDate().after(now)){
+                        if(vipGroup.getStatus().equals(VipGroupStatusEnum.NOT_START)){
 							vipGroup.setStatus(VipGroupStatusEnum.APPLYING);
 						}
                     }
-                    if(vipGroup.getCoursesExpireDate().before(now)&&vipGroup.getCourseStartDate().after(now)){
-                        vipGroup.setStatus(VipGroupStatusEnum.APPLYING_END);
+                    if(vipGroup.getPaymentExpireDate().before(now)&&vipGroup.getCourseStartDate().after(now)){
+						if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)) {
+							vipGroup.setStatus(VipGroupStatusEnum.APPLYING_END);
+						}
                     }
                     if(vipGroup.getCourseStartDate().before(now)&&vipGroup.getCoursesExpireDate().after(now)){
 						if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING_END)){

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

@@ -147,7 +147,7 @@
         SELECT
             cssp.group_type_,
             cssp.music_group_id_,
-            su.id_ student_id_,
+            cssp.user_id_ student_id_,
             su.username_,
             su.avatar_,
             IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_

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

@@ -449,7 +449,7 @@
             cs.leave_student_num_,
             cg.student_num_ total_student_num_,
             su.real_name_ teacher_name_,
-            ta.sign_in_status_ attendance_status_,
+            IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) attendance_status_,
             s.name_ school_name_
         FROM
             course_schedule cs
@@ -1933,6 +1933,9 @@
             <if test="courseType!=null">
                 AND cs.type_ = #{courseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
+            <if test="schoolId!=null">
+                AND cs.schoole_id_ = #{schoolId}
+            </if>
         </where>
     </sql>
 

+ 17 - 3
mec-biz/src/main/resources/config/mybatis/GroupMapper.xml

@@ -14,7 +14,21 @@
         <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
-    <sql id="searchGroupsCondition">
+    <sql id="searchMusicGroupsCondition">
+        <where>
+            <if test="search!=null">
+                AND g.id_ = #{search} OR g.name_ LIKE CONCAT( '%', #{search}, '%' )
+            </if>
+            <if test="organIdList!=null">
+                AND FIND_IN_SET(g.organ_id_,#{organIdList})
+            </if>
+            <if test="musicGroupStatus!=null">
+                AND g.status_=#{musicGroupStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="searchVipGroupsCondition">
         <where>
             <if test="search!=null">
                 AND g.id_ = #{search} OR g.name_ LIKE CONCAT( '%', #{search}, '%' )
@@ -29,12 +43,12 @@
         ( SELECT o.id_ organ_id_,o.name_ organ_name_,g.id_, g.name_ group_name_, 'MUSIC' group_type_
         FROM music_group g
         LEFT JOIN organization o ON g.organ_id_ = o.id_
-        <include refid="searchGroupsCondition"/> )
+        <include refid="searchMusicGroupsCondition"/> )
         UNION
         ( SELECT o.id_ organ_id_,o.name_ organ_name_,g.id_, g.name_ group_name_, 'VIP' group_type_
         FROM vip_group g
         LEFT JOIN organization o ON g.organ_id_ = o.id_
-        <include refid="searchGroupsCondition"/> );
+        <include refid="searchVipGroupsCondition"/> );
     </select>
     <select id="findByGroupIds" resultMap="Group">
       ( SELECT o.id_ organ_id_,o.name_ organ_name_,g.id_, g.name_ group_name_, 'MUSIC' group_type_

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

@@ -11,6 +11,7 @@
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="subject_id_" property="subjectId"/>
         <result column="goods_id_list_" property="goodsIdList"/>
+        <result column="kit_group_purchase_type_json_" property="kitGroupPurchaseTypeJson" />
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="price_" property="price"/>

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

@@ -338,7 +338,7 @@
     <select id="findOrdersByStatus" resultMap="StudentPaymentOrder">
         SELECT * FROM student_payment_order
         WHERE status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
-        AND payment_channel_ = #{paymentChannel} LIMIT 20
+        AND payment_channel_ = #{paymentChannel} LIMIT 100
     </select>
 
     <!-- 查询支付中超时订单 -->