Quellcode durchsuchen

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

hgw vor 3 Jahren
Ursprung
Commit
72124e67ea

+ 23 - 8
cms/src/main/java/com/ym/mec/cms/interceptor/TenantInterceptor.java

@@ -3,6 +3,7 @@ package com.ym.mec.cms.interceptor;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
@@ -11,11 +12,14 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.cms.dal.entity.TenantInfo;
 import com.ym.mec.cms.service.TenantInfoService;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.tenant.TenantContextHolder;
 
 public class TenantInterceptor extends HandlerInterceptorAdapter {
 
 	private static final String DATA_SOURCE_ID = "datasourceId";
+	
+	private static final String TENANT_ID = "tenantId";
 
 	@Autowired
 	@Lazy
@@ -27,16 +31,27 @@ public class TenantInterceptor extends HandlerInterceptorAdapter {
 	@Override
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 		
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		
-		if(sysUser != null && sysUser.getId() != null){
-			TenantContextHolder.setTenantId(sysUser.getTenantId());
-			
-			TenantInfo tenantInfo = tenantInfoService.get(sysUser.getTenantId());
+		String tenantId = request.getParameter(TENANT_ID);
+
+        if (StringUtils.isBlank(tenantId)) {
+            tenantId = request.getHeader(TENANT_ID);
+        }
+
+        if (StringUtils.isBlank(tenantId)) {
+            SysUser sysUser = sysUserFeignService.queryUserInfo();
+            if (sysUser != null && sysUser.getTenantId() != null) {
+                tenantId = sysUser.getTenantId().toString();
+            }
+        }
+        if (StringUtils.isNotBlank(tenantId)) {
+            TenantContextHolder.setTenantId(Integer.parseInt(tenantId));
+            TenantInfo tenantInfo = tenantInfoService.get(Integer.parseInt(tenantId));
 			if(tenantInfo != null){
 				request.setAttribute(DATA_SOURCE_ID, tenantInfo.getDataSource());
-			}
-		}
+			} else {
+                throw new BizException("机构信息异常,请联系管理员");
+            }
+        }
 		
 		return true;
 	}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderDto.java

@@ -54,6 +54,16 @@ public class MusicGroupPaymentCalenderDto extends BaseEntity {
 	//会员等级编号
 	private Integer memberRankSettingId;
 
+	private BigDecimal originalAmount;
+
+	public BigDecimal getOriginalAmount() {
+		return originalAmount;
+	}
+
+	public void setOriginalAmount(BigDecimal originalAmount) {
+		this.originalAmount = originalAmount;
+	}
+
 	public Integer getMemberValidDate() {
 		return memberValidDate;
 	}

+ 3 - 43
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -2,20 +2,16 @@ package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
+import com.ym.mec.common.entity.BaseEntity;
+import com.ym.mec.common.enums.BaseEnum;
 import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-import com.ym.mec.common.entity.BaseEntity;
-import com.ym.mec.common.enums.BaseEnum;
-
-import static com.ym.mec.biz.dal.enums.PeriodEnum.MONTH;
-
 /**
  * 对应数据库表(music_group_payment_calender):
  */
@@ -205,18 +201,6 @@ public class MusicGroupPaymentCalender extends BaseEntity {
 	//废弃字段
 	private Boolean memberOptionalFlag = false;
 
-	//乐保年限
-	//废弃字段
-	private BigDecimal musicRepairNum = BigDecimal.ZERO;
-
-	//乐保购买价格
-	//废弃字段
-	private BigDecimal musicRepairActualPrice = BigDecimal.ZERO;
-
-	//乐保是否必选
-	//废弃字段
-	private Boolean musicRepairOptionalFlag = false;
-
 	//申请价格
 	private BigDecimal currentTotalAmount;
 
@@ -275,30 +259,6 @@ public class MusicGroupPaymentCalender extends BaseEntity {
 		this.memberOptionalFlag = memberOptionalFlag;
 	}
 
-	public BigDecimal getMusicRepairNum() {
-		return musicRepairNum;
-	}
-
-	public void setMusicRepairNum(BigDecimal musicRepairNum) {
-		this.musicRepairNum = musicRepairNum;
-	}
-
-	public BigDecimal getMusicRepairActualPrice() {
-		return musicRepairActualPrice;
-	}
-
-	public void setMusicRepairActualPrice(BigDecimal musicRepairActualPrice) {
-		this.musicRepairActualPrice = musicRepairActualPrice;
-	}
-
-	public Boolean getMusicRepairOptionalFlag() {
-		return musicRepairOptionalFlag;
-	}
-
-	public void setMusicRepairOptionalFlag(Boolean musicRepairOptionalFlag) {
-		this.musicRepairOptionalFlag = musicRepairOptionalFlag;
-	}
-
 	public PeriodEnum getMemberPeriod() {
 		return memberPeriod;
 	}

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

@@ -14,7 +14,7 @@ import com.ym.mec.common.service.BaseService;
 public interface MusicGroupPaymentCalenderService extends BaseService<Long, MusicGroupPaymentCalender> {
 
 	/**
-	 * 创建缴费信息
+	 * 创建缴费信息(目前只支持合班缴费)
 	 * @param musicGroupPaymentCalenderDto
 	 * @return
 	 */

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

@@ -385,6 +385,12 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
     //云教练试用时间最晚截止时间
     String EXPERIENCE_MEMBERSHIP_END_TIME = "experience_membership_end_time";
 
+    //小课收入是否由平台收款
+    String IS_OPEN_SMALL_CLASS_INCOME_TO_PLATFORM = "is_open_small_class_income_to_platform";
+
+    //平台收款账户
+    String PLATFORM_PAYEE_ACCOUNT = "platform_payee_account";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -4592,6 +4592,11 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         paymentCalenderDto.setMusicGroupId(musicGroup.getId());
         boolean containsAll = musicGroupPaymentCalenderStudentDetails.containsAll(calenderStudentDetails);
+        BigDecimal originalPrice = BigDecimal.ZERO;
+        if(musicGroupPaymentCalenderStudentDetails != null && musicGroupPaymentCalenderStudentDetails.size() > 0){
+            originalPrice = musicGroupPaymentCalenderStudentDetails.stream().map(e -> e.getCourseOriginalPrice()).reduce(BigDecimal.ZERO, BigDecimal::add);
+        }
+        paymentCalenderDto.setOriginalAmount(originalPrice);
         if (!containsAll) {
             paymentCalenderDto.setStatus(AUDITING);
         } else {

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

@@ -1015,7 +1015,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         Map result = new HashMap();
         String practiceSubjectIdListConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_SUBJECT_ID_LIST,tenantId);
         if(StringUtils.isEmpty(practiceSubjectIdListConfig)){
-            throw new BizException("请配置陪练课可预约声部");
+            throw new BizException("未设置网管课可选分部,请联系老师");
         }
         SysConfig practiceApplyIntervalTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_INTERVAL_TIME);
         SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);

+ 3 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -162,10 +162,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 		}
 
-		if ((paymentType == PaymentType.ADD_COURSE)) {
-			if(musicGroupPaymentDateRangeList.size() > 1){
-				throw new BizException("[临时加课]不支持多周期缴费");
-			}
+		if(musicGroupPaymentDateRangeList.size() > 1){
+			throw new BizException("创建缴费失败:不支持多周期缴费");
 		}
 		MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
 		if (musicGroup == null) {
@@ -202,9 +200,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		if (sysUser == null) {
 			throw new BizException("请登录");
 		}
-		if (musicGroup.getCourseViewType() == CourseViewTypeEnum.MEMBER_FEE && musicGroupPaymentDateRangeList.size() > 1) {
-			throw new BizException("创建缴费失败:会员收费乐团不支持多周期缴费");
-		}
 		// 所有缴费项目已完成排课才能创建下一个缴费项目
 		String organBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,musicGroupPaymentCalenderDto.getIgnoreBatchNoList());
 		if (StringUtils.isNoneBlank(organBatchNo)) {
@@ -394,6 +389,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				musicGroupPaymentCalender.setMusicGroupPaymentCalenderCourseSettingsList(newCSList);
 			}
 			musicGroupPaymentCalender.setCurrentTotalAmount(totalPaymentAmount);
+			musicGroupPaymentCalender.setOriginalTotalAmount(musicGroupPaymentCalenderDto.getOriginalAmount());
 
 			if (paymentType == PaymentType.MUSIC_APPLY) {
 				if (i == 0) {

+ 112 - 88
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrderPayOpsServiceImpl.java

@@ -1,10 +1,49 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
+import java.util.function.BiPredicate;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
+import org.apache.commons.lang3.StringUtils;
+import org.redisson.api.RBucket;
+import org.redisson.api.RedissonClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.DigestUtils;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.entity.SysPaymentConfig;
+import com.ym.mec.biz.dal.entity.TenantConfig;
+import com.ym.mec.biz.dal.entity.TenantOrderRecord;
+import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.service.CloudTeacherOrderService;
+import com.ym.mec.biz.service.OrderPayOpsService;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysPaymentConfigService;
+import com.ym.mec.biz.service.TenantConfigService;
+import com.ym.mec.biz.service.TenantOrderRecordService;
+import com.ym.mec.biz.service.TenantPaymentOrderService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.WrapperUtil;
 import com.ym.mec.thirdparty.adapay.ConfigInit;
@@ -12,24 +51,6 @@ import com.ym.mec.thirdparty.adapay.Payment;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
 import com.ym.mec.util.json.JsonUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.redisson.api.RBucket;
-import org.redisson.api.RedissonClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.DigestUtils;
-
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-import java.util.function.BiPredicate;
-import java.util.function.Consumer;
-import java.util.function.Function;
 
 /**
  * @author hgw
@@ -56,6 +77,9 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
     private SysConfigService sysConfigService;
 
     @Autowired
+    private SysConfigDao sysConfigDao;
+    
+    @Autowired
     private SysPaymentConfigService sysPaymentConfigService;
 
     //支付类型
@@ -300,77 +324,77 @@ public class OrderPayOpsServiceImpl implements OrderPayOpsService {
         paymentParams.put("pay_amt", payParam.getAmount().setScale(2, RoundingMode.HALF_UP));
         paymentParams.put("goods_title", payParam.getOrderSubject());
         paymentParams.put("goods_desc", payParam.getOrderBody());
+        
+        TenantConfig tenantConfig = tenantConfigService.queryByTenantId(payParam.getTenantId());
+        if (tenantConfig == null) {
+            throw new BizException("机构[{}]信息找不到", payParam.getTenantId());
+        }
+        
+        if (clazz instanceof StudentPaymentOrder || clazz instanceof TenantPaymentOrder) {
+        	
+        	if (payParam.getTenantId() == 1) {
+                // 延时分账
+                paymentParams.put("pay_mode", "delay");
+            } else {
 
-        if (payParam.getTenantId() == 1) {
-            // 延时分账
-            paymentParams.put("pay_mode", "delay");
-        } else {
-            TenantConfig tenantConfig = tenantConfigService.queryByTenantId(payParam.getTenantId());
-            if (tenantConfig == null) {
-                throw new BizException("机构[{}]信息找不到", payParam.getTenantId());
-            }
-            String merNos;
-            BigDecimal amount;
-            Function<BigDecimal, BigDecimal> amountTo = (a) -> a
-                    .multiply(tenantConfig.getChargeRate())
-                    .divide(new BigDecimal(1000), 2, RoundingMode.HALF_UP);
-
-            if (clazz instanceof StudentPaymentOrder) {
-                StudentPaymentOrder st = (StudentPaymentOrder) clazz;
-                merNos = st.getMerNos();
-                amount = amountTo.apply(st.getActualAmount());
-
-                List<Map<String, Object>> divMemberList = new ArrayList<>();
+                Function<BigDecimal, BigDecimal> amountTo = (a) -> a
+                        .multiply(tenantConfig.getChargeRate())
+                        .divide(new BigDecimal(1000), 2, RoundingMode.HALF_UP);
+                
+            	StudentPaymentOrder st = (StudentPaymentOrder) clazz;
+            	BigDecimal amount = amountTo.apply(st.getActualAmount());
+		        
+				List<Map<String, Object>> divMemberList = new ArrayList<>();
                 // 实时分账
-                if (amount.doubleValue() > 0) {
-
-                    SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
-                    if (Objects.isNull(config)) {
-                        throw new BizException("平台收款账户没有设置[platform_collection_organ]");
-                    }
-
-                    SysPaymentConfig sysPaymentConfig = sysPaymentConfigService.findPaymentConfigByOrganId(Integer.parseInt(config.getParanValue()));
-
-                    if (sysPaymentConfig == null || StringUtils.isBlank(sysPaymentConfig.getHfMerNo())) {
-                        throw new BizException("分部[{}]没有设置收款账号", config.getParanValue());
-                    }
-
-                    Map<String, Object> divMember = new HashMap<>();
-                    divMember.put("member_id", sysPaymentConfig.getHfMerNo());
-                    divMember.put("amount", amount);
-                    divMember.put("fee_flag", "Y");
-                    divMemberList.add(divMember);
-                }
-
-                Map<String, Object> divMember1 = new HashMap<>();
-                divMember1.put("member_id", merNos);
-                divMember1.put("amount", payParam.getAmount().subtract(amount));
-                divMember1.put("fee_flag", "N");
-                divMemberList.add(divMember1);
-
-                paymentParams.put("div_members", JsonUtil.toJSONString(divMemberList));
-
-            } else if (clazz instanceof TenantOrderRecord) {//向平台支付,不分账
-                TenantOrderRecord tor = (TenantOrderRecord) clazz;
-                merNos = tor.getMerNos();
-
-                List<Map<String, Object>> divMemberList = new ArrayList<>();
-                Map<String, Object> divMember = new HashMap<>();
-                divMember.put("member_id", merNos);
-                divMember.put("amount", tor.getActualAmount());
-                divMember.put("fee_flag", "Y");
-                divMemberList.add(divMember);
-
-                paymentParams.put("div_members", JsonUtil.toJSONString(divMemberList));
-
-            } /*else if (clazz instanceof TenantPaymentOrder) {
-                TenantPaymentOrder tpo = (TenantPaymentOrder) clazz;
-                merNos = tpo.getMerNos();
-                amount = amountTo.apply(tpo.getActualAmount());
-            } */ else {
-                throw new BizException("订单[{}]找不到", payParam.getOrderNo());
+    			if (amount.doubleValue() > 0) {
+    				
+    				/*SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
+    		        if (Objects.isNull(config)) {
+    		            throw new BizException("平台收款账户没有设置[platform_collection_organ]");
+    		        }
+    	        	
+    	        	SysPaymentConfig sysPaymentConfig = sysPaymentConfigService.findPaymentConfigByOrganId(Integer.parseInt(config.getParanValue()));
+    	        	
+    	        	if(sysPaymentConfig == null || StringUtils.isBlank(sysPaymentConfig.getHfMerNo())){
+    	        		throw new BizException("分部[{}]没有设置收款账号", config.getParanValue());
+    	        	}*/
+    				
+    				String platformAccount = sysConfigDao.findConfigValue(SysConfigService.PLATFORM_PAYEE_ACCOUNT);
+    	        	
+    	        	if(StringUtils.isBlank(platformAccount)){
+    	        		throw new BizException("平台收款账户查询失败");
+    	        	}
+    	        	
+    				Map<String, Object> divMember = new HashMap<>();
+    				divMember.put("member_id", platformAccount);
+    				divMember.put("amount", amount);
+    				divMember.put("fee_flag", "Y");
+    				divMemberList.add(divMember);
+    			}
+
+				Map<String, Object> divMember1 = new HashMap<>();
+				divMember1.put("member_id", st.getMerNos());
+				divMember1.put("amount", payParam.getAmount().subtract(amount));
+				divMember1.put("fee_flag", "N");
+				divMemberList.add(divMember1);
+				
+				paymentParams.put("div_members", JsonUtil.toJSONString(divMemberList));
             }
-        }
+        	
+        } else if (clazz instanceof TenantOrderRecord) {//向平台支付,不分账
+        	TenantOrderRecord tor = (TenantOrderRecord) clazz;
+            
+            List<Map<String, Object>> divMemberList = new ArrayList<>();
+			Map<String, Object> divMember = new HashMap<>();
+			divMember.put("member_id", tor.getMerNos());
+			divMember.put("amount", tor.getActualAmount());
+			divMember.put("fee_flag", "Y");
+			divMemberList.add(divMember);
+
+			paymentParams.put("div_members", JsonUtil.toJSONString(divMemberList));
+        } else {
+	        throw new BizException("订单[{}]找不到", payParam.getOrderNo());
+	    }
 
         //手续费收取模式:O-商户手续费账户扣取手续费,I-交易金额中扣取手续费;值为空时,默认值为I;若为O时,分账对象列表中不支持传入手续费承担方
         //paymentParams.put("fee_mode", "I");

+ 53 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -28,10 +28,12 @@ import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
 import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.SysPaymentConfig;
 import com.ym.mec.biz.dal.enums.FeeTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import com.ym.mec.biz.service.PayService;
 import com.ym.mec.biz.service.SellOrderService;
 import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysPaymentConfigService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.redis.service.RedisCache;
@@ -108,6 +110,49 @@ public class PayServiceImpl implements PayService {
             return unionPay;
         }
         
+        //如果当前是买的小课/网管课
+		if (studentPaymentOrder.getType() == OrderTypeEnum.SMALL_CLASS_TO_BUY || studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_BUY
+				|| studentPaymentOrder.getType() == OrderTypeEnum.PRACTICE_GROUP_RENEW) {
+			
+			// 是否由平台收款
+			String isPlatformCollection = sysConfigDao.findConfigValue(SysConfigService.IS_OPEN_SMALL_CLASS_INCOME_TO_PLATFORM);
+			
+			if (StringUtils.equals("1", isPlatformCollection)) {
+				Date date = new Date();
+	        	
+	        	String merNo = sysConfigDao.findConfigValue(SysConfigService.PLATFORM_PAYEE_ACCOUNT);
+	        	
+	        	if(StringUtils.isBlank(merNo)){
+	        		throw new BizException("平台收款账户查询失败");
+	        	}
+	        	
+	        	StudentPaymentRouteOrder studentPaymentRouteOrder = new StudentPaymentRouteOrder();
+	            studentPaymentRouteOrder.setOrderNo(orderNo);
+	            studentPaymentRouteOrder.setRouteOrganId(organId);
+	            studentPaymentRouteOrder.setFeeFlag("Y");
+	            studentPaymentRouteOrder.setRouteAmount(amount);
+	            studentPaymentRouteOrder.setRouteBalanceAmount(balanceAmount);
+	            studentPaymentRouteOrder.setMerNo(merNo);
+	            studentPaymentRouteOrder.setSaleAmount(BigDecimal.ZERO);
+	            studentPaymentRouteOrder.setServiceAmount(amount);
+	            studentPaymentRouteOrder.setCreateTime(date);
+	            studentPaymentRouteOrder.setUpdateTime(date);
+	            studentPaymentRouteOrderDao.insert(studentPaymentRouteOrder);
+	            
+	            Map<String, Object> unionPay = new HashMap<>();
+	            Map<String, Object> payMap = Payment.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody);
+	            
+	            PaymentChannelEnum payType = PaymentChannelEnum.ADAPAY;
+
+	            unionPay.put("orderNo", orderNo);
+	            unionPay.put("type", payType.getCode());
+	            unionPay.put("payMap", payMap);
+	            unionPay.put("routingMerNos", merNo);
+	            return unionPay;
+			}
+			
+		}
+        
         String usePaymentConfig = sysConfigDao.findConfigValue("use_payment_config");// 是否用收费配置(1:使用 0:不使用)
         List<RouteScaleDto> routeScaleDtos = null;
         //使用配置开关
@@ -145,7 +190,7 @@ public class PayServiceImpl implements PayService {
 	public Map<String, Object> getPayToPlatformMap(PaymentChannelEnum paymentChannel, BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl,
 			String orderSubject, String orderBody) throws Exception {
     	
-    	SysConfig config = sysConfigDao.findByParamName("platform_collection_organ");
+    	/*SysConfig config = sysConfigDao.findByParamName("platform_collection_organ");
         if (Objects.isNull(config)) {
             throw new BizException("平台收款账户没有设置[platform_collection_organ]");
         }
@@ -156,7 +201,13 @@ public class PayServiceImpl implements PayService {
     		throw new BizException("分部[{}]没有设置收款账号", config.getParanValue());
     	}
     	
-    	String payeeMerNo = sysPaymentConfig.getHfMerNo();
+    	String payeeMerNo = sysPaymentConfig.getHfMerNo();*/
+    	
+    	String payeeMerNo = sysConfigDao.findConfigValue(SysConfigService.PLATFORM_PAYEE_ACCOUNT);
+    	
+    	if(StringUtils.isBlank(payeeMerNo)){
+    		throw new BizException("平台收款账户查询失败");
+    	}
     	
         Map<String, Object> payMap = null;
         

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

@@ -271,7 +271,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Map result = new HashMap(7);
         String practiceSubjectIdListConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_SUBJECT_ID_LIST, tenantId);
         if (StringUtils.isEmpty(practiceSubjectIdListConfig)) {
-            throw new BizException("请配置陪练课可预约声部");
+            throw new BizException("未设置网管课可选分部,请联系老师");
         }
 //        String practiceApplyStartTimeConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_APPLY_START_TIME,tenantId);
 //        String practiceApplyEndTimeConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_APPLY_END_TIME,tenantId);
@@ -302,7 +302,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     public Object getPracticeApplySubjects(Integer tenantId) {
         String practiceSubjectIdListConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_SUBJECT_ID_LIST, tenantId);
         if (StringUtils.isEmpty(practiceSubjectIdListConfig)) {
-            throw new BizException("请配置陪练课可预约声部");
+            throw new BizException("未设置网管课可选分部,请联系老师");
         }
         return subjectDao.findBySubjectByIdList(practiceSubjectIdListConfig);
     }
@@ -1218,7 +1218,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Map result = new HashMap();
         String practiceSubjectIdListConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_SUBJECT_ID_LIST, practiceGroup.getTenantId());
         if (StringUtils.isEmpty(practiceSubjectIdListConfig)) {
-            throw new BizException("请配置陪练课可预约声部");
+            throw new BizException("未设置网管课可选分部,请联系老师");
         }
         if (Objects.isNull(practiceGroup.getSubjectId())
                 || !Arrays.asList(practiceSubjectIdListConfig.split(",")).contains(practiceGroup.getSubjectId().toString())) {
@@ -1803,7 +1803,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         Map result = new HashMap();
         String practiceSubjectIdListConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_SUBJECT_ID_LIST, tenantId);
         if (StringUtils.isEmpty(practiceSubjectIdListConfig)) {
-            throw new BizException("请配置陪练课可预约声部");
+            throw new BizException("未设置网管课可选分部,请联系老师");
         }
 //        String practiceApplyStartTimeConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_APPLY_START_TIME,tenantId);
 //        String practiceApplyEndTimeConfig = sysTenantConfigService.getTenantConfigValue(SysConfigService.PRACTICE_APPLY_END_TIME,tenantId);

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

@@ -184,6 +184,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         student.setIsNewUser(true);
         student.setSchoolName(studentPreRegistration.getSchool());
         student.setCurrentGradeNum(studentPreRegistration.getCurrentGradeNum());
+        student.setSubjectIdList(studentPreRegistration.getSelectionSubjectId().toString());
         student.setCurrentClass(studentPreRegistration.getCurrentClass());
         student.setRemark(studentPreRegistration.getRemake());
         student.setUnitName(studentPreRegistration.getUnitName());

+ 0 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -502,10 +502,6 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
      * @param val      购买周期
      */
     public Map<String, Object> tenantRenewPay(Integer tenantId, Integer val) throws Exception {
-        SysConfig config = sysConfigService.findByParamName("platform_collection_organ");
-        if (Objects.isNull(config)) {
-            throw new BizException("未查询到机构收款分部信息!");
-        }
 
         TenantOrderRecordEnum tenantEnum = TenantOrderRecordEnum.TENANT_RENEW;
         Map<String, Object> result = new HashMap<>();

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

@@ -39,9 +39,6 @@
         <result column="member_valid_date_" property="memberValidDate"/>
         <result column="member_period_" property="memberPeriod" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="member_optional_flag_" property="memberOptionalFlag"/>
-        <result column="music_repair_num_" property="musicRepairNum"/>
-        <result column="music_repair_actual_price_" property="musicRepairActualPrice"/>
-        <result column="music_repair_optional_flag_" property="musicRepairOptionalFlag"/>
         <result column="current_total_amount_" property="currentTotalAmount"/>
         <result column="original_total_amount_" property="originalTotalAmount"/>
     </resultMap>
@@ -64,15 +61,14 @@
         actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,
         payment_pattern_,payment_type_,payment_amount_,batch_no_,audit_memo_,operator_,attribute1_,
          attribute2_,student_ids_,member_payment_amount_,member_rank_setting_id_,member_valid_date_
-         ,original_member_payment_amount_,member_period_,member_optional_flag_,
-         music_repair_num_,music_repair_actual_price_,music_repair_optional_flag_,current_total_amount_,original_total_amount_,tenant_id_,organ_id_)
+         ,original_member_payment_amount_,member_period_,member_optional_flag_,current_total_amount_,original_total_amount_,tenant_id_,organ_id_)
         VALUES(#{musicGroupId},#{musicGroupOrganizationCourseSettingId},#{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{rejectReason},#{startPaymentDate},#{deadlinePaymentDate},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{expectNum},#{actualNum},#{memo},#{isGiveMusicNetwork},now(),now(),
         #{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern},#{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{paymentAmount},#{batchNo},#{auditMemo},#{operator},#{attribute1},#{attribute2},#{studentIds},
                #{memberPaymentAmount},#{memberRankSettingId},#{memberValidDate},#{originalMemberPaymentAmount},#{memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-               #{memberOptionalFlag},#{musicRepairNum},#{musicRepairActualPrice},#{musicRepairOptionalFlag},#{currentTotalAmount},#{originalTotalAmount},#{tenantId},#{organId})
+               #{memberOptionalFlag},#{currentTotalAmount},#{originalTotalAmount},#{tenantId},#{organId})
     </insert>
 
     <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender" useGeneratedKeys="true"
@@ -82,7 +78,7 @@
         actual_num_,memo_,is_give_music_network_,create_time_,update_time_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_,payment_amount_,
         payment_type_,batch_no_,audit_memo_,operator_,attribute1_,attribute2_,student_ids_,
          member_payment_amount_,member_rank_setting_id_,member_valid_date_,original_member_payment_amount_,member_period_
-        ,member_optional_flag_,music_repair_num_,music_repair_actual_price_,music_repair_optional_flag_,current_total_amount_,original_total_amount_,tenant_id_,organ_id_)
+        ,member_optional_flag_,current_total_amount_,original_total_amount_,tenant_id_,organ_id_)
         VALUES
         <foreach collection="list" item="item" index="index" separator=",">
         (#{item.musicGroupId},#{item.musicGroupOrganizationCourseSettingId},#{item.payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.rejectReason},#{item.startPaymentDate},#{item.deadlinePaymentDate},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
@@ -90,7 +86,7 @@
         #{item.paymentValidStartDate},#{item.paymentValidEndDate},#{item.paymentPattern},#{item.paymentAmount},#{item.paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{item.batchNo},#{item.auditMemo},#{item.operator},#{item.attribute1},#{item.attribute2},
          #{item.studentIds},#{item.memberPaymentAmount},#{item.memberRankSettingId},#{item.memberValidDate},#{item.originalMemberPaymentAmount},#{item.memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            #{item.memberOptionalFlag},#{item.musicRepairNum},#{item.musicRepairActualPrice},#{item.musicRepairOptionalFlag},
+            #{item.memberOptionalFlag},
          #{item.currentTotalAmount},#{item.originalTotalAmount},#{item.tenantId},#{item.organId})
         </foreach>
     </insert>
@@ -108,15 +104,6 @@
             <if test="memberOptionalFlag != null">
                 member_optional_flag_ = #{memberOptionalFlag},
             </if>
-            <if test="musicRepairNum != null">
-                music_repair_num_ = #{musicRepairNum},
-            </if>
-            <if test="musicRepairActualPrice != null">
-                music_repair_actual_price_ = #{musicRepairActualPrice},
-            </if>
-            <if test="musicRepairOptionalFlag != null">
-                music_repair_optional_flag_ = #{musicRepairOptionalFlag},
-            </if>
             <if test="memberPeriod != null">
                 member_period_ = #{memberPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>