소스 검색

Merge remote-tracking branch 'origin/uat' into uat

zxfqwert 2 달 전
부모
커밋
9f1686f065

+ 5 - 0
suishenbang-admin/src/main/resources/application-prod.yml

@@ -111,6 +111,11 @@ spring:
     tmsUrl: https://lb.lutms.com/wuliu/apissbzt/ssb_update_authFile.do
     tmsToken: EZS2020
     suishenbang: https://suishenbang.nipponpaint.com.cn/oneportal
+  esb:
+    XAppId: Rg0YtNTe #yOQIfSJF
+    APiKey: VOw81LBuXDSSRx4v #aUK5WZTmWjzn1foC
+    shopStoneLikePaint: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list #http://esbgateway-test.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list
+    goldShopUser: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/goldshop/staff/list
   mail:
     #邮件服务器地址
     host: mail.dgtis.com

+ 1 - 1
suishenbang-admin/src/main/resources/application-uat.yml

@@ -126,7 +126,7 @@ spring:
     XAppId: Rg0YtNTe #yOQIfSJF
     APiKey: VOw81LBuXDSSRx4v #aUK5WZTmWjzn1foC
     shopStoneLikePaint: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list #http://esbgateway-test.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list
-
+    goldShopUser: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/goldshop/staff/list
   mail:
     #邮件服务器地址
     host: mail.dgtis.com

+ 1 - 0
suishenbang-api/src/main/resources/application-prod.yml

@@ -78,6 +78,7 @@ spring:
     XAppId: Rg0YtNTe #yOQIfSJF
     APiKey: VOw81LBuXDSSRx4v #aUK5WZTmWjzn1foC
     shopStoneLikePaint: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list #http://esbgateway-test.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list
+    goldShopUser: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/goldshop/staff/list
 
   mail:
     #邮件服务器地址

+ 1 - 0
suishenbang-api/src/main/resources/application-uat.yml

@@ -80,6 +80,7 @@ spring:
     XAppId: Rg0YtNTe #yOQIfSJF
     APiKey: VOw81LBuXDSSRx4v #aUK5WZTmWjzn1foC
     shopStoneLikePaint: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list #http://esbgateway-test.nipponpaint.com.cn/NPeportal/api/diydt/v3/texturewall/staff/list
+    goldShopUser: http://esbgateway.nipponpaint.com.cn/NPeportal/api/diydt/v3/goldshop/staff/list
 
   mail:
     #邮件服务器地址

+ 13 - 3
suishenbang-quartz/src/main/java/com/dgtly/quartz/task/RyTask.java

@@ -76,11 +76,21 @@ public class RyTask
      * @date: 2025/8/18 13:53
      */
     public void shopStoneLikePaint() throws ParseException {
+        //获取TUC仿石漆服务商人员
         shopUserTypeComponent.shopStoneLikePaint();
+        //获取金牌店用户人员
+        shopUserTypeComponent.shopGoldShopUser();
     }
-    /*立邦DIY人员定时同步*/
-  /*  public void analyCwCustomer(){
-        analysisDiyCustomerComponent.analyCwCustomer();
+
+    /**
+     * @description: 获取金牌店用户人员
+     * @param: []
+     * @return: void
+     * @author: njs
+     * @date: 2025/9/1 10:39
+     */
+  /* public void shopGoldShopUser()throws ParseException{
+       shopUserTypeComponent.shopGoldShopUser();
     }*/
 
     /*HANA订单数据定时同步*/

+ 5 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/HanaOrderComponent.java

@@ -116,6 +116,7 @@ public class HanaOrderComponent {
                 "               T.UEPOS, \n"+
                 "               T.MAABC, \n"+
                 "               T.ZCODE8, \n"+
+                "               T.ZBEZEI1,"+
                 "\t replace(replace(T.BSTKD_E,CHAR(10),''),CHAR(13),'') BSTKD_E \n" +
                 "FROM (\n" +
                 "\n" +
@@ -174,12 +175,14 @@ public class HanaOrderComponent {
                 "               A.UEPOS,"+
                 "               A.MAABC,"+
                 "               A.ZCODE8,"+
+                 "               A.ZBEZEI1,"+
                 "                A.BSTKD_E "+
                 "FROM \"_SYS_BIC\".\"com.sd/CAL_SALES\"" +
                 "('PLACEHOLDER' = ('$$IP_ENDDATE$$',\n" +
                 "\t '"+DateUtils.dateTime()+"'),\n" +
                 "\t 'PLACEHOLDER' = ('$$IP_STATDATE$$',\n" +
-                "\t '"+DateUtils.getThreeMonthDate()+"')) A  LEFT JOIN ERP.MARA B ON B.MATNR = A.MATNR \n" +
+                "\t '"+DateUtils.getThreeMonthDate()+"'),\n" +
+                "\t 'PLACEHOLDER' = ('$$language$$', '1')) A  LEFT JOIN ERP.MARA B ON B.MATNR = A.MATNR \n" +
                 "\t LEFT JOIN ERP.T001W C ON C.WERKS = A.WERKS \n" +
                 "\t LEFT JOIN ERP.ZHANAMATDOWN D ON D.MATNR = A.MATNR \n" +
                 "\t LEFT JOIN ERP.T001L E ON E.WERKS = A.WERKS AND E.LGORT = A.LGORT \n" +
@@ -629,6 +632,7 @@ public class HanaOrderComponent {
                                 +"$$"+ result.getString("UEPOS")
                                 +"$$"+ result.getString("MAABC")
                                 +"$$"+ result.getString("ZCODE8")
+                                +"$$"+ result.getString("ZBEZEI1")
                                 +"$$"+ result.getString("BSTKD_E")
                                 + "\r\n");
 

+ 94 - 0
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/ShopUserTypeComponent.java

@@ -65,6 +65,9 @@ public class ShopUserTypeComponent {
     @Value(value = "${spring.esb.shopStoneLikePaint}")
     private String stoneLikePaintUrl;
 
+    @Value( value = "${spring.esb.goldShopUser}")
+    private String goldShopUserUrl;
+
 
 
     /**
@@ -136,6 +139,7 @@ public class ShopUserTypeComponent {
                         JSONObject stoneUserJson = JSONObject.parseObject(stoneLikeUser);
                         if(stoneUserJson !=null &&  stoneUserJson.getString("code").equals("0")){
                             JSONArray stoneUserArray = stoneUserJson.getJSONArray("data");
+                            //0TUC仿石漆服务商人员
                             buildShopUser(stoneUserArray,"0",roleId);
                         }
                         }catch (Exception e) {
@@ -146,6 +150,7 @@ public class ShopUserTypeComponent {
 
                 }else{
                     JSONArray stoneUserArray = stoneLikeJson.getJSONArray("data");
+                    //0TUC仿石漆服务商人员
                     buildShopUser(stoneUserArray,"0",roleId);
                 }
             }
@@ -154,6 +159,95 @@ public class ShopUserTypeComponent {
     }
 
 
+    /**
+     * @description: 获取金牌店人员
+     * @param:
+     * @return:
+     * @author: njs
+     * @date: 2025/9/1 9:14
+     */
+    public void shopGoldShopUser() throws ParseException {
+        //获取请求参数
+        Map<String, String> tokenHeaders =this.HeaderToMap();
+        Map<String, Object> params = new HashMap<>();
+        params.put("appid", appid);
+        params.put("appsecret", appsecret);
+        // 发送GET请求,包含URL、请求头和请求参数
+        String token = null;
+        try {
+            token = HttpUtils.get(tokenUrl, tokenHeaders, params);
+            if (token == null || token.isEmpty()) {
+                // 处理空返回值的情况
+                log.error("HTTP请求返回空结果");
+            }
+        } catch (Exception e) {
+            // 处理HTTP请求异常
+            log.error("HTTP请求失败: " + e.getMessage());
+            // 可以选择重试或抛出异常
+        }
+
+        JSONObject jsonObject = JSON.parseObject(token);
+        if(jsonObject !=null && jsonObject.containsKey("access_token")){
+            String shopToken = jsonObject.getString("access_token");
+            String url = goldShopUserUrl;
+            Map<String, String> stoneLikePaintHeaders =this.HeaderToMap();
+            Map<String, Object> stoneParams = new HashMap<>();
+            stoneParams.put("access_token", shopToken);
+            stoneParams.put("page", 1);
+            stoneParams.put("page_size", 100);
+            String dateString = userShopExtMapper.searchRunTime();
+            if(dateString !=null){
+                // 截取前3位毫秒数
+                String truncatedDate = dateString.substring(0, dateString.lastIndexOf('.') + 4);
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
+                Date date = sdf.parse(truncatedDate);
+                String runTime = sdf.format(date);
+                //获取上次同步时间进行增量同步
+                if(runTime !=null && !runTime.isEmpty()){
+                    stoneParams.put("datetime_start", runTime);
+                }
+            }
+            //金牌店用户-1
+            Long roleId = roleMapper.selectRoleIdByRoleKey("goldShopUser");
+            String stoneLikePaintUser =HttpUtils.get(url, stoneLikePaintHeaders, stoneParams);
+            JSONObject stoneLikeJson = JSONObject.parseObject(stoneLikePaintUser);
+            if(stoneLikeJson !=null &&  stoneLikeJson.getString("code").equals("0")){
+                Integer count = stoneLikeJson.getInteger("count");
+                if(count > 100){
+                    int num = 0;
+                    if (count % 100 != 0) {
+                        num = (count / 100) + 2;
+                    } else {
+                        num = (count / 100) + 1;
+                    }
+                    for (int i = 1; i < num; i++) {
+                        stoneParams.put("page", i);
+                        Map<String, String> headerUuid =this.HeaderToMap();
+                        try {
+                            String stoneLikeUser =HttpUtils.get(url, headerUuid, stoneParams);
+                            JSONObject stoneUserJson = JSONObject.parseObject(stoneLikeUser);
+                            if(stoneUserJson !=null &&  stoneUserJson.getString("code").equals("0")){
+                                JSONArray stoneUserArray = stoneUserJson.getJSONArray("data");
+                                //1金牌店
+                                buildShopUser(stoneUserArray,"1",roleId);
+                            }
+                        }catch (Exception e) {
+                            log.error("循环获取获取金牌店人员列表接口错误!第" + i + "页");
+                            throw e;
+                        }
+                    }
+
+                }else{
+                    JSONArray stoneUserArray = stoneLikeJson.getJSONArray("data");
+                    //1金牌店
+                    buildShopUser(stoneUserArray,"1",roleId);
+                }
+            }
+        }
+    }
+
+
+
     /**
      * @description: 构建门店用户信息
      * @param: [json, Usertype, roleId, deptId]

+ 1 - 0
suishenbang-system/src/main/java/com/dgtly/system/domain/SysUser.java

@@ -169,6 +169,7 @@ public class SysUser extends BaseEntity
         return loginTypeList;
     }
 
+
     public String getQuit(){return  quit;}
 
     public String getShopType() {

+ 1 - 1
suishenbang-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -627,7 +627,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 					user_name
 				HAVING
 					count(*) > 1) and u.del_flag = '0' and u.quit is null
-				and e.is_customer_manager is null order by user_name
+				and e.is_customer_manager is null  and u.is_shop_account ='0' order by user_name
 	</select>
 
 	<select id="selectAllUserByUserId" parameterType="Long" resultMap="SysUserResult">

+ 1 - 1
suishenbang-wxportal/suishenbang-wxportal-common/src/main/resources/mapper/wxportal/WxMagnetMapper.xml

@@ -190,7 +190,7 @@
                 AND ur.shop_type = #{loginType}
             </if>
 
-            <if test="loginType = null or loginType == ''.toString()">
+            <if test="loginType == null or loginType == ''.toString()">
                 AND ur.shop_type is null
             </if>