瀏覽代碼

openid放header

chao 3 年之前
父節點
當前提交
84398a06a4

+ 33 - 77
src/main/java/com/caimei365/order/controller/ReceiptApi.java

@@ -100,10 +100,10 @@ public class ReceiptApi {
      */
     @ApiOperation("识别收款短信")
     @PostMapping("/read/sms")
-    public ResponseJson<ReceiptVo> readSmsMessage(ReceiptDto receiptDto) {
+    public ResponseJson<ReceiptVo> readSmsMessage(ReceiptDto receiptDto, @RequestHeader HttpHeaders headers) {
         String smsContent = receiptDto.getSmsContent();
         if (StringUtils.hasLength(smsContent)) {
-            return receiptService.readSmsMessage(smsContent, receiptDto.getOpenid());
+            return receiptService.readSmsMessage(smsContent, headers);
         } else {
             return ResponseJson.error("收款短信不能为空", null);
         }
@@ -114,24 +114,24 @@ public class ReceiptApi {
      */
     @ApiOperation("保存收款信息")
     @PostMapping("/save")
-    public ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto) {
-        return receiptService.saveReceipt(receiptDto);
+    public ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto, @RequestHeader HttpHeaders headers) {
+        return receiptService.saveReceipt(receiptDto, headers);
     }
 
     /**
      * 操作收款信息(作废,设为返佣/普通/供应商退款/非订单款)
      *
      * @param receiptDto {
-     *                  id:收款Id
-     *                  receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
-     *                  noOrderReason: 非订单款说明
-     *                  delFlag: 作废标记: 0否,其余是
-     * }
+     *                   id:收款Id
+     *                   receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
+     *                   noOrderReason: 非订单款说明
+     *                   delFlag: 作废标记: 0否,其余是
+     *                   }
      */
     @ApiOperation("操作收款信息(作废,设为返佣/普通/供应商退款/非订单款)")
     @PostMapping("/operate")
-    public ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto) {
-        return receiptService.operateReceipt(receiptDto);
+    public ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto, @RequestHeader HttpHeaders headers) {
+        return receiptService.operateReceipt(receiptDto, headers);
     }
 
     /**
@@ -144,7 +144,6 @@ public class ReceiptApi {
             @ApiImplicitParam(required = false, name = "smsContent", value = "收款短信"),
             @ApiImplicitParam(required = false, name = "startDate", value = "筛选开始时间"),
             @ApiImplicitParam(required = false, name = "endDate", value = "筛选结束时间"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
@@ -154,29 +153,20 @@ public class ReceiptApi {
                                                             String smsContent,
                                                             String startDate,
                                                             String endDate,
-                                                            String openid,
                                                             @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                            @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getReceiptList(receiptType, receiptStatus, smsContent, startDate, endDate, openid, pageNum, pageSize);
+                                                            @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                                            @RequestHeader HttpHeaders headers) {
+        return receiptService.getReceiptList(receiptType, receiptStatus, smsContent, startDate, endDate, pageNum, pageSize, headers);
     }
 
     /**
      * 获取收款详情
      */
     @ApiOperation("获取收款详情")
-    @ApiImplicitParams({
-            @ApiImplicitParam(required = true, name = "id", value = "款项Id"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid")
-    })
+    @ApiImplicitParam(required = true, name = "id", value = "款项Id")
     @GetMapping("/detail")
-    public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, String openid) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getReceiptDetail(id, openid);
+    public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, @RequestHeader HttpHeaders headers) {
+        return receiptService.getReceiptDetail(id, headers);
     }
 
     /**
@@ -189,7 +179,6 @@ public class ReceiptApi {
             @ApiImplicitParam(required = false, name = "organizeId", value = "组织ID"),
             @ApiImplicitParam(required = false, name = "orderReceiptStatus", value = "订单收款状态:1待收款,2部分收款,3已收款"),
             @ApiImplicitParam(required = false, name = "keyword", value = "搜索关键词(客户名称/订单号)"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
@@ -199,29 +188,20 @@ public class ReceiptApi {
                                                                Integer organizeId,
                                                                String orderReceiptStatus,
                                                                String keyword,
-                                                               String openid,
                                                                @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                               @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getReceiptOrderList(id, type, organizeId, orderReceiptStatus, keyword, openid, pageNum, pageSize);
+                                                               @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                                               @RequestHeader HttpHeaders headers) {
+        return receiptService.getReceiptOrderList(id, type, organizeId, orderReceiptStatus, keyword, pageNum, pageSize, headers);
     }
 
     /**
      * 获取收款订单详情
      */
     @ApiOperation("获取收款订单详情")
-    @ApiImplicitParams({
-            @ApiImplicitParam(required = false, name = "orderId", value = "订单ID"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid")
-    })
+    @ApiImplicitParam(required = false, name = "orderId", value = "订单ID")
     @GetMapping("/orders/info")
-    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getReceiptOrderInfo(orderId, openid);
+    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, @RequestHeader HttpHeaders headers) {
+        return receiptService.getReceiptOrderInfo(orderId, headers);
     }
 
     /**
@@ -233,7 +213,6 @@ public class ReceiptApi {
             @ApiImplicitParam(required = false, name = "confirmedType", value = "0待确认,2已确认子订单"),
             @ApiImplicitParam(required = false, name = "shopName", value = "供应商名称"),
             @ApiImplicitParam(required = false, name = "keyword", value = "搜索关键词(客户名称/订单号)"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
             @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
@@ -242,13 +221,10 @@ public class ReceiptApi {
                                                                       Integer confirmedType,
                                                                       String shopName,
                                                                       String keyword,
-                                                                      String openid,
                                                                       @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                                      @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getRefundShopOrderList(id, confirmedType, shopName, keyword, openid, pageNum, pageSize);
+                                                                      @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+                                                                      @RequestHeader HttpHeaders headers) {
+        return receiptService.getRefundShopOrderList(id, confirmedType, shopName, keyword, pageNum, pageSize, headers);
     }
 
     // api/user/rebate/orderInfo
@@ -257,16 +233,10 @@ public class ReceiptApi {
      * 供应商退款详情
      */
     @ApiOperation("供应商退款详情")
-    @ApiImplicitParams({
-            @ApiImplicitParam(required = false, name = "orderId", value = "订单ID"),
-            @ApiImplicitParam(required = false, name = "openid", value = "微信openid")
-    })
+    @ApiImplicitParam(required = false, name = "orderId", value = "订单ID")
     @GetMapping("/refunds/info")
-    public ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, String openid) {
-        if (!StringUtils.hasLength(openid)) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.getRefundShopOrderInfo(orderId, openid);
+    public ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, @RequestHeader HttpHeaders headers) {
+        return receiptService.getRefundShopOrderInfo(orderId, headers);
     }
 
     /**
@@ -274,11 +244,8 @@ public class ReceiptApi {
      */
     @ApiOperation("确认收款-关联收款信息")
     @PostMapping("/confirm")
-    public ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto) {
-        if (!StringUtils.hasLength(receiptAssociateDto.getOpenid())) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.receiptAssociate(receiptAssociateDto);
+    public ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto, @RequestHeader HttpHeaders headers) {
+        return receiptService.receiptAssociate(receiptAssociateDto, headers);
     }
 
     /**
@@ -287,22 +254,11 @@ public class ReceiptApi {
      */
     @ApiOperation("确认收款-关联供应商退款")
     @PostMapping("/confirm/refund")
-    public ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto) {
-        if (!StringUtils.hasLength(receiptAssociateDto.getOpenid())) {
-            return ResponseJson.error("微信openid不能为空!", null);
-        }
-        return receiptService.receiptAssociateRefund(receiptAssociateDto);
+    public ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto, @RequestHeader HttpHeaders headers) {
+        return receiptService.receiptAssociateRefund(receiptAssociateDto, headers);
     }
 
 
-
-
-
-
-
-
-
-
     // 返佣关联
     // /api/user/rebate/rebateDetail
     // /api/user/rebate/rebateShopOrder

+ 19 - 23
src/main/java/com/caimei365/order/service/ReceiptService.java

@@ -45,24 +45,24 @@ public interface ReceiptService {
      *
      * @param smsContent 收款短信
      */
-    ResponseJson<ReceiptVo> readSmsMessage(String smsContent, String openid);
+    ResponseJson<ReceiptVo> readSmsMessage(String smsContent, HttpHeaders headers);
 
     /**
      * 保存收款信息
      */
-    ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto);
+    ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto, HttpHeaders headers);
 
     /**
      * 操作收款信息(作废,设为返佣/普通/供应商退款)
      *
      * @param receiptDto {
-     *                  id:收款Id
-     *                  receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
-     *                  noOrderReason: 非订单款说明
-     *                  delFlag: 作废标记: 0否,其余是
-     * }
+     *                   id:收款Id
+     *                   receiptType: 1订单款,2非订单款,3返佣款 4订单款或者非订单款(因财务阶段无法区分订单非订单), 5供应商退款
+     *                   noOrderReason: 非订单款说明
+     *                   delFlag: 作废标记: 0否,其余是
+     *                   }
      */
-    ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto);
+    ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto, HttpHeaders headers);
 
     /**
      * 获取收款列表
@@ -72,19 +72,17 @@ public interface ReceiptService {
      * @param smsContent    收款短信
      * @param startDate     筛选开始时间
      * @param endDate       筛选结束时间
-     * @param openid        微信openid
      * @param pageNum       页码
      * @param pageSize      每页数量
      */
-    ResponseJson<PageInfo<ReceiptVo>> getReceiptList(Integer receiptType, Integer receiptStatus, String smsContent, String startDate, String endDate, String openid, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ReceiptVo>> getReceiptList(Integer receiptType, Integer receiptStatus, String smsContent, String startDate, String endDate, int pageNum, int pageSize, HttpHeaders headers);
 
     /**
      * 获取收款详情
      *
-     * @param id     款项Id
-     * @param openid 微信openid
+     * @param id 款项Id
      */
-    ResponseJson<ReceiptVo> getReceiptDetail(Integer id, String openid);
+    ResponseJson<ReceiptVo> getReceiptDetail(Integer id, HttpHeaders headers);
 
     /**
      * 获取收款商品订单列表
@@ -93,44 +91,42 @@ public interface ReceiptService {
      * @param organizeId         组织ID
      * @param orderReceiptStatus 订单收款状态:1待收款,2部分收款,3已收款
      * @param keyword            搜索关键词(客户名称/订单号)
-     * @param openid             微信openid
      * @param pageNum            页码
      * @param pageSize           每页数量
      */
-    ResponseJson<PageInfo<OrderVo>> getReceiptOrderList(Integer id, Integer type, Integer organizeId, String orderReceiptStatus, String keyword, String openid, int pageNum, int pageSize);
+    ResponseJson<PageInfo<OrderVo>> getReceiptOrderList(Integer id, Integer type, Integer organizeId, String orderReceiptStatus, String keyword, int pageNum, int pageSize, HttpHeaders headers);
 
     /**
      * 获取收款订单详情
+     *
      * @param orderId 订单Id
-     * @param openid  微信openid
      */
-    ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid);
+    ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, HttpHeaders headers);
 
     /**
      * @param id            返佣收款ID
      * @param confirmedType 0待确认,2已确认子订单
      * @param shopName      供应商名称
      * @param keyword       搜索关键词(客户名称/订单号)
-     * @param openid        微信openid
      * @param pageNum       页码
      * @param pageSize      每页数量
      */
-    ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String keyword, String openid, int pageNum, int pageSize);
+    ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String keyword, int pageNum, int pageSize, HttpHeaders headers);
 
     /**
      * 供应商退款详情
+     *
      * @param orderId 订单Id
-     * @param openid  微信openid
      */
-    ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, String openid);
+    ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, HttpHeaders headers);
 
     /**
      * 关联收款信息
      */
-    ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto);
+    ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers);
 
     /**
      * 确认收款-关联供应商退款
      */
-    ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto);
+    ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers);
 }

+ 92 - 44
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -35,7 +35,6 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.math.BigDecimal;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -150,9 +149,9 @@ public class ReceiptServiceImpl implements ReceiptService {
      * @param smsContent 收款短信
      */
     @Override
-    public ResponseJson<ReceiptVo> readSmsMessage(String smsContent, String openid) {
-        // 收款用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    public ResponseJson<ReceiptVo> readSmsMessage(String smsContent, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -179,9 +178,9 @@ public class ReceiptServiceImpl implements ReceiptService {
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto) {
-        // 收款用户
-        ReceiptUserVo receiptUser = checkPermissions(1, receiptDto.getOpenid());
+    public ResponseJson<ReceiptPo> saveReceipt(ReceiptDto receiptDto, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -426,9 +425,9 @@ public class ReceiptServiceImpl implements ReceiptService {
      *                   }
      */
     @Override
-    public ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(2, receiptDto.getOpenid());
+    public ResponseJson<ReceiptPo> operateReceipt(ReceiptDto receiptDto, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -476,15 +475,15 @@ public class ReceiptServiceImpl implements ReceiptService {
      * @param smsContent    收款短信
      * @param startDate     筛选开始时间
      * @param endDate       筛选结束时间
-     * @param openid        微信openid
      * @param pageNum       页码
      * @param pageSize      每页数量
      */
     @Override
-    public ResponseJson<PageInfo<ReceiptVo>> getReceiptList(Integer receiptType, Integer receiptStatus, String smsContent, String startDate, String endDate, String openid, int pageNum, int pageSize) {
-        ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
-        if (null == receiptUser){
-            return ResponseJson.error("请重新授权登录!", null);
+    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);
+        if (null == receiptUser) {
+            return ResponseJson.error("无权限操作!", null);
         }
         ReceiptParamsBo paramsBo = new ReceiptParamsBo();
         if (StringUtils.isNotBlank(smsContent)) {
@@ -501,6 +500,8 @@ public class ReceiptServiceImpl implements ReceiptService {
             }
             paramsBo.setReceiptStatusArr(receiptStatusArr);
         }
+        // 用户openid
+        String openid = headers.getFirst("x-openid");
         // 获取该收款用户下的机构userIds
         List<Integer> clubUserIds = getReceiptClubUserIds(openid, receiptStatus);
         paramsBo.setUserIds(clubUserIds);
@@ -523,12 +524,11 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 获取收款详情
      *
      * @param id     款项Id
-     * @param openid 微信openid
      */
     @Override
-    public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, String openid) {
-        // 收款用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    public ResponseJson<ReceiptVo> getReceiptDetail(Integer id, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -553,6 +553,8 @@ public class ReceiptServiceImpl implements ReceiptService {
                 log.info("--------已确认--------");
             }
             if (!CollectionUtils.isEmpty(orderList)) {
+                // 用户openid
+                String openid = headers.getFirst("x-openid");
                 // 获取该收款用户下的机构userIds
                 List<Integer> clubUserIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus());
                 for (OrderVo order : orderList) {
@@ -574,14 +576,13 @@ public class ReceiptServiceImpl implements ReceiptService {
      * @param organizeId         组织ID
      * @param orderReceiptStatus 订单收款状态:1待收款,2部分收款,3已收款
      * @param keyword            搜索关键词(客户名称/订单号)
-     * @param openid             微信openid
      * @param pageNum            页码
      * @param pageSize           每页数量
      */
     @Override
-    public ResponseJson<PageInfo<OrderVo>> getReceiptOrderList(Integer id, Integer type, Integer organizeId, String orderReceiptStatus, String keyword, String openid, int pageNum, int pageSize) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    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);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -610,13 +611,16 @@ public class ReceiptServiceImpl implements ReceiptService {
         if (null == type || 0 == type) {
             type = 0;
         }
+        // 用户openid
+        String openid = headers.getFirst("x-openid");
         // 获取该收款用户下的机构userIds
         List<Integer> userIds = getReceiptClubUserIds(openid, receipt.getReceiptStatus());
         String userName = null;
         Integer orderId = null;
         try {
             orderId = Integer.parseInt(keyword);
-        } catch (NumberFormatException ignored) {}
+        } catch (NumberFormatException ignored) {
+        }
         if (null != orderId && orderId.toString().length() == keyword.length()) {
             userName = "";
         } else {
@@ -674,12 +678,11 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 获取收款订单详情
      *
      * @param orderId 订单Id
-     * @param openid  微信openid
      */
     @Override
-    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, String openid) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    public ResponseJson<OrderVo> getReceiptOrderInfo(Integer orderId, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -714,14 +717,13 @@ public class ReceiptServiceImpl implements ReceiptService {
      * @param confirmedType 0待确认,2已确认子订单
      * @param shopName      供应商名称
      * @param keyword       搜索关键词(客户名称/订单号)
-     * @param openid        微信openid
      * @param pageNum       页码
      * @param pageSize      每页数量
      */
     @Override
-    public ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String keyword, String openid, int pageNum, int pageSize) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    public ResponseJson<PageInfo<ShopOrderVo>> getRefundShopOrderList(Integer id, Integer confirmedType, String shopName, String keyword, int pageNum, int pageSize, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -738,7 +740,8 @@ public class ReceiptServiceImpl implements ReceiptService {
             Integer orderId = null;
             try {
                 orderId = Integer.parseInt(keyword);
-            } catch (NumberFormatException ignored) {}
+            } catch (NumberFormatException ignored) {
+            }
             if (null != orderId && orderId.toString().length() == keyword.length()) {
                 userName = "";
             }
@@ -760,12 +763,11 @@ public class ReceiptServiceImpl implements ReceiptService {
      * 供应商退款详情
      *
      * @param orderId 订单Id
-     * @param openid  微信openid
      */
     @Override
-    public ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, String openid) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(1, openid);
+    public ResponseJson<OrderVo> getRefundShopOrderInfo(Integer orderId, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -788,7 +790,7 @@ public class ReceiptServiceImpl implements ReceiptService {
             }
             shopOrder.setOrderProductList(orderProductList);
             List<Integer> rebatePayType = receiptMapper.getRebatePayTypeList(shopOrder.getShopOrderId());
-            if (CollectionUtils.isEmpty(rebatePayType)){
+            if (CollectionUtils.isEmpty(rebatePayType)) {
                 // 没返佣
                 shopOrder.setReceiptedFlag(0);
             } else if (10 == rebatePayType.get(0)) {
@@ -821,9 +823,9 @@ public class ReceiptServiceImpl implements ReceiptService {
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto) {
-        // 操作用户
-        ReceiptUserVo receiptUser = checkPermissions(2, receiptAssociateDto.getOpenid());
+    public ResponseJson<ReceiptPo> receiptAssociate(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
         if (null == receiptUser) {
             return ResponseJson.error("无权限操作!", null);
         }
@@ -1001,12 +1003,33 @@ public class ReceiptServiceImpl implements ReceiptService {
 
     /**
      * 确认收款-关联供应商退款
-     *
-     * @param receiptAssociateDto
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto) {
+    public ResponseJson<ReceiptPo> receiptAssociateRefund(ReceiptAssociateDto receiptAssociateDto, HttpHeaders headers) {
+        // 检查收款用户权限
+        ReceiptUserVo receiptUser = checkPermissions(1, headers);
+        if (null == receiptUser) {
+            return ResponseJson.error("无权限操作!", null);
+        }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
         return null;
     }
 
@@ -1139,6 +1162,31 @@ public class ReceiptServiceImpl implements ReceiptService {
         return null;
     }
 
+    /**
+     * 检查收款权限
+     *
+     * @param permission 0:登录用户不需要权限,其他具体权限
+     * @param headers    HttpHeaders
+     * @return null:无权限/权限用户ReceiptUserVo
+     */
+    private ReceiptUserVo checkPermissions(Integer permission, HttpHeaders headers) {
+        // 用户openid
+        String openid = headers.getFirst("x-openid");
+        if (StringUtils.isNotBlank(openid)) {
+            // 收款用户
+            ReceiptUserVo receiptUser = receiptMapper.getReceiptUserByOpenid(openid);
+            if (null != receiptUser) {
+                // 获取用户权限: 1录入收款权限,2收款确认权限,3收款审核权限 4返佣管理权限 5供应商退款管理权限
+                List<Integer> permissions = receiptMapper.getPermissionsByUserId(receiptUser.getId());
+                if (0 == permission || permissions.contains(permission)) {
+                    receiptUser.setPermissions(permissions);
+                    return receiptUser;
+                }
+            }
+        }
+        return null;
+    }
+
     /**
      * 识别收款短信
      * 以下方法按照短信采样结果实现(新增短信不兼容)