Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

zouxuan vor 4 Jahren
Ursprung
Commit
09d76b89ef

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/HfMemberDao.java

@@ -18,8 +18,15 @@ public interface HfMemberDao extends BaseDAO<Integer, HfMember> {
 
     /**
      * 根据名字获取商户信息
+     *
      * @param name
      * @return
      */
     HfMember getByName(@Param("name") String name);
+
+    /**
+     * 获取分佣账户中需要验证每月收最大金额的账户
+     * @return
+     */
+    List<HfMember> getNeedRouteMerNos();
 }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -98,6 +98,7 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
     List<StudentServeCourseDto> getServeStudentCourseStartTimes(@Param("monday") String monday);
 
     List<StudentServeCourseDto> getStudentFutureCourseInfo(@Param("monday") String monday,
+                                                           @Param("nextMonday") String nextMonday,
                                                            @Param("studentIds") List<Integer> studentIds);
 
     /**

+ 6 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentRecoverInfoDto.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 import java.time.LocalDate;
+import java.util.Date;
 
 /**
  * @Author Joburgess
@@ -20,14 +21,14 @@ public class StudentRecoverInfoDto {
 
     private int giveCourseTimes;
 
-    private int days;
+    private Date expireDate;
 
-    public int getDays() {
-        return days;
+    public Date getExpireDate() {
+        return expireDate;
     }
 
-    public void setDays(int days) {
-        this.days = days;
+    public void setExpireDate(Date expireDate) {
+        this.expireDate = expireDate;
     }
 
     public Integer getVipGroupId() {

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/HfMember.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.entity;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 public class HfMember {
@@ -71,6 +72,15 @@ public class HfMember {
     @ApiModelProperty(value = "备注",required = true)
     private String memo;
 
+    @ApiModelProperty(value = "每月最大收款金额",required = true)
+    private BigDecimal monthMaxReceipt;
+
+    @ApiModelProperty(value = "满额后收款账户",required = true)
+    private String routeMemberId;
+
+    @ApiModelProperty(value = "满额后收款分部",required = true)
+    private Integer routeOrganId;
+
     public Integer getId() {
         return Id;
     }
@@ -246,4 +256,28 @@ public class HfMember {
     public void setMemo(String memo) {
         this.memo = memo;
     }
+
+    public BigDecimal getMonthMaxReceipt() {
+        return monthMaxReceipt;
+    }
+
+    public void setMonthMaxReceipt(BigDecimal monthMaxReceipt) {
+        this.monthMaxReceipt = monthMaxReceipt;
+    }
+
+    public String getRouteMemberId() {
+        return routeMemberId;
+    }
+
+    public void setRouteMemberId(String routeMemberId) {
+        this.routeMemberId = routeMemberId;
+    }
+
+    public Integer getRouteOrganId() {
+        return routeOrganId;
+    }
+
+    public void setRouteOrganId(Integer routeOrganId) {
+        this.routeOrganId = routeOrganId;
+    }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRecoverDto.java

@@ -21,6 +21,16 @@ public class StudentRecoverDto extends CourseGenerateDto{
     @ApiModelProperty(value = "课程截至时间")
     private Date expireDate;
 
+    private int days;
+
+    public int getDays() {
+        return days;
+    }
+
+    public void setDays(int days) {
+        this.days = days;
+    }
+
     public Date getExpireDate() {
         return expireDate;
     }

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

@@ -1633,7 +1633,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 Map<Integer, Long> studentSubjectIdMap = MapUtil.convertIntegerMap(studentSubjectIdMaps);
                 truantStudent.forEach(studentAttendanceViewDto -> {
                     studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
-                    studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId()));
+                    studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
                 });
             }else if(schedule.getGroupType() != MUSIC){
                 ClassGroup classGroup = classGroupDao.get(schedule.getClassGroupId());

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

@@ -405,14 +405,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             BigDecimal deductCost = new BigDecimal(0);
             List<TeacherAttendance> courseTeacherAttendances = teacherCourseAttendanceMap.get(org.apache.commons.lang3.StringUtils.joinWith(":", courseScheduleTeacherSalary.getCourseScheduleId(), courseScheduleTeacherSalary.getUserId()));
 
-            TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0);
-            if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignInStatus())){
+//            TeacherAttendance teacherAttendance = courseTeacherAttendances.get(0);
+            if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(courseTeacherAttendances.get(0).getSignInStatus())){
                 //未签到扣除全部课酬
                 deductCost = deductCost.add(expectSalary);
                 deductReasons.add("未签到扣除全部课酬");
-            }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignInStatus())){
+            }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignInStatus())){
                 //异常签到
-                int signCourseTimeBetweenSeconds = DateUtil.secondsBetween(teacherAttendance.getSignInTime(), courseScheduleTeacherSalary.getCourseSchedule().getStartClassTime());
+                int signCourseTimeBetweenSeconds = DateUtil.secondsBetween(courseTeacherAttendances.get(0).getSignInTime(), courseScheduleTeacherSalary.getCourseSchedule().getStartClassTime());
                 float signCourseTimeBetween = (float)signCourseTimeBetweenSeconds/(float)60;
                 if(signCourseTimeBetween<=1&&signCourseTimeBetween>-3){
                     //课程开始前1分钟至开始后3分钟进入教室
@@ -430,13 +430,13 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 }
             }
 
-            if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(teacherAttendance.getSignOutStatus())){
+            if(CollectionUtils.isEmpty(courseTeacherAttendances)||Objects.isNull(courseTeacherAttendances.get(0).getSignOutStatus())){
                 //未签退扣除全部课酬
                 deductCost = deductCost.add(expectSalary);
                 deductReasons.add("未签退扣除全部课酬");
-            }else if(YesOrNoEnum.NO.equals(teacherAttendance.getSignOutStatus())){
+            }else if(YesOrNoEnum.NO.equals(courseTeacherAttendances.get(0).getSignOutStatus())){
                 //异常签退
-                int signOutCourseTimeBetweenSeconds = DateUtil.secondsBetween(teacherAttendance.getSignOutTime(), courseScheduleTeacherSalary.getCourseSchedule().getEndClassTime());
+                int signOutCourseTimeBetweenSeconds = DateUtil.secondsBetween(courseTeacherAttendances.get(0).getSignOutTime(), courseScheduleTeacherSalary.getCourseSchedule().getEndClassTime());
                 float signOutCourseTimeBetween = (float)signOutCourseTimeBetweenSeconds/(float)60;
 
                 if(signOutCourseTimeBetween>3){

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

@@ -1,15 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.ym.mec.biz.dal.dao.HfMemberDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dto.AmountChannelDto;
 import com.ym.mec.biz.dal.dto.RouteScaleDto;
-import com.ym.mec.biz.dal.entity.Group;
-import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
-import com.ym.mec.biz.dal.entity.SysAccount;
-import com.ym.mec.biz.dal.entity.SysPaymentConfig;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.FeeTypeEnum;
 import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
@@ -45,6 +43,8 @@ public class PayServiceImpl implements PayService {
     private StudentPaymentRouteOrderDao studentPaymentRouteOrderDao;
     @Autowired
     private SellOrderService sellOrderService;
+    @Autowired
+    private HfMemberDao hfMemberDao;
 
     @Override
     public Map<String, Object> getPayMap(BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer organId, String receiver) throws Exception {
@@ -73,6 +73,11 @@ public class PayServiceImpl implements PayService {
             routeScaleDtos = getPaymentConfigChannel(organId, amount);
         }
 
+        //验证最大收款金额
+        for (RouteScaleDto routeScaleDto : routeScaleDtos) {
+            checkMaxReceipt(routeScaleDto, routeScaleDto.getMerNo());
+        }
+
         return getPayRoute(amount, balanceAmount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routeScaleDtos);
     }
 
@@ -290,6 +295,24 @@ public class PayServiceImpl implements PayService {
     }
 
     private Map<String, Object> getPayRoute(BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, List<RouteScaleDto> routeScaleDtos) throws Exception {
+        Map<String, List<RouteScaleDto>> routeScaleDtosMap = routeScaleDtos.stream().collect(Collectors.groupingBy(RouteScaleDto::getMerNo));
+
+        //合并同账号的数据
+        List<RouteScaleDto> newRouteScaleDtos = new ArrayList<>();
+        for (Map.Entry<String, List<RouteScaleDto>> groupRouteScaleDtos : routeScaleDtosMap.entrySet()) {
+            RouteScaleDto routeScaleDto = null;
+            for (RouteScaleDto scaleDto : groupRouteScaleDtos.getValue()) {
+                if (routeScaleDto == null) {
+                    routeScaleDto = scaleDto;
+                } else {
+                    routeScaleDto.setAmount(routeScaleDto.getAmount().add(scaleDto.getAmount()));
+                    routeScaleDto.setBalance(routeScaleDto.getBalance().add(scaleDto.getBalance()));
+                }
+            }
+            newRouteScaleDtos.add(routeScaleDto);
+        }
+        routeScaleDtos = newRouteScaleDtos;
+
         Map<String, Object> unionPay = new HashMap<>();
         Map<String, Object> payMap = null;
 
@@ -498,4 +521,38 @@ public class PayServiceImpl implements PayService {
         }
         return newRouteScaleDtos;
     }
+
+
+    /**
+     * 收款已满转到其他收款账户
+     *
+     * @param routeScaleDto
+     * @param merNo
+     * @return
+     */
+    private RouteScaleDto checkMaxReceipt(RouteScaleDto routeScaleDto, String merNo) {
+        HfMember hfmember = hfMemberDao.getByMemberId(routeScaleDto.getMerNo());
+        if (hfmember == null || hfmember.getMonthMaxReceipt().compareTo(BigDecimal.ZERO) <= 0) {
+            return routeScaleDto;
+        }
+
+        BigDecimal monthMaxReceipt = hfmember.getMonthMaxReceipt(); //每月限定金额
+        Date monthStartTime = DateUtil.getFirstDayOfMonth(new Date());
+
+        //已收金额
+        List<PaymentChannelEnum> paymentChannelList = new ArrayList<>();
+        paymentChannelList.add(PaymentChannelEnum.ADAPAY);
+
+        BigDecimal monthHasReceipt = studentPaymentRouteOrderDao.getRouteOrderAmount(routeScaleDto.getOrganId(), paymentChannelList, monthStartTime);
+        monthHasReceipt = monthHasReceipt == null ? BigDecimal.ZERO : monthHasReceipt;
+        if (routeScaleDto.getAmount().add(monthHasReceipt).compareTo(monthMaxReceipt) > 0) {
+            routeScaleDto.setMerNo(hfmember.getRouteMemberId());
+            routeScaleDto.setOrganId(hfmember.getRouteOrganId());
+            if (routeScaleDto.getMerNo().equals(merNo)) {
+                return routeScaleDto;
+            }
+            return checkMaxReceipt(routeScaleDto, merNo);
+        }
+        return routeScaleDto;
+    }
 }

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

@@ -3145,6 +3145,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
             return BaseController.succeed(payMap);
         } catch (Exception e) {
+            LOGGER.error("网管课购买失败:", e.getCause());
             throw new BizException("订单提交超时,请尝试重新提交购买");
         }
     }

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

@@ -312,7 +312,7 @@ public class StudentServeServiceImpl implements StudentServeService {
 //            return;
 //        }
 
-        List<StudentServeCourseDto> studentFutureCourseInfo = studentDao.getStudentFutureCourseInfo(monDayDate.toString(), studentIds);
+        List<StudentServeCourseDto> studentFutureCourseInfo = studentDao.getStudentFutureCourseInfo(monDayDate.toString(), DateUtil.dateToString(nextMonday, "yyyy-MM-dd"), studentIds);
         if(CollectionUtils.isEmpty(studentFutureCourseInfo)){
             return;
         }

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

@@ -1919,14 +1919,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		//学生剩余课时
         List<StudentCourseInfoDto> userSurplusCourseInfoByGroup = courseScheduleDao.findUserSurplusCourseInfoByGroup(GroupType.VIP, vipGroupId.toString(), studentId);
 
-		int days = 0;
-        if(!CollectionUtils.isEmpty(userSurplusCourseInfoByGroup)){
-        	LocalDate nowDate = LocalDate.now(DateUtil.zoneId);
-			StudentCourseInfoDto studentCourseInfoDto = userSurplusCourseInfoByGroup.stream().max(Comparator.comparing(StudentCourseInfoDto::getClassDate)).get();
-			days = (int) nowDate
-					.until((LocalDateTime.ofInstant(studentCourseInfoDto.getClassDate().toInstant(), DateUtil.zoneId).toLocalDate()), ChronoUnit.DAYS);
-		}
-        days += 1;
         int[] teachModeSequence=new int[userSurplusCourseInfoByGroup.size()];
         List<BigDecimal> coursePrices = new ArrayList<>();
         List<Long> courseScheduleIds=new ArrayList<>();
@@ -1937,7 +1929,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         pauseInfos.put("teaChModeSequence", teachModeSequence);
         pauseInfos.put("coursePriceInfo",coursePrices);
-        pauseInfos.put("days", days);
 
         StudentPauseInfo  studentPauseInfo=new StudentPauseInfo();
 		studentPauseInfo.setUserId(studentId);
@@ -2074,12 +2065,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				newCourseSchedules.get(i).setOrganId(vipGroup.getOrganId());
 			}
 
-			if(Objects.nonNull(studentRecoverInfo.getExpireDate())){
-//				CourseSchedule courseSchedule = newCourseSchedules.stream().max(Comparator.comparing(CourseSchedule::getClassDate)).get();
-				if(vipGroup.getCoursesExpireDate().compareTo(studentRecoverInfo.getExpireDate())<=0||DateUtil.isSameDay(vipGroup.getCoursesExpireDate(), studentRecoverInfo.getExpireDate())){
-					throw new BizException("排课时间不可超过{}", DateUtil.dateToString(vipGroup.getCoursesExpireDate(), "yyyy年MM月dd日"));
-				}
-//				vipGroup.setCoursesExpireDate(courseSchedule.getEndClassTime());
+			CourseSchedule courseSchedule = newCourseSchedules.stream().max(Comparator.comparing(CourseSchedule::getClassDate)).get();
+			if(vipGroup.getCoursesExpireDate().compareTo(courseSchedule.getEndClassTime())<=0||DateUtil.isSameDay(vipGroup.getCoursesExpireDate(), courseSchedule.getEndClassTime())){
+				throw new BizException("排课时间不可超过{}", DateUtil.dateToString(vipGroup.getCoursesExpireDate(), "yyyy年MM月dd日"));
 			}
 
 			courseScheduleService.batchAddCourseSchedule(newCourseSchedules);
@@ -2183,11 +2171,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<BigDecimal, Long> collect = coursePrices.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
 		studentRecoverInfoDto.setGiveCourseTimes(Objects.isNull(collect.get(new BigDecimal("0.00")))?0:collect.get(new BigDecimal("0.00")).intValue());
 		studentRecoverInfoDto.setTotalCourseTimes(coursePrices.size()-studentRecoverInfoDto.getGiveCourseTimes());
+		studentRecoverInfoDto.setExpireDate(vipGroup.getCoursesExpireDate());
 
-		if(courseInfo.containsKey("days")){
-			int surplusDays = Integer.valueOf(courseInfo.get("days").toString());
-			studentRecoverInfoDto.setDays(surplusDays);
-		}
 		return studentRecoverInfoDto;
     }
 

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

@@ -21,6 +21,9 @@
         <result column="settle_account_id_" property="settleAccountId"/>
         <result column="status_" property="status"/>
         <result column="memo_" property="memo"/>
+        <result column="month_max_receipt_" property="monthMaxReceipt"/>
+        <result column="route_member_id_" property="routeMemberId"/>
+        <result column="route_organ_id_" property="routeOrganId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
     </resultMap>
@@ -28,7 +31,9 @@
         <!--@mbg.generated-->
         id_, name_, member_id_, prov_code_, area_code_, social_credit_code_, social_credit_code_expires_,
         business_scope_, legal_person_, legal_cert_id_, legal_cert_id_expires_, legal_mp_,
-        address_, zip_code_, card_no_, bank_code_,settle_account_id_,status_, create_time_, update_time_
+        address_, zip_code_, card_no_,
+        bank_code_,settle_account_id_,status_,month_max_receipt_,route_member_id_,route_organ_id_, create_time_,
+        update_time_
     </sql>
     <select id="get" parameterType="java.lang.Integer" resultMap="hfMember">
         <!--@mbg.generated-->
@@ -116,6 +121,15 @@
             <if test="status != null">
                 status_ = #{status},
             </if>
+            <if test="monthMaxReceipt != null">
+                month_max_receipt_ = #{monthMaxReceipt},
+            </if>
+            <if test="routeMemberId != null">
+                route_member_id_ = #{routeMemberId},
+            </if>
+            <if test="routeOrganId != null">
+                route_organ_id_ = #{routeOrganId},
+            </if>
             <if test="createTime != null">
                 create_time_ = #{createTime},
             </if>
@@ -167,4 +181,10 @@
         WHERE name_ = #{name}
         LIMIT 1
     </select>
+
+    <select id="getNeedRouteMerNos" resultMap="hfMember">
+        SELECT *
+        FROM hf_member
+        WHERE month_max_receipt_ > 0
+    </select>
 </mapper>

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

@@ -500,6 +500,7 @@
         WHERE stu.service_tag_=1
             AND cs.class_date_&gt;=#{monday}
             AND cs.type_ IN ('SINGLE','VIP','MIX','PRACTICE')
+            AND cssp.create_time_&lt;#{nextMonday}
             <if test="studentIds!=null and studentIds.size()>0">
                 AND cssp.user_id_ IN
                 <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">

+ 24 - 7
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -168,21 +168,21 @@ public class AdapayController extends BaseController {
                         paymentMap.put("status", "交易失败");
                     }
                     if (paymentMap.get("pay_mode").equals("delay")) {
-                        if(!paymentMap.containsKey("payment_confirms")){
+                        if (!paymentMap.containsKey("payment_confirms")) {
                             Map<String, Object> confirmMap = Payment.queryConfirmList(paymentMap.get("id").toString());
-                            if(confirmMap.containsKey("payment_confirms")) {
+                            if (confirmMap.containsKey("payment_confirms")) {
                                 paymentMap.put("payment_confirms", confirmMap.get("payment_confirms"));
                             }
                         }
-                        if(!paymentMap.containsKey("payment_confirms")){
-                            paymentMap.put("memo","没有提交分账信息,请联系技术核查");
+                        if (!paymentMap.containsKey("payment_confirms")) {
+                            paymentMap.put("memo", "没有提交分账信息,请联系技术核查");
                             data.add(paymentMap);
                             continue;
                         }
                         JSONArray confirms = (JSONArray) paymentMap.get("payment_confirms");
                         for (Object confirm : confirms) {
                             Map<String, Object> divMemberMap = (Map<String, Object>) confirm;
-                            paymentMap.put("fee_amt",divMemberMap.get("fee_amt"));
+                            paymentMap.put("fee_amt", divMemberMap.get("fee_amt"));
                             divMemberMap.putAll(paymentMap);
 
                             JSONArray divMembers = (JSONArray) divMemberMap.get("div_members");
@@ -217,8 +217,8 @@ public class AdapayController extends BaseController {
 
         OutputStream outputStream = response.getOutputStream();
         try {
-            String[] header = {"支付流水号", "订单号", "支付渠道", "交易金额", "商户号", "分润金额", "是否承担手续费", "手续费", "第三方订单号", "支付宝/微信订单号", "交易时间", "交易状态","备注"};
-            String[] body = {"id", "order_no", "pay_channel", "pay_amt", "member_id", "amount", "fee_flag", "fee_amt", "party_order_id", "out_trans_id", "created_time", "status",""};
+            String[] header = {"支付流水号", "订单号", "支付渠道", "交易金额", "商户号", "分润金额", "是否承担手续费", "手续费", "第三方订单号", "支付宝/微信订单号", "交易时间", "交易状态", "备注"};
+            String[] body = {"id", "order_no", "pay_channel", "pay_amt", "member_id", "amount", "fee_flag", "fee_amt", "party_order_id", "out_trans_id", "created_time", "status", ""};
 
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, data);
             response.setContentType("application/octet-stream");
@@ -239,4 +239,21 @@ public class AdapayController extends BaseController {
             }
         }
     }
+
+    @ApiOperation("修改每月最大收款金额(succeeded 状态才能使用)")
+    @PostMapping(value = "updateMonthMaxReceipt")
+    @PreAuthorize("@pcs.hasPermissions('adapay/updateMonthMaxReceipt')")
+    public HttpResponseResult<HfMember> updateMonthMaxReceipt(Integer id, BigDecimal monthMaxReceipt, String routeMemberId,Integer organId) throws Exception {
+        HfMember hfMember = hfMemberService.get(id);
+        if (hfMember == null) {
+            return failed("您修改的数据不存在");
+        }
+        hfMember.setMonthMaxReceipt(monthMaxReceipt);
+        hfMember.setRouteMemberId(routeMemberId);
+        hfMember.setRouteOrganId(organId);
+        if (hfMemberService.update(hfMember) <= 0) {
+            return failed("修改失败,请重试");
+        }
+        return succeed(hfMember);
+    }
 }