zhijiezhao 3 лет назад
Родитель
Сommit
8cfc03dfb5
1 измененных файлов с 39 добавлено и 33 удалено
  1. 39 33
      src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

+ 39 - 33
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -455,11 +455,11 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 操作收款信息(作废,设为返佣/普通/供应商退款/)
      *
      * @param receiptOperateDto {
-     *                   id:收款Id
-     *                   receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
-     *                   noOrderReason: 非订单款说明
-     *                   delFlag: 作废标记: 0否,其余是
-     *                   }
+     *                          id:收款Id
+     *                          receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
+     *                          noOrderReason: 非订单款说明
+     *                          delFlag: 作废标记: 0否,其余是
+     *                          }
      */
     @Override
     public ResponseJson<ReceiptPo> operateReceipt(ReceiptOperateDto receiptOperateDto, HttpHeaders headers) {
@@ -506,7 +506,7 @@ public class ReceiptServiceImpl implements ReceiptService {
 
     /**
      * 获取收款列表
-     *
+     * <p>
      * 列表数据筛选:
      * --超级管理员:无限制
      * --协销:     非订单款,返佣款,与自身相关的订单款,与自身相关的供应商退款,
@@ -536,7 +536,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         }
         ReceiptUserVo receiptUser = null;
         // 订单款
-        if(1 == receiptType) {
+        if (1 == receiptType) {
             // 检查收款用户权限:10订单款查看(全部),13订单款查看(协销自己机构)
             receiptUser = checkPermissions(Arrays.asList(10, 13), headers);
             if (null == receiptUser) {
@@ -660,7 +660,11 @@ public class ReceiptServiceImpl implements ReceiptService {
             if (!CollectionUtils.isEmpty(orderList)) {
                 List<Integer> clubUserIds = getClubUserIds(receiptUser);
                 for (OrderVo order : orderList) {
-                    if (4 == receiptUser.getUserType() || clubUserIds.contains(order.getUserId())) {
+                    if (4 == receiptUser.getUserType()) {
+                        // 收款详情是否可以查看
+                        order.setAuthority(true);
+                    }
+                    if (null != clubUserIds && clubUserIds.size() > 0 && clubUserIds.contains(order.getUserId())) {
                         // 收款详情是否可以查看
                         order.setAuthority(true);
                     }
@@ -1038,11 +1042,11 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 确认收款-关联订单款
      *
      * @param receiptOperateDto {
-     *                            id: 收款Id
-     *                            orderIds: 关联订单IDS
-     *                            confirmType: 确认订单类型:1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联
-     *                            noOrderReason: 非订单款说明
-     *                            }
+     *                          id: 收款Id
+     *                          orderIds: 关联订单IDS
+     *                          confirmType: 确认订单类型:1小额抹平确认,2大额抹平确认,3大额退款余额,4确认关联
+     *                          noOrderReason: 非订单款说明
+     *                          }
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -1112,7 +1116,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                     // 收款金额 > 订单应付金额
                     else if (1 == MathUtil.compare(receiptPo.getReceiptAmount(), order.getPayableAmount())) {
                         // 大额抹平确认
-                        if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
+                        if (null != receiptPo.getConfirmType() && 2 == receiptPo.getConfirmType()) {
                             relation.setReceiptId(receiptPo.getId());
                             relation.setOrderId(order.getOrderId());
                             relation.setAssociateAmount(order.getPayableAmount());
@@ -1176,7 +1180,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                             baseMapper.insertOrderReceiptRelation(relation);
                             amount -= order.getPayableAmount();
                         }
-                    } else if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
+                    } else if (null != receiptPo.getConfirmType() && 2 == receiptPo.getConfirmType()) {
                         //大额抹平确认
                         for (OrderVo order : list) {
                             OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
@@ -1239,9 +1243,9 @@ public class ReceiptServiceImpl implements ReceiptService {
             String associateTitle = "收款和订单已确认关联,请及时审核!";
             String associateDate = receiptPo.getReceiptDate();
             String associateType = receiptMapper.getReceiptTypeStrById(receiptPo.getPayType());
-            String remarkText = "收款类型:" + associateType + ",确认时间:"+receiptPo.getConfirmDate();
+            String remarkText = "收款类型:" + associateType + ",确认时间:" + receiptPo.getConfirmDate();
             // 跳转到【普通款项待审核】页面
-            String pagePath = "pages/login/login-share?id="+receiptPo.getId();
+            String pagePath = "pages/login/login-share?id=" + receiptPo.getId();
             for (String openid : openidList) {
                 // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
                 weChatService.sendTemplateMsg(accessToken, openid, associateTitle, associateAmount, associateDate, remarkText, pagePath);
@@ -1256,9 +1260,9 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 确认收款-关联供应商退款
      *
      * @param receiptOperateDto {
-     *                            id:          收款Id
-     *                            shopOrderId: 关联供应商退款子订单ID
-     *                            }
+     *                          id:          收款Id
+     *                          shopOrderId: 关联供应商退款子订单ID
+     *                          }
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -1348,10 +1352,10 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 确认收款-关联返佣款
      *
      * @param receiptOperateDto {
-     *                            id:           收款Id
-     *                            shopOrderId: 关联返佣子订单ID
-     *                            rebateRemarks:关联返佣备注
-     *                            }
+     *                          id:           收款Id
+     *                          shopOrderId: 关联返佣子订单ID
+     *                          rebateRemarks:关联返佣备注
+     *                          }
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -1442,8 +1446,9 @@ public class ReceiptServiceImpl implements ReceiptService {
 
     /**
      * 保存返佣收款关系和修改订单状态
+     *
      * @param shopOrderId 子订单Id
-     * @param receiptId 款项Id
+     * @param receiptId   款项Id
      */
     private void saveRelationAndUpdateOrderStatus(Integer shopOrderId, Integer receiptId) {
         // 保存 收款项和订单关系
@@ -1520,7 +1525,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         // 收款项和订单关系
         List<OrderReceiptRelationPo> listRelation = new ArrayList<>();
         // 订单款项
-        if (null != receipt.getReceiptType() && 1 == receipt.getReceiptType()){
+        if (null != receipt.getReceiptType() && 1 == receipt.getReceiptType()) {
             // 只要当收款状态为已确认状态时候才能做审核操作
             if (3 == receiptStatus && 2 == receipt.getReceiptStatus()) {
                 // 收款项和订单关系
@@ -1747,13 +1752,13 @@ public class ReceiptServiceImpl implements ReceiptService {
                 String title = "审核未通过,请重新确认审核!";
                 String date = receiptPo.getReceiptDate();
                 String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receiptPo.getPayType());
-                String remarkText = "收款类型:"+ receiptTypeStr +";"+"审核时间:"+receiptPo.getReviewDate();
+                String remarkText = "收款类型:" + receiptTypeStr + ";" + "审核时间:" + receiptPo.getReviewDate();
                 double associateAmount = receiptMapper.countAssociateAmountById(receiptPo.getId());
                 // (用户权限: 1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款)
                 List<String> openidList = receiptMapper.getOpenidListByPermission(Collections.singletonList(3));
                 openidList.removeIf(Objects::isNull);
                 // 跳转到【普通款项待审核】页面
-                String pagePath = "pages/login/login-share?id="+receiptPo.getId();
+                String pagePath = "pages/login/login-share?id=" + receiptPo.getId();
                 for (String openid : openidList) {
                     // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
                     weChatService.sendTemplateMsg(accessToken, openid, title, associateAmount, date, remarkText, pagePath);
@@ -1778,11 +1783,11 @@ public class ReceiptServiceImpl implements ReceiptService {
         List<ReceiptVo> list = receiptMapper.getReceiptList(paramsBo);
         list.removeIf(Objects::isNull);
         // (用户权限: 1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款)
-        List<String> openidList = receiptMapper.getOpenidListByPermission(Arrays.asList(3,4,5,6));
+        List<String> openidList = receiptMapper.getOpenidListByPermission(Arrays.asList(3, 4, 5, 6));
         openidList.removeIf(Objects::isNull);
         String title = "超时未确认,请及时查看详情并确认关联!";
         for (ReceiptVo receipt : list) {
-            String pagePath = "pages/login/login-share?id="+receipt.getId();
+            String pagePath = "pages/login/login-share?id=" + receipt.getId();
             double amount = receipt.getReceiptAmount();
             String date = receipt.getReceiptDate();
             String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receipt.getPayType());
@@ -1815,9 +1820,9 @@ public class ReceiptServiceImpl implements ReceiptService {
             double amount = receiptMapper.countAssociateAmountById(receipt.getId());
             String date = receipt.getConfirmDate();
             String receiptTypeStr = receiptMapper.getReceiptTypeStrById(receipt.getPayType());
-            String remarkText = "收款类型:" + receiptTypeStr + ",确认时间:"+receipt.getConfirmDate();
+            String remarkText = "收款类型:" + receiptTypeStr + ",确认时间:" + receipt.getConfirmDate();
             // 跳转到【普通款项待审核】页面
-            String pagePath = "pages/login/login-share?id="+receipt.getId();
+            String pagePath = "pages/login/login-share?id=" + receipt.getId();
             for (String openid : openidList) {
                 // sendTemplateMsg(openid, 标题, 金额, 收款日期, 备注, 跳转链接)
                 weChatService.sendTemplateMsg(accessToken, openid, title, amount, date, remarkText, pagePath);
@@ -1965,6 +1970,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         }
         return null;
     }
+
     private ReceiptUserVo checkPermissions(List<Integer> permissions, HttpHeaders headers) {
         // 用户openid
         String openid = headers.getFirst("x-openid");
@@ -2206,7 +2212,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         // 获取订单已退金额
         Double returnedAmount = receiptMapper.getReturnedAmount(order.getOrderId());
         // 经理折扣
-        Double discountFee = null != order.getDiscountFee() ? order.getDiscountFee() : 0d ;
+        Double discountFee = null != order.getDiscountFee() ? order.getDiscountFee() : 0d;
         // 如果经理折扣大于退款(退货)总金额之和  那么先抵扣经理折扣  退款价值为0
         if (discountFee >= returnedAmount) {
             returnedAmount = 0d;