Browse Source

测试企微信息发送

yousongbo 2 days ago
parent
commit
a5520d8742

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

@@ -53,6 +53,14 @@ qiyeweixin:
   corpsecret: g37wunxe43I_g-W_umTUFFGEFU6m1ordFoMLuUe4rK8
   #应用id
   agentId: 1000089
+  #金牌点/随身邦/服务商配置
+  ssbCorpsecret: vsH9bzOhP13r2DAUEMO6SlHvlrxfTWxfJ1IqtZKvuy4
+  ssbAgentId: 1000137
+  jpdCorpsecret: mSEr2PSM2eORA6ENxrTMYRjsocO41elTEFTrgDfmvjE
+  jpdAgentId: 1000392
+  fwsCorpsecret: 3g1xDQMoLwYBkXMzBxu-S6CWtKVn1NndvGIopuBHuN0
+  fwsAgentId : 1000391
+
 
 # 开发环境配置
 server:

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

@@ -162,6 +162,25 @@ public class SysUser extends BaseEntity
     /** 雇员id */
     private String sapEmployeeId;
 
+    private String isShopType;
+
+    private String salesLevel;
+
+    public String getSalesLevel() {
+        return salesLevel;
+    }
+
+    public void setSalesLevel(String salesLevel) {
+        this.salesLevel = salesLevel;
+    }
+
+    public String getIsShopType() {
+        return isShopType;
+    }
+
+    public void setIsShopType(String isShopType) {
+        this.isShopType = isShopType;
+    }
 
     //应用类型对应关系
     private List<Map<String,Object> >loginTypeList;

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

@@ -46,7 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="personAttestationTime"       column="person_attestation_time"       />
 		<result property="isOrgAuthentication"       column="is_org_authentication"       />
 		<result property="orgAttestationTime"       column="org_attestation_time"       />
-        <!--<result property="salesLevel"   column="sales_level"  />-->
+		<result property="isShopType"       column="is_shop_type"       />
+        <result property="salesLevel"   column="sales_level"  />
         <!--<result property="orgName"      column="org_name"     />-->
         <!--<result property="orgCode"      column="org_code"     />-->
 		<association property="dept"    column="dept_id" javaType="SysDept" resultMap="deptResult" />
@@ -101,7 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				d.dept_id, d.parent_id, d.dept_name, d.order_num, d.leader, d.status as dept_status,
 				r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,
 				suse.sales_level,suse.org_name,suse.org_code,suse.boss_employee_id,suse.boss_name,suse.customer_code,suse.is_customer_manager,
-				suse.post_name,suse.post_code,suse.identity,sub.subOffice_code,sub.subOffice_name,sub.sales_company_name,sub.sales_office_name,sub.sap_employee_id
+				suse.post_name,suse.post_code,suse.identity,sub.subOffice_code,sub.subOffice_name,sub.sales_company_name,sub.sales_office_name,sub.sap_employee_id,sub.is_shop_type
 		from sys_user u
 			 left join sys_dept d on u.dept_id = d.dept_id
 			 left join sys_company c on u.company_id = c.id

+ 7 - 0
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/WxController.java

@@ -332,6 +332,13 @@ public class WxController extends ApiBaseController {
         return AjaxResult.success();
     }
 
+    @GetMapping
+    public void testApproveTMSMessage(String user) {
+        log.info("进来了");
+        String msg = "测试消息";
+        qyWxSendMessageUtil.testSendMsgToCustomer(user, msg);
+    }
+
     @ApiOperation(value = "TMS运单出厂通知",
             notes = "" )
     @ApiImplicitParams({

+ 34 - 8
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/utils/qywxutils/QyWxAccessTokenUtil.java

@@ -49,13 +49,30 @@ public class QyWxAccessTokenUtil {
     @Value(value = "${qiyeweixin.corpid:none}")
     private String corpid;
 
-
-
+    //好邦手
     @Value(value = "${qiyeweixin.corpsecret:none}")
     private String corpsecret;
-
+    //好邦手
     @Value(value = "${qiyeweixin.agentId:none}")
     private String agentId;
+    //随身邦
+    @Value(value = "${qiyeweixin.ssbCorpsecret:none}")
+    private String ssbCorpsecret;//vsH9bzOhP13r2DAUEMO6SlHvlrxfTWxfJ1IqtZKvuy4
+    //随身邦
+    @Value(value = "${qiyeweixin.ssbAgentId:none}")
+    private String ssbAgentId;//1000137
+    //金牌店
+    @Value(value = "${qiyeweixin.jpdCorpsecret:none}")
+    private String jpdCorpsecret;//mSEr2PSM2eORA6ENxrTMYRjsocO41elTEFTrgDfmvjE
+    //金牌店
+    @Value(value = "${qiyeweixin.jpdAgentId:none}")
+    private String jpdAgentId;//1000392
+    //服务商
+    @Value(value = "${qiyeweixin.fwsCorpsecret:none}")
+    private String fwsCorpsecret;//3g1xDQMoLwYBkXMzBxu-S6CWtKVn1NndvGIopuBHuN0
+    //服务商
+    @Value(value = "${qiyeweixin.fwsAgentId:none}")
+    private String fwsAgentId;//1000391
 
 
 
@@ -63,9 +80,9 @@ public class QyWxAccessTokenUtil {
      * 获取access_token
      * @return
      */
-    public String getAccessToken() {
+    public String getAccessToken(String userType) {
         JSONObject json;
-        String url;
+        String url ="";
 
         try {
             //token未过期使用缓存的token
@@ -75,7 +92,16 @@ public class QyWxAccessTokenUtil {
                 return this.accessToken;
             }
             //获取请求地址
-            url = QyWxServiceUrl.ACCESS_TOKEN_URL.getformatUrl(corpid, corpsecret);
+            if (StringUtils.isEmpty(userType)){
+                url = QyWxServiceUrl.ACCESS_TOKEN_URL.getformatUrl(corpid, corpsecret);
+            }else if ("1".equals(userType)){
+                url = QyWxServiceUrl.ACCESS_TOKEN_URL.getformatUrl(corpid, ssbCorpsecret);
+            }else if ("3".equals(userType)){
+                url = QyWxServiceUrl.ACCESS_TOKEN_URL.getformatUrl(corpid, jpdCorpsecret);
+            }else if ("2".equals(userType)){
+                url = QyWxServiceUrl.ACCESS_TOKEN_URL.getformatUrl(corpid, fwsCorpsecret);
+            }
+            log.info("getAccessToken url:{} ", url);
             json = JSONObject.parseObject(HttpUtils.sendGet(url));
         }catch (Exception e){
             this.accessToken=null;
@@ -138,7 +164,7 @@ public class QyWxAccessTokenUtil {
         }
 
 
-        String url = QyWxServiceUrl.JSAPI_TICKET_URL.getformatUrl(getAccessToken());
+        String url = QyWxServiceUrl.JSAPI_TICKET_URL.getformatUrl(getAccessToken(""));
         log.info("getWXJsapiTicket url ", url);
         String resp = HttpUtils.sendSSLGet(url);
         log.info("getWXJsapiTicket resp ", resp);
@@ -163,7 +189,7 @@ public class QyWxAccessTokenUtil {
         }
 
 
-        String url = QyWxServiceUrl.JSAPI_TICKET_AGENT_URL.getformatUrl(getAccessToken());
+        String url = QyWxServiceUrl.JSAPI_TICKET_AGENT_URL.getformatUrl(getAccessToken(""));
         log.info("getAgentTicket url ", url);
         String resp = HttpUtils.sendSSLGet(url);
         log.info("getAgentTicket resp ", resp);

+ 54 - 7
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/utils/qywxutils/QyWxSendMessageUtil.java

@@ -1,10 +1,12 @@
 package com.dgtly.wxportal.utils.qywxutils;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.dgtly.common.utils.StringUtils;
 import com.dgtly.common.utils.http.HttpUtils;
 import com.dgtly.system.domain.CustomerModelVO;
+import com.dgtly.system.domain.SysUser;
 import com.dgtly.system.service.ISysUserService;
 import com.dgtly.system.service.impl.SysConfigServiceImpl;
 import com.dgtly.wxportal.domain.SendOrderNoticeTaskModel;
@@ -56,7 +58,7 @@ public class QyWxSendMessageUtil {
                 qyWxTextMessage.setText(msg);
                 wm.setSendText(qyWxTextMessage.getText().getContent());
                 try {
-                    sendMessage(qyWxTextMessage);
+                    sendMessage(qyWxTextMessage,"");
                     wm.setIsSuccess("1");
                     wm.setForm(form);
                 } catch (Exception e) {
@@ -76,6 +78,32 @@ public class QyWxSendMessageUtil {
         }
     }
 
+    public void testSendMsgToCustomer(String user,String msg){
+        QyWxTextMessage qyWxTextMessage = new QyWxTextMessage();
+        qyWxTextMessage.setTouser(user);
+        qyWxTextMessage.setText(msg);
+        SysUser sysUser = sysUserService.selectUserByLoginName(qyWxTextMessage.getTouser());
+        if (sysUser != null){
+            log.info("当前发送给:"+qyWxTextMessage.getTouser()+"的微信信息为:"+qyWxTextMessage.getText().getContent());
+            log.info("用户:{}", JSON.toJSON(sysUser));
+            if (StringUtils.isNotEmpty(sysUser.getIsShopType())){
+                if(sysUser.getIsShopType().equals("0")){
+                    sendMessage(qyWxTextMessage,"2");
+                }else{
+                    sendMessage(qyWxTextMessage,"3");
+                }
+            }else {
+                if(("customer_level").equals(sysUser)||("reseller_level").equals(sysUser) ){
+                    sendMessage(qyWxTextMessage,"1");
+                }else{
+                    sendMessage(qyWxTextMessage,"");
+                }
+            }
+        }else {
+            sendMessage(qyWxTextMessage,"");
+        }
+    }
+
     @Async
     public void sendMsgToCustomer(Set<String> customerCodes,Map<String,Map<String,Object>> maps,String msg, String form){
         List<WxSendMessage> wmList = new ArrayList<>();
@@ -90,7 +118,26 @@ public class QyWxSendMessageUtil {
                     wm.setSendText(qyWxTextMessage.getText().getContent());
                     wm.setForm(form);
                     try{
-                        sendMessage(qyWxTextMessage);
+                        SysUser sysUser = sysUserService.selectUserByLoginName(qyWxTextMessage.getTouser());
+                        if (sysUser != null){
+                            log.info("当前发送给:"+qyWxTextMessage.getTouser()+"的微信信息为:"+qyWxTextMessage.getText().getContent());
+                            log.info("用户:{}", JSON.toJSON(sysUser));
+                            if (StringUtils.isNotEmpty(sysUser.getIsShopType())){
+                                if(sysUser.getIsShopType().equals("0")){
+                                    sendMessage(qyWxTextMessage,"2");
+                                }else{
+                                    sendMessage(qyWxTextMessage,"3");
+                                }
+                            }else {
+                                if(("customer_level").equals(sysUser)||("reseller_level").equals(sysUser) ){
+                                    sendMessage(qyWxTextMessage,"1");
+                                }else{
+                                    sendMessage(qyWxTextMessage,"");
+                                }
+                            }
+                        }else {
+                            sendMessage(qyWxTextMessage,"");
+                        }
                         wm.setIsSuccess("1");
                     }catch (Exception e){
                         log.error("对"+maps.get(code).get("touser")+"发送消息失败",e);
@@ -125,7 +172,7 @@ public class QyWxSendMessageUtil {
                     qyWxTextMessage.setText(msg);
                     wm.setSendText(qyWxTextMessage.getText().getContent());
                     try{
-                        sendMessage(qyWxTextMessage);
+                        sendMessage(qyWxTextMessage,"");
                         wm.setIsSuccess("1");
                         wm.setForm("1");
                     }catch (Exception e){
@@ -329,7 +376,7 @@ public class QyWxSendMessageUtil {
                     QyWxTextMessage qt = (QyWxTextMessage)qyWxBaseMessage;
                     wm.setSendText(qt.getText().getContent());
                 }
-                boolean f =  sendMessage(qyWxBaseMessage);
+                boolean f =  sendMessage(qyWxBaseMessage,"");
                 if(f){
                    success++;
                    wm.setIsSuccess("1");
@@ -358,9 +405,9 @@ public class QyWxSendMessageUtil {
      * @param message
      * @return
      */
-    public boolean sendMessage(QyWxBaseMessage message){
+    public boolean sendMessage(QyWxBaseMessage message,String userType){
         message.setAgentid(qyWxAccessTokenUtil.getAgentId());
-        String url = QyWxServiceUrl.SEND_MESSAGE_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken());
+        String url = QyWxServiceUrl.SEND_MESSAGE_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken(userType));
         String result =  HttpUtils.sendJsonPost(url,message);
         JSONObject json = JSONObject.parseObject(result);
         Integer errcode = json.getInteger("errcode");
@@ -383,7 +430,7 @@ public class QyWxSendMessageUtil {
                     wm.setSendText(qyWxTextMessage.getText().getContent());
                     wm.setForm(form);
                     try{
-                        sendMessage(qyWxTextMessage);
+                        sendMessage(qyWxTextMessage,"");
                         wm.setIsSuccess("1");
                     }catch (Exception e){
                         log.error("对"+user+"发送消息失败",e);

+ 2 - 2
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/utils/qywxutils/QyWxUserUtil.java

@@ -38,7 +38,7 @@ public class QyWxUserUtil {
      * @return
      */
     public JSONObject getUserId(String code) {
-        String url = QyWxServiceUrl.USERINFO_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken(),code );
+        String url = QyWxServiceUrl.USERINFO_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken(""),code );
         JSONObject json;
         try{
             json = JSONObject.parseObject(HttpUtils.sendGet(url));
@@ -78,7 +78,7 @@ public class QyWxUserUtil {
     }
 
     public WxQyUser gerUserDetail(String userId){
-        String url =  QyWxServiceUrl.USERDETAILINFO_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken(),userId);
+        String url =  QyWxServiceUrl.USERDETAILINFO_URL.getformatUrl(qyWxAccessTokenUtil.getAccessToken(""),userId);
 
         String result = HttpUtils.sendGet(url);