Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Joburgess пре 5 година
родитељ
комит
0179010354

+ 90 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherDefaultSalaryDto.java

@@ -26,8 +26,26 @@ public class TeacherDefaultSalaryDto {
 	
 	private BigDecimal vip5 = new BigDecimal(0);
 	
+	private BigDecimal vip6 = new BigDecimal(0);
+	
+	private BigDecimal vip7 = new BigDecimal(0);
+	
 	private BigDecimal practiceSalary = new BigDecimal(0);
 	
+	private BigDecimal singleSalary2 = new BigDecimal(0);
+	
+	private BigDecimal mixSalary2 = new BigDecimal(0);
+	
+	private BigDecimal comprehensiveSalary2 = new BigDecimal(0);
+	
+	private BigDecimal traningSigleSalary2 = new BigDecimal(0);
+	
+	private BigDecimal traningMixSalary2 = new BigDecimal(0);
+	
+	private BigDecimal highSalary2 = new BigDecimal(0);
+	
+	private BigDecimal classroomSalary2 = new BigDecimal(0);
+	
 	private BigDecimal singleSalary = new BigDecimal(0);
 	
 	private BigDecimal mixSalary = new BigDecimal(0);
@@ -233,4 +251,76 @@ public class TeacherDefaultSalaryDto {
 	public void setMusicNetwork1Salary(BigDecimal musicNetwork1Salary) {
 		this.musicNetwork1Salary = musicNetwork1Salary;
 	}
+
+	public BigDecimal getSingleSalary2() {
+		return singleSalary2;
+	}
+
+	public void setSingleSalary2(BigDecimal singleSalary2) {
+		this.singleSalary2 = singleSalary2;
+	}
+
+	public BigDecimal getMixSalary2() {
+		return mixSalary2;
+	}
+
+	public void setMixSalary2(BigDecimal mixSalary2) {
+		this.mixSalary2 = mixSalary2;
+	}
+
+	public BigDecimal getComprehensiveSalary2() {
+		return comprehensiveSalary2;
+	}
+
+	public void setComprehensiveSalary2(BigDecimal comprehensiveSalary2) {
+		this.comprehensiveSalary2 = comprehensiveSalary2;
+	}
+
+	public BigDecimal getTraningSigleSalary2() {
+		return traningSigleSalary2;
+	}
+
+	public void setTraningSigleSalary2(BigDecimal traningSigleSalary2) {
+		this.traningSigleSalary2 = traningSigleSalary2;
+	}
+
+	public BigDecimal getTraningMixSalary2() {
+		return traningMixSalary2;
+	}
+
+	public void setTraningMixSalary2(BigDecimal traningMixSalary2) {
+		this.traningMixSalary2 = traningMixSalary2;
+	}
+
+	public BigDecimal getHighSalary2() {
+		return highSalary2;
+	}
+
+	public void setHighSalary2(BigDecimal highSalary2) {
+		this.highSalary2 = highSalary2;
+	}
+
+	public BigDecimal getClassroomSalary2() {
+		return classroomSalary2;
+	}
+
+	public void setClassroomSalary2(BigDecimal classroomSalary2) {
+		this.classroomSalary2 = classroomSalary2;
+	}
+
+	public BigDecimal getVip6() {
+		return vip6;
+	}
+
+	public void setVip6(BigDecimal vip6) {
+		this.vip6 = vip6;
+	}
+
+	public BigDecimal getVip7() {
+		return vip7;
+	}
+
+	public void setVip7(BigDecimal vip7) {
+		this.vip7 = vip7;
+	}
 }

+ 20 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -7,15 +7,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.Organization;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.ym.mec.biz.dal.dao.DegreeRegistrationDao;
-import com.ym.mec.biz.dal.dao.SporadicChargeInfoDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.PageInfoDegree;
 import com.ym.mec.biz.dal.entity.DegreeRegistration;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
@@ -54,6 +52,9 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
     @Autowired
     private PayService payService;
 
+    @Autowired
+    private OrganizationDao organizationDao;
+
     @Override
     public BaseDAO<Integer, DegreeRegistration> getDAO() {
         return degreeRegistrationDao;
@@ -69,10 +70,10 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             throw new BizException("你选的考试级别不存在");
         }
 
-		if (!chargeInfo.getTitle().equals("一级") && !chargeInfo.getTitle().equals("二级") && StringUtils.equals("免考", degreeRegistration.getTheoryLevel())
-				&& StringUtils.isBlank(degreeRegistration.getTheoryCert())) {
-			throw new BizException("报考级别为“" + chargeInfo.getTitle() + "”且乐理级别是“免考”时,必须上传证书");
-		}
+        if (!chargeInfo.getTitle().equals("一级") && !chargeInfo.getTitle().equals("二级") && StringUtils.equals("免考", degreeRegistration.getTheoryLevel())
+                && StringUtils.isBlank(degreeRegistration.getTheoryCert())) {
+            throw new BizException("报考级别为“" + chargeInfo.getTitle() + "”且乐理级别是“免考”时,必须上传证书");
+        }
 
         String orderNo = idGeneratorService.generatorId("payment") + "";
 
@@ -153,11 +154,14 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 
-        Map<String, BigDecimal> classFee = new HashMap<>();
-        classFee.put("course", BigDecimal.ZERO);
-        classFee.put("instrument", BigDecimal.ZERO);
-        classFee.put("accessories", BigDecimal.ZERO);
-        classFee.put("other", amount);
+        List<Organization> organs = organizationDao.findAllOrgans();
+        Integer organId = chargeInfo.getOrganId();
+        for (Organization organ : organs) {
+            if (degreeRegistration.getCity().contains(organ.getName())) {
+                organId = organ.getId();
+                break;
+            }
+        }
 
         String receiver = "kjRegister";
         Map payMap = payService.getPayMap(
@@ -168,11 +172,11 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
                 baseApiUrl + "/api-student/studentOrder/paymentResult?orderNo=" + orderNo,
                 chargeInfo.getDetail(),
                 chargeInfo.getDetail(),
-                chargeInfo.getOrganId(),
+                organId,
                 receiver
         );
 
-        studentPaymentOrder.setOrganId(chargeInfo.getOrganId());
+        studentPaymentOrder.setOrganId(organId);
         studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
         studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
         studentPaymentOrder.setUpdateTime(nowDate);
@@ -181,7 +185,7 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
     }
 
     @Override
-    public Boolean updateStatus(Integer id, Integer status,String orderNo) {
+    public Boolean updateStatus(Integer id, Integer status, String orderNo) {
         DegreeRegistration degree = degreeRegistrationDao.getLock(id);
         if (degree == null || degree.getStatus().equals(2)) {
             return true;

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

@@ -1854,8 +1854,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             paymentDetail.setUpdateTime(date);
             paymentDetail.setUserId(userId);
             paymentDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-            paymentDetail.setComAmount(studentPaymentOrder.getComAmount().negate());
-            paymentDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
             sysUserCashAccountDetailService.insert(paymentDetail);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
             if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {

+ 11 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -249,7 +249,7 @@ public class PayServiceImpl implements PayService {
         List<RouteScaleDto> routeScaleDtos = null;
         //使用配置开关
         if (usePaymentConfig.equals("0")) {
-            routeScaleDtos = noUsePaymentConfig(organId, amount);
+            routeScaleDtos = noUsePaymentConfig(amount);
         }
 
         //根据金额获取分润
@@ -268,12 +268,12 @@ public class PayServiceImpl implements PayService {
         return getPayRoute(amount, balanceAmount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routeScaleDtos);
     }
 
-    private List<RouteScaleDto> noUsePaymentConfig(Integer organId, BigDecimal amount) {
+    private List<RouteScaleDto> noUsePaymentConfig(BigDecimal amount) {
         String paymentChannel = sysConfigDao.findConfigValue("payment_channel");
         List<RouteScaleDto> routeScaleDtos = new ArrayList<>();
         RouteScaleDto routeScaleDto = new RouteScaleDto();
         routeScaleDto.setAmount(amount);
-        routeScaleDto.setOrganId(organId);
+        routeScaleDto.setOrganId(ConfigInit.organId);
         routeScaleDto.setScale(100);
         if (paymentChannel.equals("YQPAY")) {
             routeScaleDto.setMerNo(YqPayUtil.merNo);
@@ -289,22 +289,20 @@ public class PayServiceImpl implements PayService {
 
     private List<RouteScaleDto> getPaymentConfigChannel(Integer organId, BigDecimal amount) {
         SysPaymentConfig paymentConfig = sysPaymentConfigService.findPaymentConfigByOrganId(organId);
-        if (paymentConfig == null || StringUtils.isBlank(paymentConfig.getRouteScale())) {
-            String paymentChannel = sysConfigDao.findConfigValue("payment_channel");
-            if (paymentConfig != null) {
-                paymentChannel = paymentConfig.getPayType().getCode();
-            }
+        if (paymentConfig == null) {
+            return noUsePaymentConfig(amount);
+        }
+        if (StringUtils.isBlank(paymentConfig.getRouteScale())) {
             List<RouteScaleDto> routeScaleDtos = new ArrayList<>();
             RouteScaleDto routeScaleDto = new RouteScaleDto();
             routeScaleDto.setAmount(amount);
             routeScaleDto.setOrganId(organId);
             routeScaleDto.setScale(100);
-            if (paymentChannel.equals("YQPAY")) {
-                routeScaleDto.setMerNo(YqPayUtil.merNo);
-                routeScaleDto.setPayType(PaymentChannelEnum.YQPAY);
+            routeScaleDto.setPayType(paymentConfig.getPayType());
+            if (paymentConfig.getPayType().equals(PaymentChannelEnum.YQPAY)) {
+                routeScaleDto.setMerNo(paymentConfig.getYqMerNo());
             } else {
-                routeScaleDto.setMerNo(ConfigInit.merNo);
-                routeScaleDto.setPayType(PaymentChannelEnum.ADAPAY);
+                routeScaleDto.setMerNo(paymentConfig.getHfMerNo());
             }
             routeScaleDto.setFeeFlag("Y");
             routeScaleDtos.add(routeScaleDto);

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

@@ -63,6 +63,7 @@ public class TeacherDefaultVipGroupSalaryServiceImpl extends BaseServiceImpl<Lon
 	public TeacherDefaultVipGroupSalary findByTeacherAndCategory(Integer userId, Integer categoryId) {
 		TeacherDefaultVipGroupSalary byTeacherAndCategory = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(userId, categoryId);
 		if (Objects.isNull(byTeacherAndCategory)) {
+			byTeacherAndCategory = new TeacherDefaultVipGroupSalary();
 			byTeacherAndCategory.setOfflineClassesSalary(new BigDecimal(0));
 			byTeacherAndCategory.setOnlineClassesSalary(new BigDecimal(0));
 		}

+ 18 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -68,7 +68,16 @@
         <result column="vip3" property="vip3"/>
         <result column="vip4" property="vip4"/>
         <result column="vip5" property="vip5"/>
+        <result column="vip6" property="vip6"/>
+        <result column="vip7" property="vip7"/>
         <result column="practice" property="practiceSalary"/>
+        <result column="single2" property="singleSalary2"/>
+        <result column="mix2" property="mixSalary2"/>
+        <result column="comprehensive2" property="comprehensiveSalary2"/>
+        <result column="training_single2" property="traningSigleSalary2"/>
+        <result column="training_mix2" property="traningMixSalary2"/>
+        <result column="high2" property="highSalary2"/>
+        <result column="classroom2" property="classroomSalary2"/>
         <result column="single" property="singleSalary"/>
         <result column="mix" property="mixSalary"/>
         <result column="comprehensive" property="comprehensiveSalary"/>
@@ -1145,7 +1154,16 @@
 		max(case when gc.`name_` = '1V3' then gs.`offline_classes_salary_` else 0 end) vip3,
 		max(case when gc.`name_` = '1V4' then gs.`offline_classes_salary_` else 0 end) vip4,
 		max(case when gc.`name_` = '1V5' then gs.`offline_classes_salary_` else 0 end) vip5,
+		max(case when gc.`name_` = '1V6' then gs.`offline_classes_salary_` else 0 end) vip6,
+		max(case when gc.`name_` = '1V7' then gs.`offline_classes_salary_` else 0 end) vip7,
 		max(pgs.main_teacher_salary_) practice,
+		MAX(case when mgs.course_schedule_type_ = 'SINGLE' then mgs.main_teacher_30min_salary_ ELSE 0 END) single2,
+		MAX(case when mgs.course_schedule_type_ = 'MIX' then mgs.main_teacher_30min_salary_ ELSE 0 END) mix2,
+		MAX(case when mgs.course_schedule_type_ = 'COMPREHENSIVE' then mgs.main_teacher_30min_salary_ ELSE 0 END) comprehensive2,
+		MAX(case when mgs.course_schedule_type_ = 'TRAINING_SINGLE' then mgs.main_teacher_30min_salary_ ELSE 0 END) training_single2,
+		MAX(case when mgs.course_schedule_type_ = 'TRAINING_MIX' then mgs.main_teacher_30min_salary_ ELSE 0 END) training_mix2,
+		MAX(case when mgs.course_schedule_type_ = 'HIGH' then mgs.main_teacher_30min_salary_ ELSE 0 END) high2,
+		MAX(case when mgs.course_schedule_type_ = 'CLASSROOM' then mgs.main_teacher_30min_salary_ ELSE 0 END) classroom2,
 		MAX(case when mgs.course_schedule_type_ = 'SINGLE' then mgs.main_teacher_90min_salary_ ELSE 0 END) single,
 		MAX(case when mgs.course_schedule_type_ = 'MIX' then mgs.main_teacher_90min_salary_ ELSE 0 END) mix,
 		MAX(case when mgs.course_schedule_type_ = 'COMPREHENSIVE' then mgs.main_teacher_90min_salary_ ELSE 0 END) comprehensive,

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/DegreeController.java

@@ -32,7 +32,7 @@ import java.util.List;
 import java.util.Map;
 
 @RequestMapping("degree")
-@Api(tags = "级报名服务")
+@Api(tags = "级报名服务")
 @RestController
 public class DegreeController extends BaseController {
 

+ 19 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
@@ -28,6 +29,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.util.DigestUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -150,6 +152,22 @@ public class StudentOrderController extends BaseController {
             @ApiImplicitParam(name = "payChannel", value = "支付方式(alipay-支付宝app支付)", required = true, dataType = "String"),
     })
     public Object executePayment(BigDecimal amount, String orderNo, String payChannel, String notifyUrl, String returnUrl, String orderSubject, String orderBody, String sign, String code, String platform) throws Exception {
+        Map<String, Object> signParams = new HashMap<>();
+        signParams.put("appId", ConfigInit.appId);
+        signParams.put("amount", amount);
+        signParams.put("orderNo", orderNo);
+        signParams.put("notifyUrl", notifyUrl);
+        signParams.put("returnUrl", returnUrl);
+        signParams.put("orderSubject", orderSubject);
+        signParams.put("orderBody", orderBody);
+        signParams.put("wxAppId", ConfigInit.wxAppId);
+
+        String originalStr = JSONObject.toJSONString(signParams);
+        String mewSign = DigestUtils.md5DigestAsHex(originalStr.getBytes());
+        if (mewSign.equals(sign)) {
+            return failed("请勿非法请求");
+        }
+
         String openId = "";
         if (payChannel.equals("wx_pub")) {
             if (code == null || code.isEmpty()) {
@@ -201,7 +219,7 @@ public class StudentOrderController extends BaseController {
         paymentParams.put("app_id", ConfigInit.appId);
         paymentParams.put("order_no", orderNo);
         paymentParams.put("pay_channel", payChannel);
-        paymentParams.put("pay_amt", payAmount.setScale(2, BigDecimal.ROUND_HALF_UP));
+        paymentParams.put("pay_amt", amount);
         paymentParams.put("goods_title", orderSubject);
         paymentParams.put("goods_desc", orderBody);
         paymentParams.put("time_expire", timeExpire);

+ 1 - 1
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/ConfigInit.java

@@ -8,7 +8,7 @@ public class ConfigInit {
 
 
     private static ConfigInit instance;
-    public final static Integer organId = 46; //商户对应的分部
+    public final static Integer organId = 16; //商户对应的分部
     public final static String merNo = "B09767221"; //商户对应的分部
     public final static String appId = "app_756972d1-882e-44c6-9f52-e6a6b93c8756";
 

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Payment.java

@@ -175,9 +175,9 @@ public class Payment extends ConfigInit {
 
 
     public static Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, String sellerNo, List<Map<String, Object>> tempRoutingList) throws Exception {
-        Map<String, Object> paymentParams = new HashMap<>(9);
+        Map<String, Object> paymentParams = new HashMap<>();
         paymentParams.put("appId", appId);
-        paymentParams.put("amount", amount);
+        paymentParams.put("amount", amount.setScale(2, BigDecimal.ROUND_HALF_UP));
         paymentParams.put("orderNo", orderNo);
         paymentParams.put("notifyUrl", notifyUrl);
         paymentParams.put("returnUrl", returnUrl);

+ 6 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1996,10 +1996,12 @@ public class ExportController extends BaseController {
 		OutputStream outputStream = response.getOutputStream();
 		try {
 
-			String[] header = { "老师编号", "姓名", "分部", "工作类型", "在职状态", "老师状态", "1v1", "1v2", "1v3", "1v4", "1v5", "网管课", "单技课", "合奏课", "综合课", "集训单技课", "集训合奏课",
-					"基础技能课", "课堂课", "线上基础技能课1v3", "线上基础技能课1v4", "线上基础技能课1v5", "乐团网管课1v1" };
-			String[] body = { "userId", "realName", "organName", "jobNature", "demissionStatus", "status", "vip1", "vip2", "vip3", "vip4", "vip5",
-					"practiceSalary", "singleSalary", "mixSalary", "comprehensiveSalary", "traningSigleSalary", "traningMixSalary", "highSalary",
+			String[] header = { "老师编号", "姓名", "分部", "工作类型", "在职状态", "老师状态", "1v1", "1v2", "1v3", "1v4", "1v5", "1v6", "1v7", "网管课", "单技课2.0", "合奏课2.0", "综合课2.0", "集训单技课2.0", "集训合奏课2.0",
+					"基础技能课2.0", "课堂课2.0", "单技课3.0", "合奏课3.0", "综合课3.0", "集训单技课3.0", "集训合奏课3.0",
+					"基础技能课3.0", "课堂课3.0", "线上基础技能课1v3", "线上基础技能课1v4", "线上基础技能课1v5", "乐团网管课1v1" };
+			String[] body = { "userId", "realName", "organName", "jobNature", "demissionStatus", "status", "vip1", "vip2", "vip3", "vip4", "vip5", "vip6", "vip7",
+					"practiceSalary", "singleSalary2", "mixSalary2", "comprehensiveSalary2", "traningSigleSalary2", "traningMixSalary2", "highSalary2",
+					"classroomSalary2", "singleSalary", "mixSalary", "comprehensiveSalary", "traningSigleSalary", "traningMixSalary", "highSalary",
 					"classroomSalary", "highOnline3Salary", "highOnline4Salary", "highOnline5Salary", "musicNetwork1Salary" };
 			HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList);
 			response.setContentType("application/octet-stream");