wuxw il y a 2 ans
Parent
commit
edcff0678c

+ 15 - 5
service-job/src/main/java/com/java110/job/cmd/plugin/GetPluginTokenCmd.java

@@ -7,6 +7,7 @@ import com.java110.core.context.CmdContextUtils;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.AuthenticationFactory;
 import com.java110.dto.store.StoreDto;
 import com.java110.dto.store.StoreUserDto;
 import com.java110.dto.user.UserDto;
@@ -18,6 +19,7 @@ import com.java110.job.adapt.hcIotNew.http.ISendIot;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.DateUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
@@ -49,7 +51,6 @@ public class GetPluginTokenCmd extends Cmd {
     private RestTemplate outRestTemplate;
 
 
-
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         Assert.hasKeyAndValue(reqJson, "targetUrl", "未包含targetUrl");
@@ -86,12 +87,14 @@ public class GetPluginTokenCmd extends Cmd {
         Assert.listOnlyOne(storeDtos, "商户不存在");
 
         JSONObject staff = new JSONObject();
-        staff.put("tel", userDtos.get(0).getTel());
-        staff.put("storeName", storeDtos.get(0).getName());
+        staff.put("staffId", userId);
+        staff.put("timestamp", DateUtil.getCurrentDate().getTime());
+        staff.put("sign", createSign(staff));
+
         HttpHeaders header = new HttpHeaders();
         HttpEntity<String> httpEntity = new HttpEntity<String>(staff.toJSONString(), header);
 
-        String pluginUrl = MappingCache.getValue("PLUGIN", "PLUGIN_URL")+"/pluginToken/apply";
+        String pluginUrl = MappingCache.getValue("PLUGIN", "PLUGIN_URL") + "/pluginToken/apply";
 
         ResponseEntity<String> tokenRes = outRestTemplate.exchange(pluginUrl, HttpMethod.POST, httpEntity, String.class);
 
@@ -104,8 +107,15 @@ public class GetPluginTokenCmd extends Cmd {
 
         pluginUrl = MappingCache.getValue(URL_DOMAIN, IotConstant.PLUGIN_URL);
         String targetUrl = pluginUrl + reqJson.getString("targetUrl");
-        String url = pluginUrl + "/sso.html?token=" + paramOut.getString("data") +"&communityId=" + reqJson.getString("communityId") + "&targetUrl=" + targetUrl;
+        String url = pluginUrl + "/sso.html?token=" + paramOut.getString("data") + "&communityId=" + reqJson.getString("communityId") + "&targetUrl=" + targetUrl;
         paramOut.put("url", url);
         context.setResponseEntity(ResultVo.createResponseEntity(paramOut));
     }
+
+    public String createSign(JSONObject staff) {
+        String secure = MappingCache.getValue("PLUGIN", "PLUGIN_SECURE");
+        String sign = staff.getString("staffId") + staff.getString("timestamp") + secure;
+        sign = AuthenticationFactory.md5(sign);
+        return sign;
+    }
 }