Просмотр исходного кода

Merge branch 'develop-new' of http://git.dayaedu.com/yonge/cooleshow into develop-new

zouxuan 1 год назад
Родитель
Сommit
dc373373c2

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/StudentSearch.java

@@ -69,7 +69,7 @@ public class StudentSearch extends QueryInfo{
     private Long tenantId;
 
     @ApiModelProperty("机构小组ID")
-    private Long tenantGroupId = -1L;
+    private Long tenantGroupId;
 
     @ApiModelProperty("机构名称")
     private String tenantName;

+ 18 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PaymentDivMemberRecordServiceImpl.java

@@ -323,9 +323,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
 
                 // 判断分润给机构 还是给老师
                 // 机构ID = 0 老师设置了不分润
-                if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() == 0) {
-
-                } else if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() >0) {
+                if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() >0) {
                     // 分润给机构
                     tenantdivMap.merge(accountTenantTo.getIncomeTenant(), teacherAmount, BigDecimal::add);
                     tenantdivMap.merge(-1L, teacherAmount, BigDecimal::subtract);
@@ -447,9 +445,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
             // 老师收入总金额
             BigDecimal teacherAmount = teacherSalaryList.stream().map(CourseScheduleTeacherSalary::getActualSalary).reduce(BigDecimal.ZERO, BigDecimal::add);
             // 判断分润给机构 还是给老师
-            if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() == 0) {
-
-            } else if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() > 0) {
+           if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() > 0) {
                 // 分润给机构
                 tenantdivMap.merge( accountTenantTo.getIncomeTenant() , teacherAmount, BigDecimal::add);
                 tenantdivMap.merge(-1L, teacherAmount, BigDecimal::subtract);
@@ -583,9 +579,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
             // 老师收入总金额
             BigDecimal teacherAmount = teacherSalaryList.stream().map(CourseScheduleTeacherSalary::getActualSalary).reduce(BigDecimal.ZERO, BigDecimal::add);
             // 判断分润给机构 还是给老师
-            if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() == 0) {
-
-            } else if (accountTenantTo.getIncomeTenant() !=null && accountTenantTo.getIncomeTenant() >0) {
+            if (accountTenantTo.getIncomeTenant() !=null && accountTenantTo.getIncomeTenant() >0) {
                 // 分润给机构
                 tenantdivMap.merge(accountTenantTo.getIncomeTenant() , teacherAmount, BigDecimal::add);
                 tenantdivMap.merge(-1L, teacherAmount, BigDecimal::subtract);
@@ -665,9 +659,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
             accountTenantTo = JSON.parseObject(userAccountConfig, UserPaymentOrderWrapper.AccountTenantTo.class);
         }
 
-        if (accountTenantTo.getIncomeTenant() != null && accountTenantTo.getIncomeTenant() == 0) {
-
-        } else if (accountTenantTo.getIncomeTenant() !=null && accountTenantTo.getIncomeTenant() >0) {
+        if (accountTenantTo.getIncomeTenant() !=null && accountTenantTo.getIncomeTenant() >0) {
             // 分润给机构
             tenantdivMap.merge(accountTenantTo.getIncomeTenant(), teacherAmount, BigDecimal::add);
             tenantdivMap.merge(-1L, teacherAmount, BigDecimal::subtract);
@@ -800,8 +792,10 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
 
         Map<Long,BigDecimal> tenantShare = new HashMap<>();
 
+        BigDecimal amount = bizMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
+
         // 计算分润
-        teacherAmount(userPaymentOrder, tenantdivMap, teacherMap,tenantShare, tenantdivMap.get(-1L));
+        teacherAmount(userPaymentOrder, tenantdivMap, teacherMap,tenantShare, tenantdivMap.get(-1L).subtract(amount));
 
         String userAccountConfig = userPaymentOrder.getAccountConfig();
         UserPaymentOrderWrapper.AccountTenantTo accountTenantTo;
@@ -848,6 +842,17 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem
     }
 
     private void teacherBizRecord(UserOrderDetailVo userPaymentOrder, Long bizId, BigDecimal amount) {
+        String userAccountConfig = userPaymentOrder.getAccountConfig();
+        UserPaymentOrderWrapper.AccountTenantTo accountTenantTo;
+        if (StringUtils.isBlank(userAccountConfig)) {
+            accountTenantTo = new UserPaymentOrderWrapper.AccountTenantTo();
+        } else {
+            accountTenantTo = JSON.parseObject(userAccountConfig, UserPaymentOrderWrapper.AccountTenantTo.class);
+        }
+        if (!accountTenantTo.isIncomeTeacher()) {
+            return;
+        }
+
         //获取账期时间
         Date accountPeriodTime = userOrderService.getAccountPeriodTime(userPaymentOrder);
 

+ 18 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderRefundServiceImpl.java

@@ -78,6 +78,9 @@ public class UserOrderRefundServiceImpl extends ServiceImpl<UserOrderRefundDao,
     @Autowired
     private UserOrderService userOrderService;
 
+    @Autowired
+    private TenantTeacherAccountRecordService tenantTeacherAccountRecordService;
+
     //验证是否可以退款,获取退款金额信息
     private static final Map<GoodTypeEnum, Function<OrderRefundReq, HttpResponseResult<RefundCreateRes>>> refundCreate = new HashMap<>();
     //插入退款后执行
@@ -656,19 +659,28 @@ public class UserOrderRefundServiceImpl extends ServiceImpl<UserOrderRefundDao,
                 .list();
         if (CollectionUtils.isNotEmpty(list)) {
             for (TenantAccountRecord tenantAccountRecord : list) {
-                if (PostStatusEnum.WAIT.getCode().equals(tenantAccountRecord.getPostStatus())
-                        || PostStatusEnum.FROZEN.getCode().equals(tenantAccountRecord.getPostStatus())) {
-                    tenantAccountRecord.setPostStatus(PostStatusEnum.CANCEL.getCode());
-                    platformCashAccountRecordService.cancelRecord(tenantAccountRecord.getOrderNo(), tenantAccountRecord.getBizType(), tenantAccountRecord.getBizId(),
-                            InOrOutEnum.OUT);
-                }
+                tenantAccountRecord.setPostStatus(PostStatusEnum.CANCEL.getCode());
+                platformCashAccountRecordService.cancelRecord(tenantAccountRecord.getOrderNo(), tenantAccountRecord.getBizType(), tenantAccountRecord.getBizId(),
+                        InOrOutEnum.OUT);
             }
             tenantAccountRecordService.updateBatchById(list);
+            // 处理机构老师入账
+            List<TenantTeacherAccountRecord> teacherAccountRecordList = tenantTeacherAccountRecordService.lambdaQuery()
+                .eq(TenantTeacherAccountRecord::getOrderNo, vo.getOrderNo())
+                .list();
+            if (CollectionUtils.isNotEmpty(teacherAccountRecordList)) {
+                for (TenantTeacherAccountRecord tenantTeacherAccountRecord : teacherAccountRecordList) {
+                    tenantTeacherAccountRecord.setPostStatus(PostStatusEnum.CANCEL.getCode());
+                }
+                tenantTeacherAccountRecordService.updateBatchById(teacherAccountRecordList);
+            }
         }
 
         //处理平台入账
         platformCashAccountRecordService.cancelRecord(vo.getOrderNo(), vo.getGoodType().getCode(), vo.getBizId(),
                                                       InOrOutEnum.IN);
+        platformCashAccountRecordService.cancelRecord(vo.getOrderNo(), vo.getGoodType().getCode(), vo.getBizId(),
+                                                      InOrOutEnum.OUT);
     }
 
     /**

+ 3 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/TenantGroupMapper.xml

@@ -21,13 +21,13 @@
         FROM tenant_group t
         <where>
             <if test="param.keyword != null and param.keyword.trim() !=''">
-                t.name_ like concat('%',#{param.keyword},'%')
+               AND t.name_ like concat('%',#{param.keyword},'%')
             </if>
             <if test="param.tenantId != null">
-                t.tenant_id_ = #{param.tenantId}
+                AND t.tenant_id_ = #{param.tenantId}
             </if>
             <if test="param.adminId != null">
-                t.admin_id_ = #{param.adminId}
+                AND t.admin_id_ = #{param.adminId}
             </if>
         </where>
         ORDER BY t.id_ ASC