Bladeren bron

Merge branch 'system_fee' into apply_multi_order

yonge 4 jaren geleden
bovenliggende
commit
7fe73444c7

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

@@ -5,7 +5,7 @@ import com.ym.mec.common.enums.BaseEnum;
 public enum CourseViewTypeEnum implements BaseEnum<Integer, CourseViewTypeEnum> {
 //    COURSE_lIST(0, "课程详情", 2),
     COURSE_FEE(0, "课程收费", 2),
-    AMR(1, "器乐练习系统", 4),
+    AMR(1, "器乐练习系统", 3),
 //    CLOUD_TEACHER(2, "云教练收费", 4),
 
     MEMBER_FEE(2, "会员收费", 4);

+ 45 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQueryInfo.java

@@ -1,12 +1,14 @@
 package com.ym.mec.biz.dal.page;
 
-import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
 import java.util.List;
 
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.common.page.QueryInfo;
+
 public class MusicGroupQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "所属分部编号",required = false)
@@ -36,6 +38,14 @@ public class MusicGroupQueryInfo extends QueryInfo {
     private String searchType;
 
     private CourseViewTypeEnum courseViewType;
+    
+    private Date createStartDate;
+    
+    private Date createEndDate;
+    
+    private Date billStartDate;
+    
+    private Date billEndDate;
 
     public CourseViewTypeEnum getCourseViewType() {
         return courseViewType;
@@ -124,4 +134,36 @@ public class MusicGroupQueryInfo extends QueryInfo {
     public void setMusicGroupStatus(String musicGroupStatus) {
         this.musicGroupStatus = musicGroupStatus;
     }
+
+	public Date getCreateStartDate() {
+		return createStartDate;
+	}
+
+	public void setCreateStartDate(Date createStartDate) {
+		this.createStartDate = createStartDate;
+	}
+
+	public Date getCreateEndDate() {
+		return createEndDate;
+	}
+
+	public void setCreateEndDate(Date createEndDate) {
+		this.createEndDate = createEndDate;
+	}
+
+	public Date getBillStartDate() {
+		return billStartDate;
+	}
+
+	public void setBillStartDate(Date billStartDate) {
+		this.billStartDate = billStartDate;
+	}
+
+	public Date getBillEndDate() {
+		return billEndDate;
+	}
+
+	public void setBillEndDate(Date billEndDate) {
+		this.billEndDate = billEndDate;
+	}
 }

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

@@ -218,6 +218,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     //会员结束前15天提醒学员续费(默认提前15天)
     String PUSH_MEMBER_RENEW = "push_member_renew";
+    //会员结束前15天提醒学员续费(默认提前5天)
+    String PUSH_MEMBER_RENEW_AGAIN = "push_member_renew_again";
 
     //会员结束前5天提醒学员续费(退团提醒)(默认提前5天)
     String PUSH_MEMBER_RENEW_QUIT = "push_member_renew_quit";

+ 7 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -192,11 +192,13 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
             }
             int days = DateUtil.daysBetween(DateUtil.trunc(nowDate), cloudTeacherOrder.getEndTime());
             CloudTeacher cloudTeacher = cloudTeacherDao.getByStudentId(cloudTeacherOrder.getStudentId());
-            Date endDate = DateUtil.addDays(cloudTeacherOrder.getEndTime(), -days);
-            cloudTeacher.setEndTime(endDate);
-            cloudTeacher.setUpdateTime(nowDate);
-            if (cloudTeacherDao.update(cloudTeacher) <= 0) {
-                throw new BizException("云教练服务有效期更新失败,请重试");
+            if(cloudTeacher != null){
+                Date endDate = DateUtil.addDays(cloudTeacherOrder.getEndTime(), -days);
+                cloudTeacher.setEndTime(endDate);
+                cloudTeacher.setUpdateTime(nowDate);
+                if (cloudTeacherDao.update(cloudTeacher) <= 0) {
+                    throw new BizException("云教练服务有效期更新失败,请重试");
+                }
             }
         }
         return true;

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

@@ -790,6 +790,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 							tempPccs.setCourseCurrentPrice(pccs.getCourseCurrentPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
 							tempPccs.setCourseOriginalPrice(pccs.getCourseOriginalPrice().divide(new BigDecimal(times), 0, BigDecimal.ROUND_DOWN));
 							tempPccs.setCourseTotalMinuties(pccs.getCourseTotalMinuties() / times);
+						} else {
+							continue;
 						}
 					}
 					totalPaymentAmount = totalPaymentAmount.add(tempPccs.getCourseCurrentPrice());

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSchoolTermCourseDetailServiceImpl.java

@@ -217,6 +217,36 @@ public class MusicGroupSchoolTermCourseDetailServiceImpl extends BaseServiceImpl
 					null,
 					"STUDENT",pushMemberRenew);
 		}
+		//会员结束前15天提醒学员续费
+		String pushMemberRenewAgain = sysConfigDao.findConfigValue(SysConfigService.PUSH_MEMBER_RENEW_AGAIN);
+		if(StringUtils.isEmpty(pushMemberRenewAgain)){
+			pushMemberRenewAgain = "5";
+		}
+		List<Integer> studentIdList = studentDao.queryPushMemberRenew(pushMemberRenewAgain);
+		if(studentIdList.size() > 0){
+			Map<Integer, String> studentPhoneMap = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(studentIdList,",")));
+			Map<Integer,String> userMap = new HashMap<>(studentIdList.size());
+			Map<Integer,String> userMap1 = new HashMap<>(studentIdList.size());
+			for (Integer studentId : studentIdList) {
+				userMap.put(studentId,studentPhoneMap.get(studentId));
+				userMap1.put(studentId,studentId.toString());
+			}
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
+					MessageTypeEnum.STUDENT_MEMBER_RENEW_MESSAGE,
+					userMap,
+					null,
+					0,
+					null,
+					null,pushMemberRenewAgain);
+
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
+					MessageTypeEnum.STUDENT_MEMBER_RENEW_MESSAGE,
+					userMap1,
+					null,
+					0,
+					null,
+					"STUDENT",pushMemberRenewAgain);
+		}
 	}
 
 	private MusicGroupSchoolTermCourseDetail getCourseDetail(MusicGroupSchoolTermCourseDetail courseDetail){

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

@@ -177,13 +177,7 @@
     <select id="getStudentCloudTeacherOrder" resultMap="CloudTeacherOrder">
         SELECT *
         FROM cloud_teacher_order
-        WHERE order_id_ IN (
-            SELECT id_
-            FROM student_payment_order
-            WHERE status_ = 'SUCCESS'
-              AND user_id_ = #{studentId}
-        )
-          AND student_id_ = #{studentId}
+        WHERE student_id_ = #{studentId}
           AND status_ IN (1, 2)
     </select>
 

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -241,6 +241,18 @@
                     #{musicGroupId}
                 </foreach>
             </if>
+            <if test="createStartDate!=null">
+                AND date(transaction_teacher_id_) &gt;= #{createStartDate}
+            </if>
+            <if test="createEndDate!=null">
+                AND date(transaction_teacher_id_) &lt;= #{createEndDate}
+            </if>
+            <if test="billStartDate!=null">
+                AND date(bill_start_date_) &gt;= #{billStartDate}
+            </if>
+            <if test="billEndDate!=null">
+                AND date(bill_start_date_) &lt;= #{billEndDate}
+            </if>
         </where>
     </sql>
 

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

@@ -499,7 +499,7 @@
     </select>
     <select id="queryAuditList" resultMap="MusicGroupPaymentCalenderAuditDtoMap">
         SELECT mgpc.batch_no_,MAX(mgpc.music_group_id_) music_group_id_
-        ,MAX(mgpc.create_time_) create_time_,MAX(mgpc.payment_type_) payment_type_,MAX(mgpc.operator_) operator_,
+        ,MAX(mgpc.create_time_) create_time_,MIN(mgpc.payment_type_) payment_type_,MAX(mgpc.operator_) operator_,
         MAX(mgpc.pay_user_type_) pay_user_type_,MAX(mgpc.memo_) memo_,MAX(mgpc.audit_memo_) audit_memo_,MAX(mgpc.status_) status_,
         CASE WHEN MAX(mgpc.payment_type_) = 'SPAN_GROUP_CLASS_ADJUST' THEN MAX(mgsca.master_class_course_times_) ELSE SUM(mgpccs.course_total_minuties_) END course_total_minuties_,
         CASE WHEN MAX(mgpc.payment_type_) = 'SPAN_GROUP_CLASS_ADJUST' THEN MAX(mgpc.payment_amount_) ELSE SUM(mgpccs.course_original_price_) END course_original_price_,

+ 11 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -27,6 +27,7 @@ import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.entity.Student;
+import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
 import com.ym.mec.biz.service.AppVersionInfoService;
@@ -38,6 +39,7 @@ import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.biz.service.SubjectService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysSuggestionService;
 import com.ym.mec.biz.service.SysUserBankCardService;
 import com.ym.mec.biz.service.SysUserCashAccountDetailService;
@@ -85,6 +87,9 @@ public class StudentManageController extends BaseController {
     
     @Autowired
     private MemberRankPrivilegesService memberRankPrivilegesService;
+    
+    @Autowired
+    private SysConfigService sysConfigService;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
 
@@ -166,6 +171,12 @@ public class StudentManageController extends BaseController {
 		} else {
 			datas.put("userPrivileges", memberRankPrivilegesService.queryByMemberRankId(student.getMemberRankSettingId()));
 		}
+		SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.HOMEWORK_OPEN_FLAG);
+		if (sysConfig == null) {
+			datas.put("homeworkOpenFlag", 0);
+		} else {
+			datas.put("homeworkOpenFlag", Integer.parseInt(sysConfig.getParanValue()));
+		}
 
 		return succeed(datas);
 	}