소스 검색

微信收款信息推送

chao 3 년 전
부모
커밋
485f392117

+ 14 - 13
backup.sql

@@ -85,8 +85,8 @@ CREATE TABLE `cm_receipt_user` (
   `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '收款用户ID',
   `mobile` VARCHAR(11) NULL COMMENT '收款用户手机号',
   `password` VARCHAR(255) NULL COMMENT '收款用户密码',
-  `openid` varchar(255) NULL COMMENT '收款用户微信openid',
-  `unionId` varchar(255) NULL COMMENT '收款用户微信unionId',
+  `openid` varchar(32) NULL COMMENT '收款用户小程序openid',
+  `unionId` varchar(32) NULL COMMENT '收款用户unionId',
   `user_type` char(2) NULL COMMENT '收款用户类型:1协销人员,2客服,3财务,4超级管理员',
   `name` VARCHAR(100) NOT NULL COMMENT '姓名',
   `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
@@ -115,17 +115,18 @@ CREATE TABLE `cm_receipt_type` (
   `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '收款类型ID',
   `type` VARCHAR(100) NOT NULL COMMENT '收款类型',
   PRIMARY KEY (`id`)
-) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='采美收款类型表';
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='采美收款类型表';
 -- 初始数据
-INSERT  INTO `cm_receipt_permission`(`id`,`permission`) VALUES (1,'收款列表访问'),(2,'收款详情分享'),(3,'收款录入'),(4,'收款关联订单'),(5,'收款关联返佣'),(6,'收款关联供应商退款'),(7,'收款审核');
-INSERT  INTO `cm_receipt_type`(`id`,`type`) VALUES (1,'建设银行-7297'),(2,'广发银行-0115'),(3,'中信银行-7172'),(4,'中信银行-0897'),(5,'中信银行-0897-财付通'),(6,'中信银行-0897-支付宝'),(7,'线上-支付宝'),(8,'线上-微信支付'),(9,'线上-快钱支付'),(10,'口头返佣'),(11,'广发银行-5461'),(12,'企业网银'),(13,'微信支付'),(14,'支付宝'),(15,'微信支付'),(16,'余额抵扣'),(18,'建设银行-1854'),(19,'建设银行-6256');
-
-
-
-
-
-
-
-
+INSERT INTO `cm_receipt_permission`(`id`,`permission`) VALUES (1,'收款列表访问'),(2,'收款详情分享'),(3,'收款录入'),(4,'收款关联订单'),(5,'收款关联返佣'),(6,'收款关联供应商退款'),(7,'收款审核');
+INSERT INTO `cm_receipt_type`(`id`,`type`) VALUES (1,'建设银行-7297'),(2,'广发银行-0115'),(3,'中信银行-7172'),(4,'中信银行-0897'),(5,'中信银行-0897-财付通'),(6,'中信银行-0897-支付宝'),(7,'线上-支付宝'),(8,'线上-微信支付'),(9,'线上-快钱支付'),(10,'口头返佣'),(11,'广发银行-5461'),(12,'企业网银'),(13,'微信支付'),(14,'支付宝'),(15,'微信支付'),(16,'余额抵扣'),(18,'建设银行-1854'),(19,'建设银行-6256');
+
+ -- 公众号微信用户列表
+DROP TABLE IF EXISTS `wechat_user`;
+CREATE TABLE `wechat_user` (
+  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
+  `openid` varchar(32) NULL COMMENT '公众号openid',
+  `unionId` varchar(32) NULL COMMENT '用户unionId',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='公众号微信用户列表';
 
 

+ 2 - 2
src/main/java/com/caimei365/order/components/WeChatService.java

@@ -109,7 +109,7 @@ public class WeChatService {
      *
      * @param code    微信凭证
      * @param headers HttpHeaders
-     * @param mode    1:采美小程序,2:呵呵商城小程序+
+     * @param mode    1:采美小程序,2:收款工具小程序appId
      * @return HashMap
      */
     public ResponseJson<Map<String, Object>> getInfoMapByApplets(String code, HttpHeaders headers, Integer mode) {
@@ -256,7 +256,7 @@ public class WeChatService {
     }
 
     /**
-     * 推送收款微信模板消息
+     * 推送收款微信模板消息(公众号)
      *
      * 模板内容:
      * {{first.DATA}}

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

@@ -155,7 +155,7 @@ public interface ReceiptMapper {
      */
     List<Integer> getRebatePayTypeList(Integer shopOrderId);
     /**
-     * 根据用户类型获取用户openid列表
+     * 根据用户类型获取用户openid列表(微信公众号openid,非收款小程序)
      */
     List<String> getOpenidListByPermission(List<Integer> permissions);
     /**

+ 15 - 11
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -500,14 +500,27 @@ public class ReceiptServiceImpl implements ReceiptService {
         }
         ReceiptParamsBo paramsBo = new ReceiptParamsBo();
         PageInfo<ReceiptVo> emptyInfo = new PageInfo();
+        if (null != receiptStatus && receiptStatus > 0) {
+            String[] receiptStatusArr;
+            if (1 == receiptStatus) {
+                receiptStatusArr = "1,4,5".split(",");
+            } else {
+                receiptStatusArr = receiptStatus.toString().split(",");
+            }
+            paramsBo.setReceiptStatusArr(receiptStatusArr);
+        }
         if (2 == receiptUser.getUserType()){
             // 客服只能看到2待审核和3审核通过的订单款
-            if (!(2 == receiptStatus || 3 == receiptStatus)) {
+            if (null == receiptStatus || receiptStatus == 0){
+                paramsBo.setReceiptStatusArr("2,3".split(","));
+            } else if (!(2 == receiptStatus || 3 == receiptStatus)) {
                 return ResponseJson.success(emptyInfo);
             }
         } else if (1 == receiptUser.getUserType()) {
             //协销人员不能能看到(2已确认(待审核)) 且 非自己名下机构的款项
-            if (2 == receiptStatus){
+            if (null == receiptStatus || receiptStatus == 0){
+                paramsBo.setReceiptStatusArr("1,3,4,5".split(","));
+            } else if (2 == receiptStatus){
                 return ResponseJson.success(emptyInfo);
             }
             // 获取该协销收款用户下的机构userIds
@@ -520,15 +533,6 @@ public class ReceiptServiceImpl implements ReceiptService {
             String message = hiddenBalance(smsContent);
             paramsBo.setSmsMd5Code(Md5Util.md5(message));
         }
-        if (null != receiptStatus && receiptStatus > 0) {
-            String[] receiptStatusArr;
-            if (1 == receiptStatus) {
-                receiptStatusArr = "1,4,5".split(",");
-            } else {
-                receiptStatusArr = receiptStatus.toString().split(",");
-            }
-            paramsBo.setReceiptStatusArr(receiptStatusArr);
-        }
         paramsBo.setReceiptType(receiptType);
         paramsBo.setStartDate(startDate);
         paramsBo.setEndDate(endDate);

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

@@ -807,7 +807,8 @@
           AND cror.orderID = #{shopOrderId} and cdr.receiptType = '3'
     </select>
     <select id="getOpenidListByPermission" resultType="java.lang.String">
-        SELECT DISTINCT cru.openid FROM cm_receipt_user cru
+        SELECT DISTINCT wu.openid FROM wechat_user wu
+        LEFT JOIN cm_receipt_user cru ON wu.unionId = cru.unionId
         LEFT JOIN cm_receipt_user_permission crup ON crup.user_id = cru.id
         WHERE crup.permission_id IN
         <foreach collection="permissions" open="(" close=")" item="permission" separator=",">