From 9748895b0eb4fef89e6cb238f1dbd92b8c7fe106 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 21 Jul 2021 11:03:04 +0800
Subject: [PATCH] Merge branch 'score-shop' of http://120.27.238.55:7000/r/xzx into score-shop

---
 gc-core/src/main/resources/application.properties                             |    2 
 gc-order/src/test/java/SpringTest.java                                        |   12 ++
 gc-user/src/test/java/SpringTest.java                                         |   46 +++++++++
 gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml                   |   14 ++
 gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java           |    2 
 gc-user/src/main/java/com/xzx/gc/user/controller/ApiJhyInfoController.java    |    2 
 gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java              |   13 ++
 gc-user/src/test/java/ThreadTest.java                                         |    9 +
 gc-core/src/main/java/com/xzx/gc/common/utils/image/GraphicsUtils.java        |    1 
 gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java               |    2 
 gc-core/pom.xml                                                               |    6 +
 gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java             |    3 
 gc-core/src/main/java/com/xzx/gc/common/utils/wxpay/WxUtil.java               |   27 +++-
 gc-user/src/main/resources/mapper/user/AccountMapper.xml                      |    7 +
 gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java            |    3 
 gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java |    7 +
 gc-user/src/main/java/com/xzx/gc/user/service/PosterService.java              |    6 
 gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java          |   32 +++++
 gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java  |   69 ++++++++-----
 19 files changed, 215 insertions(+), 48 deletions(-)

diff --git a/gc-core/pom.xml b/gc-core/pom.xml
index 054fa3b..799bed1 100644
--- a/gc-core/pom.xml
+++ b/gc-core/pom.xml
@@ -170,6 +170,12 @@
             <!--<version>5.3</version>-->
         <!--</dependency>-->
 
+        <!-- https://mvnrepository.com/artifact/com.github.jai-imageio/jai-imageio-core -->
+        <dependency>
+            <groupId>com.github.jai-imageio</groupId>
+            <artifactId>jai-imageio-core</artifactId>
+            <version>1.4.0</version>
+        </dependency>
 
     </dependencies>
 
diff --git a/gc-core/src/main/java/com/xzx/gc/common/utils/image/GraphicsUtils.java b/gc-core/src/main/java/com/xzx/gc/common/utils/image/GraphicsUtils.java
index 380cb42..27fdc0d 100644
--- a/gc-core/src/main/java/com/xzx/gc/common/utils/image/GraphicsUtils.java
+++ b/gc-core/src/main/java/com/xzx/gc/common/utils/image/GraphicsUtils.java
@@ -79,6 +79,7 @@
                 }
             }
         } catch (Exception e) {
+            log.error("报错:", e);
             return null;
         }
         log.debug("生成海报成功,路径:" + imgPath);
diff --git a/gc-core/src/main/java/com/xzx/gc/common/utils/wxpay/WxUtil.java b/gc-core/src/main/java/com/xzx/gc/common/utils/wxpay/WxUtil.java
index 81fb8ed..750922b 100644
--- a/gc-core/src/main/java/com/xzx/gc/common/utils/wxpay/WxUtil.java
+++ b/gc-core/src/main/java/com/xzx/gc/common/utils/wxpay/WxUtil.java
@@ -73,6 +73,9 @@
         return openid;
     }
 
+    public  String generateAcode(String scene,String path,String imgName,String width){
+        return generateAcode(scene, path, imgName, width, null);
+    }
 
     /**
      * 生成小程序码
@@ -81,19 +84,25 @@
      * @param imgName  图片唯一名称
      * @return
      */
-    public  String generateAcode(String scene,String path,String imgName,String width){
+    public  String generateAcode(String scene,String path,String imgName,String width, Integer type){
         String urlPrefix=businessUtil.getViewUrl();
         String imgPath=Constants.IMG_UPLOAD_PATH+imgName;
         if(!FileUtil.exist(imgPath)){
-            //调用二维码接口
-            String url = StrFormatter.format("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}", getAccessToken());
+
             cn.hutool.json.JSONObject obj = JSONUtil.createObj();
-            //最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,
-            // 其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
-            obj.put("scene", scene);
-            //必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index,
-            // 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
-            obj.put("path", path);
+            //调用二维码接口
+            String url = null;
+            if (type == null) {
+                // 该接口无数量限制,但是 scene 传参最大字符长度为32个字符
+                url = StrFormatter.format("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}", getAccessToken());
+                obj.put("scene", scene);
+                obj.put("path", path);
+            } else {
+                // 该接口存在数量限制, 总共可生成10w个, 但参数是接在path后面
+                url = StrFormatter.format("https://api.weixin.qq.com/wxa/getwxacode?access_token={}", getAccessToken());
+                obj.put("path", path + "?" + scene );
+            }
+
             //最小 280px,最大 1280px
             obj.put("width", width);
             obj.put("auto_color", false);
diff --git a/gc-core/src/main/resources/application.properties b/gc-core/src/main/resources/application.properties
index b09f250..832738b 100644
--- a/gc-core/src/main/resources/application.properties
+++ b/gc-core/src/main/resources/application.properties
@@ -11,7 +11,7 @@
 
 
 #log
-project.log.path=xzx/logs
+project.log.path=/xzx/logs
 logstash.server.url=localhost:4560
 
 #spring
diff --git a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
index 91f6e7a..e45e802 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
@@ -23,6 +23,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 @Slf4j
 @RestController
@@ -82,4 +83,10 @@
         return Result.success();
     }
 
+    @ApiOperation("订单状态数量")
+    @PostMapping(value = "/orderStatusCnt")
+    public JsonResult<Map<Integer, Integer>> orderStatusCnt(HttpServletRequest request) {
+        return JsonResult.success(jhyOrderService.orderStatusCount(getUserId(request)));
+    }
+
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
index 01156c0..c60b730 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
@@ -3,6 +3,7 @@
 import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.order.dto.JhyOrderListDto;
 import com.xzx.gc.order.vo.JhyOrderListVo;
+import com.xzx.gc.order.vo.JhyStatusCountVo;
 import com.xzx.gc.util.GcMapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
@@ -13,4 +14,6 @@
 public interface JhyOrderMapper extends GcMapper<JhyOrder> {
 
     List<JhyOrderListVo> selectJhyOrderList(@Param("record") JhyOrderListDto jhyOrderListDto);
+
+    List<JhyStatusCountVo> selectOrderStatusCount(@Param("userId") String userId);
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java b/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java
index 1c30613..6c4b284 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/DistribService.java
@@ -99,7 +99,7 @@
                     // 根据订单总积分, 1:40比例,换算成环保币,返对应百分比
                     if (StrUtil.isNotBlank(coinStr) && !"0".equals(coinStr)) {
                         BigDecimal coinRatio = new BigDecimal(coinStr).divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_DOWN);
-                        BigDecimal totalCoin = totalScore.divide(new BigDecimal(40), 2, BigDecimal.ROUND_DOWN);
+                        BigDecimal totalCoin = totalScore.divide(new BigDecimal(50), 2, BigDecimal.ROUND_DOWN);
 
                         BigDecimal returnCoin = totalCoin.multiply(coinRatio).setScale(2, BigDecimal.ROUND_DOWN);
                         totalReturnCoin = totalReturnCoin.add(returnCoin);
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
index 6c8c7df..ee3c7f3 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -18,6 +18,7 @@
 import com.xzx.gc.order.mapper.*;
 import com.xzx.gc.order.vo.JhyOrderDetailsVo;
 import com.xzx.gc.order.vo.JhyOrderListVo;
+import com.xzx.gc.order.vo.JhyStatusCountVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,9 +26,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Slf4j
 @Service
@@ -172,6 +171,7 @@
             order.setStatus(JhyOrder.ORDER_STATUS_CANCEL);
         }
 
+        order.setJhyId(null);
         jhyOrderMapper.updateByPrimaryKey(order);
     }
 
@@ -236,4 +236,30 @@
 
         distribService.distribRecord(order.getId(), order.getUserId());
     }
+
+    public Map<Integer, Integer> orderStatusCount(String userId) {
+        List<JhyStatusCountVo> count = jhyOrderMapper.selectOrderStatusCount(userId);
+
+        Map<Integer, Integer> map = new HashMap<>();
+        for (int i = 1; i < 6; i++) {
+            if (CollUtil.isNotEmpty(count)) {
+                boolean flag = false;
+                for (JhyStatusCountVo jhyStatusCountVo : count) {
+                    if (i == jhyStatusCountVo.getStatus()) {
+                        map.put(i, jhyStatusCountVo.getCnt());
+                        flag = true;
+                        break;
+                    }
+                }
+
+                if (flag) {
+                    continue;
+                }
+            }
+
+            map.put(i, 0);
+        }
+
+        return map;
+    }
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java
new file mode 100644
index 0000000..e698e3b
--- /dev/null
+++ b/gc-order/src/main/java/com/xzx/gc/order/vo/JhyStatusCountVo.java
@@ -0,0 +1,13 @@
+package com.xzx.gc.order.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "JhyStatucCountVo", description = "")
+public class JhyStatusCountVo {
+
+    private Integer status;
+
+    private Integer cnt;
+}
diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
index e796b6d..01997c5 100644
--- a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
+++ b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
@@ -43,4 +43,18 @@
         group by a.id
         order by a.receiving_time desc, a.id desc
     </select>
+
+    <select id="selectOrderStatusCount" resultType="com.xzx.gc.order.vo.JhyStatusCountVo">
+        select
+           status,
+           count(1) cnt
+        from xzx_jhy_order where status=1
+        union  all
+        select
+           status,
+           count(1) cnt
+        from xzx_jhy_order
+        where user_id=#{userId}
+        group by status
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/gc-order/src/test/java/SpringTest.java b/gc-order/src/test/java/SpringTest.java
index 63b1ae0..1e3d6d0 100644
--- a/gc-order/src/test/java/SpringTest.java
+++ b/gc-order/src/test/java/SpringTest.java
@@ -22,6 +22,7 @@
 import com.xzx.gc.common.utils.SpringUtil;
 import com.xzx.gc.common.utils.gdmap.GdMapUtil;
 import com.xzx.gc.common.utils.gdmap.GdTraceUtil;
+import com.xzx.gc.common.utils.image.GraphicsUtils;
 import com.xzx.gc.entity.*;
 import com.xzx.gc.model.order.FenceDto;
 import com.xzx.gc.model.user.AccountVo;
@@ -777,5 +778,16 @@
 
     }
 
+    @Autowired
+    private GraphicsUtils graphicsUtils;
+
+    @Test
+    public void haibaoTest() {
+        String imageName = "/test.jpg";
+        String path = "/Users/helius/Desktop/acode.jpg";
+        String avatar = "https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132";
+        String backgroundUrl = "/Users/helius/Desktop/user_share_poster_bg.png";
+
+        graphicsUtils.generatePoster(imageName, path, avatar, backgroundUrl, "15200889645", 100, 340, 57, 94, 230, 160, 40);    }
 
 }
diff --git a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
index 0930fb6..5f24b8f 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/controller/AdminDistribController.java
@@ -1,7 +1,9 @@
 package com.xzx.gc.user.controller;
 
+import cn.hutool.core.codec.Base64;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.xzx.gc.common.constant.CommonEnum;
 import com.xzx.gc.common.constant.Constants;
 import com.xzx.gc.common.dto.log.OperationAppLog;
@@ -106,33 +108,46 @@
     @ApiOperation(value="分銷系統管理--新增团长", notes="test: 仅0有正确返回")
     public JsonResult adddistrib(@RequestBody AdddistribDto model, HttpServletRequest request) {
         String id = model.getId();
-        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
-        if(ObjectUtil.isEmpty(accountInfo)){
-            return JsonResult.failMessage("账户不存在!");
+        List<String> ids = StrUtil.split(id, ',');
+//        AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
+        List<AccountInfo> accountInfos = accountMapper.selectAccountInfoByIds(ids);
+        if (CollUtil.isNotEmpty(accountInfos)) {
+            for (AccountInfo accountInfo : accountInfos) {
+//                if(ObjectUtil.isEmpty(accountInfo)){
+//                    return JsonResult.failMessage("账户不存在!");
+//                }
+                if(ObjectUtil.isEmpty(accountInfo.getIsHead())
+                        || accountInfo.getIsHead() == 1){
+                    return JsonResult.failMessage(accountInfo.getAccountName() + "账户不能重复添加!");
+                }
+                if(ObjectUtil.isEmpty(accountInfo.getDelFlag())
+                        || accountInfo.getDelFlag() == 1){
+                    return JsonResult.failMessage(accountInfo.getAccountName() + "账户已删除!");
+                }
+                if(ObjectUtil.isEmpty(accountInfo.getIsProhibit())
+                        || "1".equals(accountInfo.getIsProhibit())){
+                    return JsonResult.failMessage(accountInfo.getAccountName() + "账户已冻结!");
+                }
+                //团员不能当团长
+                String userId = accountInfo.getUserId();
+                UserHeadRelate userHeadRelate = userHeadRelateMapper.selectMemberByUserId(userId);
+                if(ObjectUtil.isNotEmpty(userHeadRelate)){
+                    return JsonResult.failMessage(accountInfo.getAccountName() + "账户不能申请成为团长!");
+                }
+//                distribService.adddistrib(accountInfo.getAccountId());
+
+                accountInfo.setIsHead(1);
+                accountMapper.updateByPrimaryKey(accountInfo);
+                OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                        .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增团长-"+id).build();
+                mqUtil.sendApp(build);
+            }
+
+            return  JsonResult.success("操作成功!");
+        } else {
+            return JsonResult.failMessage("参数错误");
         }
-        if(ObjectUtil.isEmpty(accountInfo.getIsHead())
-                || accountInfo.getIsHead() == 1){
-            return JsonResult.failMessage("账户不能重复添加!");
-        }
-        if(ObjectUtil.isEmpty(accountInfo.getDelFlag())
-                || accountInfo.getDelFlag() == 1){
-            return JsonResult.failMessage("账户已删除!");
-        }
-        if(ObjectUtil.isEmpty(accountInfo.getIsProhibit())
-                || accountInfo.getIsProhibit() == "1"){
-            return JsonResult.failMessage("账户已冻结!");
-        }
-        //团员不能当团长
-        String userId = accountInfo.getUserId();
-        UserHeadRelate userHeadRelate = userHeadRelateMapper.selectMemberByUserId(userId);
-        if(ObjectUtil.isNotEmpty(userHeadRelate)){
-            return JsonResult.failMessage("账户不能申请成为团长!");
-        }
-        distribService.adddistrib(model);
-        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
-                    .methodName(Constants.USER_MODUL_NAME).operateAction("分銷系統管理--新增团长-"+id).build();
-        mqUtil.sendApp(build);
-        return  JsonResult.success("操作成功!");
+
     }
 
     @ApiOperation(value = "团长列表")
@@ -220,7 +235,7 @@
         List<List<String>> rows = new ArrayList<>();
         List<String> header=new ArrayList<>();
         //标题
-        header=CollUtil.newArrayList( "团长名称", "手机号", "身份", "团员数量", "交易单数", "累计收益积分", "累计收益(元)", "累计订单重量(kg)","累计数量(家电)");
+        header=CollUtil.newArrayList( "团长名称", "手机号", "身份", "团员数量", "交易单数", "累计积分收益", "累计环保币收益", "累计订单重量(kg)","累计订单数量(家电)");
         rows.add(header);
         Map<String, Object> stringObjectMap = distribService.distribDataExport(distribDataListDto);
         List<DistribDataListVo> distribDataListVos = (List<DistribDataListVo>) stringObjectMap.get("data");
diff --git a/gc-user/src/main/java/com/xzx/gc/user/controller/ApiJhyInfoController.java b/gc-user/src/main/java/com/xzx/gc/user/controller/ApiJhyInfoController.java
index 8409513..2e4b6ed 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/controller/ApiJhyInfoController.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/controller/ApiJhyInfoController.java
@@ -58,7 +58,7 @@
                 break;
             case 1:
                 map.put("icon", "../../images/icon_team.png");
-                map.put("name", "集物员订单列表");
+                map.put("name", "集物员订单");
                 map.put("path", "../../collectPersonnel/GCOrderForm/index");
                 break;
             case 2:
diff --git a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
index a6d127e..6c0335f 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/mapper/AccountMapper.java
@@ -76,5 +76,7 @@
     String selectOrderExportByHeadUserId(@Param("accountId")String id, @Param("record")ExportDistribDataListDto distribDataListDto);
 
     String selectJDSLExportByHeadUserId(@Param("accountId")String id, @Param("record")ExportDistribDataListDto distribDataListDto);
+
+    List<AccountInfo> selectAccountInfoByIds(@Param("list") List<String> list);
 }
 
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
index 83a4d6e..ccedcc9 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/DistribService.java
@@ -233,8 +233,7 @@
         return data;
     }
 
-    public void adddistrib(AdddistribDto model) {
-        String id = model.getId();
+    public void adddistrib(String id) {
         AccountInfo accountInfo = accountMapper.selectByPrimaryKey(id);
         accountInfo.setIsHead(1);
         accountMapper.updateByPrimaryKey(accountInfo);
diff --git a/gc-user/src/main/java/com/xzx/gc/user/service/PosterService.java b/gc-user/src/main/java/com/xzx/gc/user/service/PosterService.java
index dbbad20..3f530bc 100644
--- a/gc-user/src/main/java/com/xzx/gc/user/service/PosterService.java
+++ b/gc-user/src/main/java/com/xzx/gc/user/service/PosterService.java
@@ -34,10 +34,10 @@
     public Map<String,String> generate(UserInfo userInfo){
         //海报图名称
         String userId=userInfo.getUserId();
-        String imageName="/user_" + userId + "_poster.jpg";
+        String imageName="/user_" + userId + "_poster_1.jpg";
         //二维码图名称
-        String imgName="/user_" + userId + "_acode.jpg";
-        String s1 = wxUtil.generateAcode("poster=" + userInfo.getMobilePhone(), "pages/login/login", imgName, "800px");
+        String imgName="/user_" + userId + "_acode_1.jpg";
+        String s1 = wxUtil.generateAcode("poster=" + userInfo.getMobilePhone() +"&chiefId=" + userInfo.getUserId(), "pages/login/login", imgName, "800px", 1);
         if(StrUtil.isBlank(s1)){
             throw new RestException("生成分享海报失败");
         }
diff --git a/gc-user/src/main/resources/mapper/user/AccountMapper.xml b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
index 3eff87a..e30a1fb 100644
--- a/gc-user/src/main/resources/mapper/user/AccountMapper.xml
+++ b/gc-user/src/main/resources/mapper/user/AccountMapper.xml
@@ -547,4 +547,11 @@
         )
     </select>
 
+    <select id="selectAccountInfoByIds" resultType="com.xzx.gc.entity.AccountInfo">
+        select * from xzx_account_info
+        where account_id in
+        <foreach collection="list" index="index" item="id" separator="," open="(" close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>
diff --git a/gc-user/src/test/java/SpringTest.java b/gc-user/src/test/java/SpringTest.java
index 1412762..4bfb511 100644
--- a/gc-user/src/test/java/SpringTest.java
+++ b/gc-user/src/test/java/SpringTest.java
@@ -1,8 +1,11 @@
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.text.StrFormatter;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
 import cn.hutool.json.JSONUtil;
 import com.xzx.gc.GcUserApplication;
 import com.xzx.gc.common.Result;
@@ -10,9 +13,11 @@
 import com.xzx.gc.common.constant.Constants;
 import com.xzx.gc.common.utils.RedisUtil;
 import com.xzx.gc.common.utils.gdmap.GdTraceUtil;
+import com.xzx.gc.common.utils.wxpay.WxUtil;
 import com.xzx.gc.entity.*;
 import com.xzx.gc.user.mapper.UserBatchMapper;
 import com.xzx.gc.user.service.*;
+import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +25,8 @@
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.io.File;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
@@ -28,9 +35,10 @@
 import java.util.stream.Collectors;
 
 
+@Slf4j
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = {GcUserApplication.class})
-@ActiveProfiles(profiles = {"temp"})
+@ActiveProfiles(profiles = {"xc"})
 public class SpringTest {
 
 
@@ -211,6 +219,42 @@
     }
 
 
+    @Autowired
+    private WxUtil wxUtil;
+
+    @Test
+    public void acodeTest() {
+
+        String path = "pages/login/login?poster=18390984915&chiefId=YH1417670707298828288";
+        String imgPath = "/Users/helius/Desktop/YH1417670707298828288_acode.jpg";
+
+        String url = StrFormatter.format("https://api.weixin.qq.com/wxa/getwxacode?access_token={}", wxUtil.getAccessToken());
+        cn.hutool.json.JSONObject obj = JSONUtil.createObj();
+        obj.put("path", path);
+        //最小 280px,最大 1280px
+        obj.put("width", "800px");
+        obj.put("auto_color", false);
+        cn.hutool.json.JSONObject obj2 = JSONUtil.createObj();
+        obj2.put("r", 0);
+        obj2.put("g", 0);
+        obj2.put("b", 0);
+        obj.put("line_color", obj2);
+        //是否需要透明底色,为 true 时,生成透明底色的小程序码
+        obj.put("is_hyaline", false);
+        try {
+            InputStream inputStream = HttpRequest.post(url).body(obj.toString(), "application/json").execute().bodyStream();
+            File file = new File(imgPath);
+            FileUtil.writeFromStream(inputStream, file);
+            long uploadUrl = FileUtil.size(file);
+            //小于10kb重新生成
+            if(uploadUrl<= Constants.MIN_FILE_SIZE){
+                log.error("生成微信小程序码失败:图片大小异常:{}",uploadUrl);
+            }
+        } catch (Exception e) {
+            log.error("生成微信小程序码失败",e);
+        }
+
+    }
 
 
 }
diff --git a/gc-user/src/test/java/ThreadTest.java b/gc-user/src/test/java/ThreadTest.java
index fa97a56..4662cf0 100644
--- a/gc-user/src/test/java/ThreadTest.java
+++ b/gc-user/src/test/java/ThreadTest.java
@@ -1,8 +1,17 @@
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.lang.Console;
+import cn.hutool.core.text.StrFormatter;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.NumberUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.json.JSONUtil;
+import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.utils.wxpay.WxUtil;
 import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 
+import java.io.File;
+import java.io.InputStream;
 import java.util.concurrent.*;
 
 public class ThreadTest {

--
Gitblit v1.9.1