diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java index eb494ffc2..26911c24f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java @@ -1,25 +1,26 @@ package com.jero.modules.project.controller; -import java.util.Arrays; -import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; -import com.jero.modules.project.entity.ProjectNameInfoEO; -import com.jero.modules.project.service.IProjectNameInfoEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.project.entity.ProjectNameInfoEO; +import com.jero.modules.project.service.IProjectNameInfoEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -167,4 +168,15 @@ public class ProjectNameInfoEOController extends JeroController { * @return */ List queryList(); + + String getYapiInfo(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java index b00f734bc..d361c8985 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectNameInfoEOServiceImpl.java @@ -1,12 +1,15 @@ package com.jero.modules.project.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.project.entity.ProjectNameInfoEO; import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.service.IProjectNameInfoEOService; +import com.jero.modules.space.service.SpaceServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; + import java.util.Date; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; /** * @Description: 项目名信息表 @@ -16,7 +19,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; */ @Service public class ProjectNameInfoEOServiceImpl extends ServiceImpl implements IProjectNameInfoEOService { - +@Autowired +private SpaceServiceImpl spaceService; /** * 保存 * @@ -86,4 +90,178 @@ public class ProjectNameInfoEOServiceImpl extends ServiceImpl queryList() { return list(); } +@Override + public String getYapiInfo(){ + String sign =""; + try { +// sign = spaceService.getSign(); + + String resultData = "{\n" + + " \"resultData\": [\n" + + " {\n" + + " \"modelCode\": \"ES8_00\",\n" + + " \"modelName\": \"ES8\",\n" + + " \"hardwarePltCode\": \"mhp_npa\",\n" + + " \"hardwarePltName\": \"NPA\",\n" + + " \"softwarePltCode\": \"msp_nt1\",\n" + + " \"softwarePltName\": \"NT1\",\n" + + " \"modelYearInfoList\": [\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1\",\n" + + " \"yearName\": \"G1.1\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.2\",\n" + + " \"yearName\": \"G1.2\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.3\",\n" + + " \"yearName\": \"G1.3\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.f\",\n" + + " \"yearName\": \"G1.F\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.f.e\",\n" + + " \"yearName\": \"G1.F.E\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_my2018\",\n" + + " \"yearName\": \"MY2018\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.5\",\n" + + " \"yearName\": \"G1.5\"\n" + + " }\n" + + " ]\n" + + " },\n" + + " {\n" + + " \"modelCode\": \"FURY_00\",\n" + + " \"modelName\": \"FURY\",\n" + + " \"hardwarePltCode\": \"mhp_npa\",\n" + + " \"hardwarePltName\": \"NPA\",\n" + + " \"softwarePltCode\": \"msp_nt1\",\n" + + " \"softwarePltName\": \"NT1\",\n" + + " \"modelYearInfoList\": [\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1\",\n" + + " \"yearName\": \"G1.1\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.2\",\n" + + " \"yearName\": \"G1.2\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.3\",\n" + + " \"yearName\": \"G1.3\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.f\",\n" + + " \"yearName\": \"G1.F\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.6\",\n" + + " \"yearName\": \"G1.6\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.5\",\n" + + " \"yearName\": \"G1.5\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1.e\",\n" + + " \"yearName\": \"G1.1.E\"\n" + + " }\n" + + " ]\n" + + " },\n" + + " {\n" + + " \"modelCode\": \"FORCE_00\",\n" + + " \"modelName\": \"FORCE\",\n" + + " \"hardwarePltCode\": \"mhp_npb\",\n" + + " \"hardwarePltName\": \"NPB\",\n" + + " \"softwarePltCode\": \"msp_nt2\",\n" + + " \"softwarePltName\": \"NT2\",\n" + + " \"modelYearInfoList\": [\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1\",\n" + + " \"yearName\": \"G1.1\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1.e\",\n" + + " \"yearName\": \"G1.1.E\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.2\",\n" + + " \"yearName\": \"G1.2\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.3\",\n" + + " \"yearName\": \"G1.3\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.f\",\n" + + " \"yearName\": \"G1.F\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.6\",\n" + + " \"yearName\": \"G1.6\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.5\",\n" + + " \"yearName\": \"G1.5\"\n" + + " }\n" + + " ]\n" + + " },\n" + + " {\n" + + " \"modelCode\": \"Gemini_00\",\n" + + " \"modelName\": \"Gemini\",\n" + + " \"hardwarePltCode\": \"mhp_npa\",\n" + + " \"hardwarePltName\": \"NPA\",\n" + + " \"softwarePltCode\": \"msp_nt2\",\n" + + " \"softwarePltName\": \"NT2\",\n" + + " \"modelYearInfoList\": [\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1\",\n" + + " \"yearName\": \"G1.1\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1.e\",\n" + + " \"yearName\": \"G1.1.E\"\n" + + " }\n" + + " ]\n" + + " },\n" + + " {\n" + + " \"modelCode\": \"Pegasus_00\",\n" + + " \"modelName\": \"Pegasus\",\n" + + " \"hardwarePltCode\": \"mhp_npc\",\n" + + " \"hardwarePltName\": \"NPC\",\n" + + " \"softwarePltCode\": \"msp_nt2\",\n" + + " \"softwarePltName\": \"NT2\",\n" + + " \"modelYearInfoList\": [\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1\",\n" + + " \"yearName\": \"G1.1\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_g1.1.e\",\n" + + " \"yearName\": \"G1.1.E\"\n" + + " },\n" + + " {\n" + + " \"yearCode\": \"mp_G1.1.RH\",\n" + + " \"yearName\": \"G1.1.RH\"\n" + + " }\n" + + " ]\n" + + " }\n" + + " ],\n" + + " \"resultCode\": \"WL-0000\",\n" + + " \"resultDesc\": \"Success\"\n" + + "}"; + + + + } catch (Exception e) { + e.printStackTrace(); + }return sign; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/ISpaceService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/ISpaceService.java new file mode 100644 index 000000000..6c1f9132a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/ISpaceService.java @@ -0,0 +1,26 @@ +package com.jero.modules.space.service; + +import java.io.IOException; + +public interface ISpaceService { + + /** + * 获取token + * @return + * @throws IOException + */ +// String getTenantAccessToken() throws IOException; + + /** + * 批量发送消息 + * @param userIds 用户域账号,对应数据库字段:third_id + * @param message 消息内容 + * @param title 消息类型 + * @param backUrl 消息内容中的跳转链接 + * @return + * @throws IOException + */ +// String batchSendMessage(String[] userIds, String message, String title, String backUrl) throws IOException; + + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java new file mode 100644 index 000000000..2347963aa --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java @@ -0,0 +1,91 @@ +package com.jero.modules.space.service; + +import cn.hutool.http.HttpRequest; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.security.MessageDigest; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Service +public class SpaceServiceImpl implements ISpaceService { + @Value("${Space.appId}") + private String appId; + + @Value("${Space.appSecret}") + private String appSecret; + + @Value("${Space.domainUrl}") + private String domainUrl; + + + /** + * 生成签名 + *@param map 参数 + *@param secretKey 加签密钥 + *@return String + *@throws Exception if secretKey is Empty + */ + public static String sign(Map map, String secretKey) throws Exception { + if (StringUtils.isEmpty(secretKey)) { + throw new Exception("secretKey can not be empty"); + } + StringBuilder contentBuffer = new StringBuilder(); + Object[] signParamArray = map.keySet().toArray(); + Arrays.sort(signParamArray); + for (Object key : signParamArray) { + Object value = map.get(key); + if (!"digest".equals(key) && value != null && !value.equals("")) { + contentBuffer.append(key + "=" + value + "&"); + } + } + String sign = contentBuffer.substring(0, contentBuffer.length() - 1) + secretKey; + return Md5(sign, "utf-8"); + } + + public static String Md5(String plainText, String encoding) throws Exception { + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(plainText.getBytes(encoding)); + byte b[] = md.digest(); + return byte2hex(b); + } + + public static String byte2hex(byte[] b) { + String hs = ""; + String stmp = ""; + for (int n = 0; n < b.length; n++) { + stmp = (Integer.toHexString(b[n] & 0XFF)); + if (stmp.length() == 1) + hs = hs + "0" + stmp; + else + hs = hs + stmp; + } + return hs.toUpperCase(); + } + + public String getSign() throws Exception { + Map paramMap = new HashMap(); + paramMap.put("bizData", "{\"module\":\"GRP\"}");//业务参数 + paramMap.put("timestamp", String.valueOf(System.currentTimeMillis()));//请求时间 + paramMap.put("appId", appId);//在Program Space中注册的appId + String sign = sign(paramMap,appSecret);//签名字符串 + paramMap.put("sign",sign);//签名字符串 + +// String response = HttpUtil.post(domainUrl, paramMap); + String response = HttpRequest.post(domainUrl) + .header("Content-Type", "application/x-www-form-urlencoded") + .form(paramMap)//表单内容 + .timeout(20000)//超时,毫秒 + .execute().body(); + +// String response = HttpRequestUtil.getResponseOfPOST(domainUrl, headerMap, null); + return response; + + } + +} \ No newline at end of file diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index 0092274a1..f46f19601 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -404,3 +404,28 @@ opensso: clientId: 100679 clientSecret: CDf2D9404C6ac1B0f7c3e3845ae0282a redirectUri: http%3A%2F%2F139.9.235.66%3A8010 + + +--- + ## space系统 +Space: + # dev +# appId: PMP16517425636482D4A +# appSecret: 6a689580-bf3a-47ee-b3c5-a16d2312760d +# domainUrl: https://api-plm-portal-dev.nioint.com/api/v1/plm-portal-middle-integration + + # test + appId: PMP16521484118670676 + appSecret: 4cf1b271-0c12-443d-964c-e61726b4ae0e + domainUrl: https://api-plm-portal-test.nioint.com/api/v1/plm-portal-middle-integration + + # stg + # appId: PMP1652840272275F20C + # appSecret: fbf65763-a273-4df5-8a91-ef4db6d6e315 + # domainUrl: https://api-plm-portal-stg.nioint.com/api/v1/plm-portal-middle-integration + + # prod +# appId: PMP1652840319523B159 +# appSecret: d3bf6e69-0726-42ee-91bd-0441a8f6ccdf +# domainUrl: https://api-plm-portal.nioint.com/api/v1/plm-portal-middle-integration +