소스 검색

Merge branch 'master' into yonge

yonge 5 년 전
부모
커밋
b8d22dec8c
22개의 변경된 파일272개의 추가작업 그리고 93개의 파일을 삭제
  1. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPurchaseListDao.java
  2. 11 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java
  3. 71 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HfMemberDto.java
  4. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  6. 1 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java
  7. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java
  8. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  9. 16 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java
  10. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  11. 6 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  12. 0 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  14. 0 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantPaymentOrderServiceImpl.java
  15. 2 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  16. 27 9
      mec-biz/src/main/resources/config/mybatis/MusicGroupPurchaseListMapper.xml
  17. 9 0
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  18. 5 3
      mec-biz/src/main/resources/config/mybatis/StudentPaymentRouteOrderMapper.xml
  19. 4 27
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  20. 26 2
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/CorpMember.java
  21. 24 23
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java
  22. 39 0
      mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPurchaseListDao.java

@@ -5,9 +5,13 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Set;
 
 public interface MusicGroupPurchaseListDao extends BaseDAO<Integer, MusicGroupPurchaseList> {
 
 
     int batchInsert(@Param("musicGroupPurchaseLists") List<MusicGroupPurchaseList> MusicGroupPurchaseLists);
+
+
+    List<MusicGroupPurchaseList> getCount(@Param("musicGroupIds") Set<String> musicGroupIds);
 }

+ 11 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -275,6 +275,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
 
     /**
      * 统计商户当月收款金额
+     *
      * @param merNo
      * @param firstDate
      * @return
@@ -282,20 +283,26 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
     BigDecimal sumAccountAmount(@Param("merNo") String merNo, @Param("firstDate") Date firstDate);
 
     /**
-     * @describe 统计课程组非失败订单数量
-     * @author Joburgess
-     * @date 2020.06.22
      * @param groupId:
      * @param groupType:
      * @return int
+     * @describe 统计课程组非失败订单数量
+     * @author Joburgess
+     * @date 2020.06.22
      */
     int countGroupOrderWithoutFailed(@Param("groupId") String groupId,
-                                       @Param("groupType") GroupType groupType);
+                                     @Param("groupType") GroupType groupType);
 
     /**
      * 统计
+     *
      * @param sporadicId
      * @return
      */
     Integer countSporadicOrder(Integer sporadicId);
+
+    /*
+
+     */
+    Integer findOrganPayOrderNum(@Param("organId") Integer organId);
 }

+ 71 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HfMemberDto.java

@@ -0,0 +1,71 @@
+package com.ym.mec.biz.dal.dto;
+
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.web.multipart.MultipartFile;
+
+public class HfMemberDto {
+    //商户号
+    private String memberId;
+    //公司名称
+    private String name;
+    //省份编号
+    private String provCode;
+    //城市编号
+    private String areaCode;
+    //统一社会信用码
+    private String socialCreditCode;
+    //统一社会信用码有效期
+    private String socialCreditCodeExpires;
+    //经营范围
+    private String businessScope;
+    //法人
+    private String legalPerson;
+    //法人身份证号
+    private String legalCertId;
+    //身份证有效期
+    private String legalCertIdExpires;
+    //法人手机号
+    private String legalMp;
+    //公司地址
+    private String address;
+    //邮编
+    private String zipCode;
+    //银行卡号
+    private String cardNo;
+    //银行编码
+    private String bankCode;
+    //文件
+    private MultipartFile path;
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getProvCode() {
+        return provCode;
+    }
+
+    public void setProvCode(String provCode) {
+        this.provCode = provCode;
+    }
+
+    public String getAreaCode() {
+        return areaCode;
+    }
+
+    public void setAreaCode(String areaCode) {
+        this.areaCode = areaCode;
+    }
+}

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -156,6 +156,8 @@ public class MusicGroup {
 
 	private String subjectName;
 
+	private Boolean hasVerifyMusicalList = false;
+
 	public String getSubjectName() {
 		return subjectName;
 	}
@@ -505,4 +507,11 @@ public class MusicGroup {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+	public Boolean getHasVerifyMusicalList() {
+		return hasVerifyMusicalList;
+	}
+
+	public void setHasVerifyMusicalList(Boolean hasVerifyMusicalList) {
+		this.hasVerifyMusicalList = hasVerifyMusicalList;
+	}
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -115,4 +115,11 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 */
 	Boolean getOrderStatus(Long id) throws Exception;
 
+	/**
+	 * 获取分部支付成功支付中订单数量
+	 * @param organId
+	 * @return
+	 */
+	Integer findOrganPayOrderNum(Integer organId);
+
 }

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

@@ -536,7 +536,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     studentPaymentOrder.setBalancePaymentAmount(studentPaymentOrder.getExpectAmount());
                     studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                     studentPaymentOrder.setUpdateTime(now);
-                    studentPaymentOrder.setRoutingOrganId(42);
+                    studentPaymentOrder.setRoutingOrganId(coursesGroup.getOrganId());
 
                     sysUserCashAccountService.updateBalance(userId, studentPaymentOrder.getExpectAmount().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "对外课程购买");
 
@@ -577,10 +577,6 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
                     "outGroupBuy"
             );
 
-            Map<String, BigDecimal> routingFee = (Map<String, BigDecimal>) payMap.get("routingFee");
-            studentPaymentOrder.setRoutingOrganId((Integer) payMap.get("routingOrganId"));
-            studentPaymentOrder.setComAmount(routingFee.get("COM"));
-            studentPaymentOrder.setPerAmount(routingFee.get("PER"));
             studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
             studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
             studentPaymentOrder.setUpdateTime(now);

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

@@ -105,6 +105,8 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
     private StudentDao studentDao;
     @Autowired
     private TeacherCourseRewardService teacherCourseRewardService;
+    @Autowired
+    private StudentPaymentRouteOrderService studentPaymentRouteOrderService;
 
     private static final Logger LOGGER = LoggerFactory
             .getLogger(EduPracticeGroupService.class);
@@ -455,13 +457,14 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
             }
             studentPaymentOrder.setPaymentChannel("BALANCE");
             if(userCashAccount.getBalance().subtract(studentPaymentOrder.getExpectAmount()).doubleValue() >= 0){
+                studentPaymentRouteOrderService.addRouteOrder(orderNo, practiceGroupBuyParams.getOrganId(), studentPaymentOrder.getExpectAmount());
                 // 更新订单信息
                 studentPaymentOrder.setActualAmount(new BigDecimal(0));
                 studentPaymentOrder.setBalancePaymentAmount(studentPaymentOrder.getExpectAmount());
                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                 studentPaymentOrder.setUpdateTime(now);
                 studentPaymentOrder.setOrganId(practiceGroupBuyParams.getOrganId());
-                studentPaymentOrder.setRoutingOrganId(42);
+                studentPaymentOrder.setRoutingOrganId(practiceGroupBuyParams.getOrganId());
 
                 sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(),PlatformCashAccountDetailTypeEnum.PAY_FEE,operatorInfo+",教务代买");
 

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

@@ -1984,6 +1984,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 //        Set<Integer> organIds = musicGroupList.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
 //        Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds,",")));
 
+        List<MusicGroupPurchaseList> musicGroupPurchaseListCount = musicGroupPurchaseListDao.getCount(musicGroupIds);
+        Map<String, Integer> purchaseListMap = musicGroupPurchaseListCount.stream().collect(Collectors.toMap(MusicGroupPurchaseList::getMusicGroupId, MusicGroupPurchaseList::getPurchaseNum));
+
         //获取分部名称map
         musicGroupList.forEach(e -> {
 //            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
@@ -1993,6 +1996,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             e.setTeamTeacherName(teamTeacherNameMap.get(e.getTeamTeacherId()));
             e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : payNumMap.get(e.getId()));
             e.setChargeTypeName(chargeTypeNameMap.get(e.getChargeTypeId()));
+            e.setHasVerifyMusicalList(purchaseListMap.get(e.getId()) != null);
         });
         return musicGroupPageInfo;
     }

+ 16 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -263,6 +263,9 @@ public class PayServiceImpl implements PayService {
         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();
+            }
             List<RouteScaleDto> routeScaleDtos = new ArrayList<>();
             RouteScaleDto routeScaleDto = new RouteScaleDto();
             routeScaleDto.setAmount(amount);
@@ -299,7 +302,7 @@ public class PayServiceImpl implements PayService {
 
         //笔数比例
         if (paymentConfig.getType().equals(1)) {
-            int payOrderNums = studentPaymentOrderService.findPayOrderNum(); //获取支付中和成功的订单数
+            int payOrderNums = studentPaymentOrderService.findOrganPayOrderNum(organId); //获取支付中和成功的订单数
             int rem = payOrderNums % 10;
             rem = rem == 0 ? 10 : rem;
 
@@ -308,12 +311,15 @@ public class PayServiceImpl implements PayService {
             while (iterator.hasNext()) {
                 RouteScaleDto routeScaleDto = iterator.next();
                 Integer num = routeScaleDto.getScale();
+                boolean flag = false;
                 if (rem > scale && rem <= scale + num) {
                     routeScaleDto.setScale(100);
-                    continue;
+                    flag = true;
                 }
                 scale += num;
-                iterator.remove();
+                if (!flag) {
+                    iterator.remove();
+                }
             }
         }
         return routeScaleDtos;
@@ -398,7 +404,7 @@ public class PayServiceImpl implements PayService {
             return null;
         }
 
-        Integer organId = (Integer) channel.get("organId");
+        Integer organId = Integer.parseInt(channel.get("organId").toString());
         if (checkHasMaxReceipt(organId, amount)) {
             return null;
         }
@@ -439,10 +445,12 @@ public class PayServiceImpl implements PayService {
         paymentChannelList.add(PaymentChannelEnum.ADAPAY);
 
         BigDecimal monthHasReceipt = studentPaymentRouteOrderDao.getRouteOrderAmount(organId, paymentChannelList, monthStartTime);
+        monthHasReceipt = monthHasReceipt == null ? BigDecimal.ZERO : monthHasReceipt;
         if (amount.add(monthHasReceipt).compareTo(monthMaxReceipt) >= 0) {
             return true;
         }
         BigDecimal totalHasReceipt = studentPaymentRouteOrderDao.getRouteOrderAmount(organId, paymentChannelList, null);
+        totalHasReceipt = totalHasReceipt == null ? BigDecimal.ZERO : totalHasReceipt;
         if (amount.add(totalHasReceipt).compareTo(totalMaxReceipt) >= 0) {
             return true;
         }
@@ -460,6 +468,7 @@ public class PayServiceImpl implements PayService {
         int i = 0;
         BigDecimal hasRouteAmount = BigDecimal.ZERO;
         BigDecimal hasRouteBalanceAmount = BigDecimal.ZERO;
+        BigDecimal hasRouteMoney = BigDecimal.ZERO;
         List<Map<String, Object>> tempRoutingList = new ArrayList<>();
 
         PaymentChannelEnum patType = null;
@@ -474,9 +483,11 @@ public class PayServiceImpl implements PayService {
             }
             BigDecimal routingFee = routingAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
             BigDecimal routeBalanceAmount = balanceAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal routingMoney = routingAmount.multiply(new BigDecimal(routeScaleDto.getScale())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
             if (i == routeScaleDtos.size()) {
                 routingFee = routingAmount.subtract(hasRouteAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
                 routeBalanceAmount = balanceAmount.subtract(hasRouteBalanceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
+                routingMoney = amount.subtract(hasRouteMoney).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
             hasRouteAmount = hasRouteAmount.add(routingFee);
             hasRouteBalanceAmount = hasRouteBalanceAmount.add(routeBalanceAmount);
@@ -493,7 +504,7 @@ public class PayServiceImpl implements PayService {
             studentPaymentRouteOrder.setOrderNo(orderNo);
             studentPaymentRouteOrder.setRouteOrganId(routeScaleDto.getOrganId());
             studentPaymentRouteOrder.setFeeFlag(routeScaleDto.getFeeFlag());
-            studentPaymentRouteOrder.setRouteAmount(routingFee);
+            studentPaymentRouteOrder.setRouteAmount(routingMoney);
             studentPaymentRouteOrder.setRouteBalanceAmount(routeBalanceAmount);
             studentPaymentRouteOrder.setMerNo(routeScaleDto.getMerNo());
             RouteOrders.add(studentPaymentRouteOrder);

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

@@ -3070,7 +3070,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
                 studentPaymentOrder.setUpdateTime(now);
                 studentPaymentOrder.setOrganId(practiceGroupBuyParams.getOrganId());
-                studentPaymentOrder.setRoutingOrganId(42);
+                studentPaymentOrder.setRoutingOrganId(practiceGroupBuyParams.getOrganId());
 
                 sysUserCashAccountService.updateBalance(practiceGroupBuyParams.getStudentId(), studentPaymentOrder.getExpectAmount().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "网管课购买");
 
@@ -3445,7 +3445,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                 newOrder.setStatus(DealStatusEnum.SUCCESS);
                 newOrder.setUpdateTime(new Date());
                 newOrder.setOrganId(practiceGroup.getOrganId());
-                newOrder.setRoutingOrganId(42);
+                newOrder.setRoutingOrganId(practiceGroup.getOrganId());
 
                 sysUserCashAccountService.updateBalance(userId, newOrder.getExpectAmount().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "网管课购买");
 

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

@@ -336,7 +336,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     public Boolean getOrderStatus(Long id) throws Exception {
         StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.get(id);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
-        if(studentPaymentOrderDao.update(studentPaymentOrder) <= 0){
+        if (studentPaymentOrderDao.update(studentPaymentOrder) <= 0) {
             throw new BizException("订单状态更新失败,请重试");
         }
         List<StudentPaymentOrder> orderList = new ArrayList<>();
@@ -348,4 +348,9 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         }
         return true;
     }
+
+    @Override
+    public Integer findOrganPayOrderNum(Integer organId) {
+        return studentPaymentOrderDao.findOrganPayOrderNum(organId);
+    }
 }

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

@@ -57,7 +57,6 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             dataList = studentPaymentRouteOrderDao.queryPageOrder(params);
 
             StudentPaymentRouteOrderDto orderMoneyAmount = studentPaymentRouteOrderDao.getOrderMoneyAmount(params);
-            BigDecimal totalExpectAmount = orderMoneyAmount.getExpectAmount() != null ? orderMoneyAmount.getExpectAmount() : BigDecimal.ZERO;
             BigDecimal totalActualAmount = orderMoneyAmount.getActualAmount() != null ? orderMoneyAmount.getActualAmount() : BigDecimal.ZERO;
             BigDecimal totalBalancePaymentAmount = orderMoneyAmount.getBalancePaymentAmount() != null ? orderMoneyAmount.getBalancePaymentAmount() : BigDecimal.ZERO;
 
@@ -67,7 +66,6 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             BigDecimal totalAdvanceAmount = totalChargeAmount.subtract(totalBalancePaymentAmount);
 
             pageInfo.setTotalAdvanceAmount(totalAdvanceAmount);
-            pageInfo.setTotalExpectAmount(totalExpectAmount);
             pageInfo.setTotalActualAmount(totalActualAmount);
             pageInfo.setTotalRevenueAmount(totalActualAmount.subtract(totalAdvanceAmount));
         }

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

@@ -593,7 +593,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentPaymentOrder.setMusicGroupId(musicGroupId);
             studentPaymentOrder.setClassGroupId(studentAddDto.getSignClassId());
             studentPaymentOrder.setOrganId(musicGroup.getOrganId());
-            studentPaymentOrder.setRoutingOrganId(42);
+            studentPaymentOrder.setRoutingOrganId(musicGroup.getOrganId());
 
             //生成订单明细
             List<StudentPaymentOrderDetail> studentPaymentOrderDetails = studentAddDto.getStudentPaymentOrderDetails();

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantPaymentOrderServiceImpl.java

@@ -180,9 +180,6 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
                     "tenantPayment"
             );
 
-            Map<String, BigDecimal> routingFee = (Map<String, BigDecimal>) payMap.get("routingFee");
-            tenantPaymentOrder.setComAmount(routingFee.get("COM"));
-            tenantPaymentOrder.setPerAmount(routingFee.get("PER"));
             tenantPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
             tenantPaymentOrder.setPaymentChannel(PaymentChannelEnum.valueOf(payMap.get("type").toString()));
             tenantPaymentOrder.setUpdateTime(date);

+ 2 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1355,7 +1355,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 				studentPaymentOrder.setUpdateTime(date);
 				studentPaymentOrder.setOrganId(vipGroup.getOrganId());
-		        studentPaymentOrder.setRoutingOrganId(42);
+		        studentPaymentOrder.setRoutingOrganId(vipGroup.getOrganId());
 
 				this.orderCallback(studentPaymentOrder);
 
@@ -1404,11 +1404,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 					"vipBuy"
 			);
 
-			Map<String,BigDecimal> routingFee = (Map<String,BigDecimal>)payMap.get("routingFee");
 			studentPaymentOrder.setOrganId(vipGroup.getOrganId());
-			studentPaymentOrder.setRoutingOrganId((Integer) payMap.get("routingOrganId"));
-			studentPaymentOrder.setComAmount(routingFee.get("COM"));
-			studentPaymentOrder.setPerAmount(routingFee.get("PER"));
+			studentPaymentOrder.setRoutingOrganId(vipGroup.getOrganId());
 			studentPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
 			studentPaymentOrder.setPaymentChannel((String) payMap.get("type"));
 			studentPaymentOrder.setUpdateTime(date);

+ 27 - 9
mec-biz/src/main/resources/config/mybatis/MusicGroupPurchaseListMapper.xml

@@ -17,13 +17,17 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="MusicGroupPurchaseList">
-		SELECT * FROM music_group_purchase_list WHERE id_ = #{id} 
-	</select>
+        SELECT *
+        FROM music_group_purchase_list
+        WHERE id_ = #{id}
+    </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="MusicGroupPurchaseList">
-		SELECT * FROM music_group_purchase_list ORDER BY id_
-	</select>
+        SELECT *
+        FROM music_group_purchase_list
+        ORDER BY id_
+    </select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPurchaseList" useGeneratedKeys="true"
@@ -59,8 +63,10 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM music_group_purchase_list WHERE id_ = #{id} 
-	</delete>
+        DELETE
+        FROM music_group_purchase_list
+        WHERE id_ = #{id}
+    </delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupPurchaseList" parameterType="map">
@@ -76,20 +82,32 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM music_group_purchase_list
+        SELECT COUNT(*) FROM music_group_purchase_list
         <where>
             <if test="musicGroupId != null">
                 music_group_id_ = #{musicGroupId}
             </if>
         </where>
-	</select>
+    </select>
 
     <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPurchaseList" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO music_group_purchase_list (id_,music_group_id_,goods_id_,purchase_num_,create_time_,update_time_)
         VALUES
         <foreach collection="musicGroupPurchaseLists" item="item" index="index" separator=",">
-        (#{item.id},#{item.musicGroupId},#{item.goodsId},#{item.purchaseNum},now(),now())
+            (#{item.id},#{item.musicGroupId},#{item.goodsId},#{item.purchaseNum},now(),now())
         </foreach>
     </insert>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="getCount" resultMap="MusicGroupPurchaseList">
+        SELECT music_group_id_, COUNT(*) purchase_num_ FROM music_group_purchase_list
+        <where>
+            music_group_id_ IN
+            <foreach collection="musicGroupIds" item="musicGroupId" open="(" close=")" separator=",">
+                #{musicGroupId}
+            </foreach>
+        </where>
+        GROUP BY music_group_id_
+    </select>
 </mapper>

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

@@ -644,4 +644,13 @@
     <select id="countSporadicOrder" resultType="java.lang.Integer">
         SELECT COUNT(id_) FROM student_payment_order spo WHERE spo.group_type_ = 'SPORADIC' AND spo.music_group_id_ = #{sporadicId}
     </select>
+
+    <!-- 查找支付成功和支付中订单 -->
+    <select id="findOrganPayOrderNum" resultType="int">
+        <![CDATA[
+        SELECT COUNT(*)
+        FROM student_payment_order
+        WHERE organ_id_ = #{organId} AND status_ IN ('SUCCESS','ING')
+        ]]>
+    </select>
 </mapper>

+ 5 - 3
mec-biz/src/main/resources/config/mybatis/StudentPaymentRouteOrderMapper.xml

@@ -87,13 +87,15 @@
         <include refid="global.limit"/>
     </select>
     <select id="getOrderMoneyAmount" parameterType="map" resultMap="StudentPaymentRouteOrderDto">
-        SELECT SUM(spo.expect_amount_) expect_amount_,SUM(actual_amount_) actual_amount_,SUM(balance_payment_amount_)
-        balance_payment_amount_ FROM student_payment_order spo
+        SELECT SUM(spro.route_amount_) actual_amount_,SUM(spro.route_balance_amount_)
+        balance_payment_amount_ FROM student_payment_route_order spro
+        LEFT JOIN student_payment_order spo on spo.order_no_ = spro.order_no_
         <include refid="queryPaymentOrder"/>
     </select>
 
     <select id="getChargeAmount" parameterType="map" resultType="java.math.BigDecimal">
-        SELECT SUM(actual_amount_) FROM student_payment_order spo
+        SELECT SUM(spro.route_amount_) FROM student_payment_route_order spro
+        LEFT JOIN student_payment_order spo ON spo.order_no_=spro.order_no_
         LEFT JOIN sporadic_charge_info sci ON spo.music_group_id_ = sci.id_
         <include refid="queryPaymentOrder"/>
     </select>

+ 4 - 27
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -176,12 +176,15 @@ public class StudentOrderController extends BaseController {
         if (studentPaymentOrder == null && tenantPaymentOrder == null) {
             return failed("订单不存在");
         }
+        BigDecimal payAmount;
         if (studentPaymentOrder != null) {
             createTime = studentPaymentOrder.getCreateTime();
             merNos = studentPaymentOrder.getMerNos();
+            payAmount = studentPaymentOrder.getActualAmount();
         } else {
             createTime = tenantPaymentOrder.getCreateTime();
             merNos = tenantPaymentOrder.getMerNos();
+            payAmount = studentPaymentOrder.getActualAmount();
         }
 
         Calendar beforeTime = Calendar.getInstance();
@@ -198,7 +201,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", amount);
+        paymentParams.put("pay_amt", payAmount.setScale(2,BigDecimal.ROUND_HALF_UP));
         paymentParams.put("goods_title", orderSubject);
         paymentParams.put("goods_desc", orderBody);
         paymentParams.put("time_expire", timeExpire);
@@ -698,30 +701,4 @@ public class StudentOrderController extends BaseController {
         practice4Organs = practice4Organs.stream().sorted(Comparator.comparingDouble(Practice4OrganDto::getScale).reversed()).collect(Collectors.toList());
         return succeed(practice4Organs);
     }
-
-    @Autowired
-    PayService payService;
-
-    @GetMapping("/test")
-    public HttpResponseResult test() {
-        String baseApiUrl = "http://dev.dayaedu.com";
-        Map<String, Object> payMap = new HashMap<>();
-        try {
-            payMap = payService.getPayMap(
-                    new BigDecimal("50"),
-                    BigDecimal.ZERO,
-                    "20070915150900001",
-                    baseApiUrl + "/api-student/studentOrder/notify",
-                    baseApiUrl + "/api-student/studentOrder/paymentResult?orderNo=5435253245",
-                    "对外课程组购买",
-                    "测试购买",
-                    2,
-                    null
-            );
-            return succeed(payMap);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return succeed(payMap);
-    }
 }

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

@@ -7,9 +7,9 @@ import java.util.Map;
 import com.alibaba.fastjson.JSON;
 
 /**
- * @author yingyong.wang
+ * @author 
  */
-class CorpMember extends ConfigInit {
+public class CorpMember extends ConfigInit {
 
     /**
      * 运行 CorpMember 类接口
@@ -129,6 +129,30 @@ class CorpMember extends ConfigInit {
     }
 
     /**
+     * 创建 CorpMember
+     *
+     * @return 创建的CorpMember 对象
+     * @throws Exception 异常
+     */
+    public Map<String, Object> executeCreateMember( Map<String,Object> info,String path) throws Exception {
+        System.out.println("=======execute Create CorpMember begin=======");
+        Map<String, Object> memberParams = new HashMap<String, Object>();
+        memberParams.put("app_id", appId);
+        memberParams.putAll(info);
+
+        File file = new File(path);
+        System.out.println("创建企业用户,请求参数:" + JSON.toJSONString(memberParams) );
+        Map<String, Object> member = com.huifu.adapay.model.CorpMember.create(memberParams, file);
+        System.out.println("创建企业用户,返回参数:" + JSON.toJSONString(member) );
+
+
+        System.out.println("=======execute Create CorpMember end=======");
+
+        return member;
+
+    }
+
+    /**
      * 查询 CorpMember
      *
      * @param member_id 待查询的member_id

+ 24 - 23
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.thirdparty.adapay;
 
+import java.util.HashMap;
 import java.util.Map;
 
 
@@ -17,29 +18,29 @@ public class MainDemo {
 
     public static void testMerchant() throws Exception {
 
-//        HashMap<String, Object> memberParams = new HashMap<>();
-//        memberParams.put("member_id", "W004201");
-//        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
-//
-//        memberParams.put("social_credit_code", "91420106303461541T");
-//        memberParams.put("social_credit_code_expires", "20440730");
-//        memberParams.put("business_scope", "教育资讯、投资资讯");
-//        memberParams.put("name", "武汉大雅乐盟教育咨询有限公司");
-//        memberParams.put("prov_code", "0042");
-//        memberParams.put("area_code", "4201");
-//        memberParams.put("legal_person", "李松");
-//        memberParams.put("legal_cert_id", "420106196811210837");
-//        memberParams.put("legal_cert_id_expires", "20990730");
-//        memberParams.put("legal_mp", "13958465215");//法人手机号
-//        memberParams.put("address", "武昌区水果湖汉街武汉中央文化旅游区K3地块第2幢34层2号");
-//        memberParams.put("zip_code", "430000");
-//        //memberParams.put("telphone", "41164452");
-//       // memberParams.put("email", "ceshi@qq.com");
-//        memberParams.put("bank_code", "03020000");
-//        memberParams.put("bank_acct_type", "1");
-//        memberParams.put("card_no", "‘8111501011700649152");
-//        memberParams.put("card_name", "武汉大雅");
-//        new CorpMember().executeCreateMember(memberParams);
+        HashMap<String, Object> memberParams = new HashMap<>();
+        memberParams.put("member_id", "W004201");
+        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
+
+        memberParams.put("social_credit_code", "91420106303461541T");
+        memberParams.put("social_credit_code_expires", "20440730");
+        memberParams.put("business_scope", "教育资讯、投资资讯");
+        memberParams.put("name", "武汉大雅乐盟教育咨询有限公司");
+        memberParams.put("prov_code", "0042");
+        memberParams.put("area_code", "4201");
+        memberParams.put("legal_person", "李松");
+        memberParams.put("legal_cert_id", "420106196811210837");
+        memberParams.put("legal_cert_id_expires", "20990730");
+        memberParams.put("legal_mp", "13958465215");//法人手机号
+        memberParams.put("address", "武昌区水果湖汉街武汉中央文化旅游区K3地块第2幢34层2号");
+        memberParams.put("zip_code", "430000");
+        //memberParams.put("telphone", "41164452");
+       // memberParams.put("email", "ceshi@qq.com");
+        memberParams.put("bank_code", "03020000");
+        memberParams.put("bank_acct_type", "1");
+        memberParams.put("card_no", "‘8111501011700649152");
+        memberParams.put("card_name", "武汉大雅");
+        new CorpMember().executeCreateMember(memberParams);
 
 //        new CorpMember().executeQueryMember("W004201");
 

+ 39 - 0
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -0,0 +1,39 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.thirdparty.adapay.CorpMember;
+import com.ym.mec.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+
+@RequestMapping("adapay")
+@Api(tags = "汇付服务")
+@RestController
+public class AdapayController extends BaseController {
+
+
+    @ApiOperation("新建企业用户")
+    @PostMapping(value = "createMember")
+    public Object queryRegisterContract(MultipartFile file) throws Exception {
+
+        HashMap<String, Object> memberParams = new HashMap<>();
+        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
+
+        memberParams.put("bank_acct_type", "1");
+        memberParams.put("card_name", "武汉大雅乐盟教育咨询有限公司");
+
+        String path = "C:/Users/river/Desktop/imgzip/武汉大雅乐盟教育咨询有限公司.zip";
+
+        new CorpMember().executeCreateMember(memberParams,path);
+        return true;
+    }
+
+
+}