Explorar o código

收款用户权限整理

chao %!s(int64=3) %!d(string=hai) anos
pai
achega
fae086f286

+ 1 - 1
src/main/java/com/caimei365/order/mapper/ReceiptMapper.java

@@ -37,7 +37,7 @@ public interface ReceiptMapper {
      */
     void updateOpenidByMobile(String openid, String unionId, String mobile);
     /**
-     * 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
+     * 获取用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
      */
     List<Integer> getPermissionsByUserId(Integer userId);
     /**

+ 4 - 4
src/main/java/com/caimei365/order/model/vo/ReceiptUserVo.java

@@ -46,14 +46,14 @@ public class ReceiptUserVo implements Serializable {
     @ApiModelProperty("密码")
     private String password;
     /**
-     * 用户类型:1协销人员,2客服,3财务,4超级管理员
+     * 用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
      */
-    @ApiModelProperty("用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限")
+    @ApiModelProperty("用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核")
     private Integer permission;
     /**
-     * 用户权限列表:1协销人员,2客服,3财务,4超级管理员
+     * 用户权限列表: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
      */
-    @ApiModelProperty("用户权限列表: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限")
+    @ApiModelProperty("用户权限列表: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核")
     private List<Integer> permissions;
     /**
      * 微信unionId

+ 40 - 56
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -67,7 +67,6 @@ public class ReceiptServiceImpl implements ReceiptService {
     private static final List<Integer> TIP_FEE_TYPE = Arrays.asList(4, 5, 6, 11);
     private static final Pattern PATTERN_NUMBER = Pattern.compile("[\\*0-9\\.:]+");
     private static final Pattern PATTERN_ORDER = Pattern.compile("#(.*?)#");
-    private static final Pattern PATTERN_ORDER_ID = Pattern.compile("^[-\\+]?[\\d]*$");
 
     /**
      * 线下收款用户微信授权
@@ -90,7 +89,7 @@ public class ReceiptServiceImpl implements ReceiptService {
             // 收款用户
             ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
             if (null != receiptUser) {
-                // 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
+                // 用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
                 List<Integer> permissions = receiptMapper.getPermissionsByUserId(receiptUser.getId());
                 receiptUser.setPermissions(permissions);
                 return ResponseJson.success(receiptUser);
@@ -126,7 +125,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                 } else {
                     return ResponseJson.error(appletsInfo.getMsg(), null);
                 }
-                // 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
+                // 用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
                 List<Integer> permissions = receiptMapper.getPermissionsByUserId(receiptUser.getId());
                 receiptUser.setPermissions(permissions);
                 return ResponseJson.success(receiptUser);
@@ -152,7 +151,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptVo> readSmsMessage(String smsContent, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(3, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -181,7 +180,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(3, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -354,7 +353,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                         log.info("-------------审核通过订单状态改变---orderId:" + order.getOrderId() + "--status:" + order.getStatus() + "----------" + receiptPo.getConfirmType());
 
                         /* 审核订单关系 */
-                        if ("3".equals(receiptPo.getConfirmType())) {
+                        if (null != receiptPo.getConfirmType() && 3 == receiptPo.getConfirmType()) {
                             log.info(">>>>>>>>>>>>>>>>>>55:" + receiptPo.getReceiptAmount() + "====" + totalAssociateAmount);
                             // 本次收款减已经收款金额
                             Double money = receiptPo.getReceiptAmount() - totalAssociateAmount;
@@ -428,7 +427,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(3, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -471,7 +470,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     /**
      * 获取收款列表
      *
-     * @param receiptType   收款款项类型:1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
+     * @param receiptType   收款款项类型:1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单) 5供应商退款
      * @param receiptStatus 收款状态:1待确认、2已确认(待审核)、3审核通过、4审核未通过、5收款撤销【线上支付成功为审核通过】
      * @param smsContent    收款短信
      * @param startDate     筛选开始时间
@@ -482,7 +481,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<PageInfo<ReceiptVo>> getReceiptList(Integer receiptType, Integer receiptStatus, String smsContent, String startDate, String endDate, int pageNum, int pageSize, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(0, headers);
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -529,7 +528,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(0, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -575,7 +574,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptVo> getReceiptRefundDetail(Integer id, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(5, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -589,7 +588,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<ReceiptVo> getReceiptRebateDetail(Integer id, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(4, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -610,7 +609,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<PageInfo<OrderVo>> getReceiptOrderList(Integer id, Integer type, Integer organizeId, String orderReceiptStatus, String keyword, int pageNum, int pageSize, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -628,7 +627,7 @@ public class ReceiptServiceImpl implements ReceiptService {
             log.info("---------此收款无订单标注------");
         }
         String[] receiptStatusArr = orderReceiptStatus.split(",");
-        List<Integer> orderStatus = new ArrayList<>();
+        List<Integer> orderStatus;
         boolean receiptFlag = false;
         if (ArrayUtils.contains(receiptStatusArr, "3")) {
             orderStatus = Arrays.asList(4, 5, 31, 32, 33);
@@ -643,7 +642,7 @@ public class ReceiptServiceImpl implements ReceiptService {
         String openid = headers.getFirst("x-openid");
         // 获取该收款用户下的机构userIds
         List<Integer> userIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus());
-        String userName = null;
+        String userName;
         Integer orderId = null;
         try {
             orderId = Integer.parseInt(keyword);
@@ -710,7 +709,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -753,11 +752,11 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String keyword, int pageNum, int pageSize, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
-        List<ShopOrderVo> shopOrderList = new ArrayList<>();
+        List<ShopOrderVo> shopOrderList;
         PageHelper.startPage(pageNum, pageSize);
         if (id != null) {
             // 已关联子订单,展示关联信息
@@ -797,7 +796,7 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -859,11 +858,11 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Override
     public ResponseJson<PageInfo<ShopOrderVo>> getRebateShopOrderList(Integer id, String shopName, int pageNum, int pageSize, HttpHeaders headers) {
         // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(4, headers);
+        ReceiptUserVo receiptUser = checkPermissions(2, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
-        List<ShopOrderVo> shopOrderList = new ArrayList<>();
+        List<ShopOrderVo> shopOrderList;
         PageHelper.startPage(pageNum, pageSize);
         if (id != null) {
             // 已关联子订单,展示关联信息
@@ -896,8 +895,8 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<Void> receiptAssociate(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers) {
-        // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        // 检查收款用户权限: 4收款关联订单
+        ReceiptUserVo receiptUser = checkPermissions(4, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -942,13 +941,13 @@ public class ReceiptServiceImpl implements ReceiptService {
                     // 收款金额 < 订单应付金额
                     else if (-1 == MathUtil.compare(receiptPo.getReceiptAmount(), order.getPayableAmount())) {
                         // 小额抹平确认
-                        if ("1".equals(receiptPo.getConfirmType())) {
+                        if (null != receiptPo.getConfirmType() && 1 == receiptPo.getConfirmType()) {
                             relation.setReceiptId(receiptPo.getId());
                             relation.setOrderId(order.getOrderId());
                             relation.setAssociateAmount(receiptPo.getReceiptAmount());
                         }
                         // 部分收款确认
-                        if ("4".equals(receiptPo.getConfirmType())) {
+                        if (null != receiptPo.getConfirmType() && 4 == receiptPo.getConfirmType()) {
                             relation.setReceiptId(receiptPo.getId());
                             relation.setOrderId(order.getOrderId());
                             relation.setAssociateAmount(receiptPo.getReceiptAmount());
@@ -957,13 +956,13 @@ public class ReceiptServiceImpl implements ReceiptService {
                     // 收款金额 > 订单应付金额
                     else if (1 == MathUtil.compare(receiptPo.getReceiptAmount(), order.getPayableAmount())) {
                         // 大额抹平确认
-                        if ("2".equals(receiptPo.getConfirmType())) {
+                        if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
                             relation.setReceiptId(receiptPo.getId());
                             relation.setOrderId(order.getOrderId());
                             relation.setAssociateAmount(order.getPayableAmount());
                         }
                         // 大额退款余额
-                        if ("3".equals(receiptPo.getConfirmType())) {
+                        if (null != receiptPo.getConfirmType() && 3 == receiptPo.getConfirmType()) {
                             relation.setReceiptId(receiptPo.getId());
                             relation.setOrderId(order.getOrderId());
                             relation.setAssociateAmount(order.getPayableAmount());
@@ -981,7 +980,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                     }
                     // 余下的收款金额
                     Double amount = receiptPo.getReceiptAmount();
-                    if ("4".equals(receiptPo.getConfirmType())) {
+                    if (null != receiptPo.getConfirmType() && 4 == receiptPo.getConfirmType()) {
                         // 确认关联
                         for (OrderVo order : list) {
                             if (amount > 0) {
@@ -1001,7 +1000,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                                 amount -= order.getPayableAmount();
                             }
                         }
-                    } else if ("1".equals(receiptPo.getConfirmType())) {
+                    } else if (null != receiptPo.getConfirmType() && 1 == receiptPo.getConfirmType()) {
                         //小额抹平确认
                         for (OrderVo order : list) {
                             OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
@@ -1019,7 +1018,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                             baseMapper.insertOrderReceiptRelation(relation);
                             amount -= order.getPayableAmount();
                         }
-                    } else if ("2".equals(receiptPo.getConfirmType())) {
+                    } else if (null != receiptPo.getConfirmType() && 2 ==receiptPo.getConfirmType()) {
                         //大额抹平确认
                         for (OrderVo order : list) {
                             OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
@@ -1038,7 +1037,7 @@ public class ReceiptServiceImpl implements ReceiptService {
                                 return ResponseJson.error("订单(Id:" + order.getOrderId() + ")大额抹平确认--金额不正确!", null);
                             }
                         }
-                    } else if ("3".equals(receiptPo.getConfirmType())) {
+                    } else if (null != receiptPo.getConfirmType() && 3 == receiptPo.getConfirmType()) {
                         //大额退款余额
                         for (OrderVo order : list) {
                             OrderReceiptRelationPo relation = new OrderReceiptRelationPo();
@@ -1079,7 +1078,8 @@ public class ReceiptServiceImpl implements ReceiptService {
         String associateType = receiptMapper.getReceiptTypeStrById(receipt.getPayType());
 
 
-        //todo 跳转链接 crm旧链接:/api/user/receivables/toReceivablesPage.rpc?pageName=listToDesc&id=receipt.getId()
+        //todo 跳转到详情页
+        // 跳转链接 crm旧链接:/api/user/receivables/toReceivablesPage.rpc?pageName=listToDesc&id=receipt.getId()
 
 
         String redirectUrl = "";
@@ -1101,8 +1101,8 @@ public class ReceiptServiceImpl implements ReceiptService {
     @Transactional(rollbackFor = Exception.class)
     @Override
     public ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers) {
-        // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(5, headers);
+        // 检查收款用户权限: 6收款关联供应商退款
+        ReceiptUserVo receiptUser = checkPermissions(6, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -1132,8 +1132,8 @@ public class ReceiptServiceImpl implements ReceiptService {
      */
     @Override
     public ResponseJson<ReceiptPo> receiptAssociateRebate(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers) {
-        // 检查收款用户权限
-        ReceiptUserVo receiptUser = checkPermissions(4, headers);
+        // 检查收款用户权限: 5收款关联返佣
+        ReceiptUserVo receiptUser = checkPermissions(5, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -1290,23 +1290,7 @@ public class ReceiptServiceImpl implements ReceiptService {
 
     /**
      * 检查收款权限
-     */
-    private ReceiptUserVo checkPermissions(Integer permission, String openid) {
-        // 收款用户
-        ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
-        if (null != receiptUser) {
-            // 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
-            List<Integer> permissions = receiptMapper.getPermissionsByUserId(receiptUser.getId());
-            if (permissions.contains(permission)) {
-                receiptUser.setPermission(permission);
-                return receiptUser;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 检查收款权限
+     * 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
      *
      * @param permission 0:登录用户不需要权限,其他具体权限
      * @param headers    HttpHeaders
@@ -1319,7 +1303,7 @@ public class ReceiptServiceImpl implements ReceiptService {
             // 收款用户
             ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
             if (null != receiptUser) {
-                // 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
+                // 获取用户权限: 1收款列表访问,2收款详情访问,3收款录入,4收款关联订单,5收款关联返佣,6收款关联供应商退款,7收款审核
                 List<Integer> permissions = receiptMapper.getPermissionsByUserId(receiptUser.getId());
                 if (0 == permission || permissions.contains(permission)) {
                     receiptUser.setPermissions(permissions);
@@ -1336,7 +1320,7 @@ public class ReceiptServiceImpl implements ReceiptService {
      *
      * @param message 收款短信
      *                贵公司尾号7297的账户5月23日15时30分往来款收入人民币1800.00元,余额7055.50元。对方户名:哈尔滨爱丽达医疗美容管理有限公司爱建医疗美容诊所。[建设银行]
-     *                【广发银行】尊敬的客户,贵司账号后四位0115 的账户于08日13:55收入一笔方芳尾数为8067的账户转账1850.00元,手续费0.00元。账户余额:1000000.00元。
+     *                【广发银行】尊敬的客户,贵司账号后四位0115 的账户于08日13:55 收入一笔方芳尾数为8067的账户转账1850.00元,手续费0.00元。账户余额:1000000.00元。
      *                【广发银行】您末四位为0115的企业账户于12日16:09收入人民币5000.00元(深圳同城)。账户余额:8907.21元。
      *                【中信银行】贵公司尾号7172的中信账号于03月15日17:25,二代支付存入人民币3132.30元,当前余额为人民币4373.07元。
      *                【中信银行】您尾号0897的中信卡于03月06日11:44,存入人民币2358.00元,当前余额为人民币1000000.00元。
@@ -1379,7 +1363,7 @@ public class ReceiptServiceImpl implements ReceiptService {
             Integer typeId = receiptMapper.getReceivablesTypeId(receivableDesc);
 
             /*识别收款时间*/
-            String time = "";
+            String time;
             String year = DateUtils.getYear();
             String month = DateUtils.getMonth();
             List<String> contentTime = new ArrayList();

+ 5 - 1
src/main/resources/mapper/ReceiptMapper.xml

@@ -144,7 +144,7 @@
         WHERE mobile = #{mobile} AND del_flag = 0
     </select>
     <select id="getPermissionsByUserId" resultType="java.lang.Integer">
-        SELECT permission FROM cm_receipt_user_permission WHERE user_id = #{userId}
+        SELECT permission_id FROM cm_receipt_user_permission WHERE user_id = #{userId}
     </select>
     <select id="getReceiptType" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
         SELECT `id`,`type` FROM cm_receipt_type ORDER BY id
@@ -152,6 +152,9 @@
     <select id="getReceiptTypeById" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
         SELECT `id`,`type` FROM cm_receipt_type WHERE id = #{id}
     </select>
+    <select id="getReceiptTypeStrById" resultType="java.lang.String">
+        SELECT `type` FROM cm_receipt_type WHERE id = #{id}
+    </select>
     <select id="getReceivablesTypeId" resultType="java.lang.Integer">
         SELECT DISTINCT IFNULL(id, 0) FROM cm_receipt_type WHERE type=#{type}
     </select>
@@ -756,4 +759,5 @@
     <select id="countAssociateAmountById" resultType="java.lang.Double">
         SELECT IFNULL(SUM(associateAmount), 0) FROM cm_receipt_order_relation WHERE receiptID = #{receiptId}
     </select>
+
 </mapper>