From e8dd9f42cb298c8a37d831f25323ccde5ebe941d Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Thu, 2 Sep 2021 21:06:40 +0800 Subject: [PATCH 1/2] save sar_stand_project_team --- .../sarStandProjectLibrary/entity/Head.java | 27 ++++++++ .../entity/ResponseDto.java | 27 ++++++++ .../SarStandProjectTeamController.java | 20 +++--- .../entity/SarStandProjectTeam.java | 12 ++++ .../service/ISarStandProjectTeamService.java | 3 + .../impl/SarStandProjectTeamServiceImpl.java | 66 +++++++++++++++++++ 6 files changed, 146 insertions(+), 9 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java new file mode 100644 index 00000000..64cff205 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/Head.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity; + +import com.adc.da.base.entity.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class Head extends BaseEntity { + private String BIZTRANSACTIONID; + private String RESULT; + private String ERRORCODE; + private String ERRORINFO; + private String COMMENTS; + private String SUCCESSCOUNT; + + public Head(String BIZTRANSACTIONID, String RESULT, String ERRORCODE, String ERRORINFO, String COMMENTS, String SUCCESSCOUNT) { + this.BIZTRANSACTIONID = BIZTRANSACTIONID; + this.RESULT = RESULT; + this.ERRORCODE = ERRORCODE; + this.ERRORINFO = ERRORINFO; + this.COMMENTS = COMMENTS; + this.SUCCESSCOUNT = SUCCESSCOUNT; + } + + public Head(){}; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java new file mode 100644 index 00000000..d8a99c92 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/entity/ResponseDto.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.sarStandProjectLibrary.entity; + + +import lombok.Data; + +import java.util.List; +@Data +public class ResponseDto { + + private Head HEAD; + +// private List LIST; + +// public ResponseDto(Head HEAD, List LIST) { +// this.HEAD = HEAD; +// this.LIST = LIST; +// } + + + public ResponseDto(Head head) { + this.HEAD = head; + } + + public ResponseDto() { + + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java index 3727f519..8fc7b55f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/controller/SarStandProjectTeamController.java @@ -3,20 +3,19 @@ package com.adc.da.slrs.sarStandProjectTeam.controller; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; +import com.adc.da.slrs.sarStandProjectLibrary.entity.ResponseDto; import com.adc.da.slrs.sarStandProjectLibrary.entity.SarStandProjectLibrary; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; +import com.google.gson.*; import io.swagger.annotations.ApiOperation; +import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; -import java.util.List; /** *

@@ -36,8 +35,11 @@ public class SarStandProjectTeamController extends BaseController list){ - sarStandProjectTeamService.saveBatch(list); - return Result.success("200","新增成功",list); + public ResponseDto save(@RequestBody String jsonStr){ + Head head = sarStandProjectTeamService.AnalysisJsonAndStorage(jsonStr); + + ResponseDto responseDto = new ResponseDto(head); + return responseDto; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java index 96cb201b..f44436c8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/entity/SarStandProjectTeam.java @@ -1,6 +1,9 @@ package com.adc.da.slrs.sarStandProjectTeam.entity; import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; @@ -10,15 +13,24 @@ import lombok.experimental.Accessors; @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) @ApiModel(value="SarStandProjectTeam对象", description="") +@TableName("sar_stand_project_team") public class SarStandProjectTeam extends BaseEntity { private static final long serialVersionUID = 1L; + @TableId("id") private String id; + @TableField("name") private String name; + @TableField("person") private String person; + @TableField("user_id") + private String userId; + + @TableField("project_code") + private String projectCode; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java index d2444c3f..2c0f1731 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/ISarStandProjectTeamService.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarStandProjectTeam.service; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarStandProjectTeamService extends IService { + public Head AnalysisJsonAndStorage(String jsonStr); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java index 69dfb385..2e7124aa 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java @@ -1,9 +1,17 @@ package com.adc.da.slrs.sarStandProjectTeam.service.impl; +import com.adc.da.slrs.sarStandProjectLibrary.entity.Head; import com.adc.da.slrs.sarStandProjectTeam.entity.SarStandProjectTeam; import com.adc.da.slrs.sarStandProjectTeam.dao.SarStandProjectTeamDao; import com.adc.da.slrs.sarStandProjectTeam.service.ISarStandProjectTeamService; +import com.adc.da.util.UUIDUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import org.springframework.stereotype.Service; /** @@ -17,4 +25,62 @@ import org.springframework.stereotype.Service; @Service public class SarStandProjectTeamServiceImpl extends ServiceImpl implements ISarStandProjectTeamService { + @Override + public Head AnalysisJsonAndStorage(String jsonStr) { + Head responseHead = new Head(); + try { + + SarStandProjectTeam teamInfo = new SarStandProjectTeam(); + + JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonStr); + JsonObject jsonHead = (JsonObject) jsonObject.get("HEAD"); + responseHead.setBIZTRANSACTIONID(jsonHead.get("BIZTRANSACTIONID").getAsString()); + responseHead.setCOMMENTS(jsonHead.get("CONSUMER").getAsString()); + + JsonArray LIST = (JsonArray) jsonObject.get("LIST"); + for (int i = 0; i < LIST.size(); i++) { + JsonObject jsonElement = (JsonObject) LIST.get(i); + teamInfo.setProjectCode(jsonElement.get("project_code").getAsString()); + + JsonArray orgNodes = (JsonArray) jsonElement.get("org_nodes"); + for (int j = 0; j < orgNodes.size(); j++) { + JsonObject project = (JsonObject)orgNodes.get(j); + + if (project.get("name").getAsString().equals("项目经理")) { + + + JsonArray persons = (JsonArray) project.get("persons"); + for (int k = 0; k < persons.size(); k++) { + + JsonObject jsonPerson = (JsonObject) persons.get(k); + + teamInfo.setId(UUIDUtils.randomUUID20()); + teamInfo.setUserId(jsonPerson.get("user_id").getAsString()); + teamInfo.setName(jsonPerson.get("name").getAsString()); + + QueryWrapper updateCondition = new QueryWrapper(); + updateCondition.eq("project_code",teamInfo.getProjectCode()) + .eq("user_id",teamInfo.getUserId()); + + this.saveOrUpdate(teamInfo,updateCondition); + + + } + } + + + } + + } + }catch (Exception e){ + System.out.println(e); + responseHead.setERRORCODE("2"); + responseHead.setCOMMENTS("业务失败需要重做"); + return responseHead; + } + responseHead.setERRORCODE("0") + .setRESULT("成功"); + + return responseHead; + } } From 0b97292bca1df747313a12a4e144646aa0e075f1 Mon Sep 17 00:00:00 2001 From: yanyizhou <2311759275@qq.com> Date: Thu, 2 Sep 2021 22:55:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=20/api/sarStandProjectLi?= =?UTF-8?q?brary/save=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarStandProjectLibraryController.java | 79 ++++++++++++++++++- .../impl/SarStandProjectTeamServiceImpl.java | 5 +- 2 files changed, 78 insertions(+), 6 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java index c35f1d7d..e098b0b8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectLibrary/controller/SarStandProjectLibraryController.java @@ -3,10 +3,16 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.slrs.sarStandProjectLibrary.entity.*; import com.adc.da.slrs.sarStandProjectLibrary.service.impl.SarStandProjectLibraryServiceImpl; +import com.adc.da.sys.util.UUIDUtils; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.Api; @@ -14,6 +20,8 @@ import com.adc.da.base.web.BaseController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; /** *

@@ -218,8 +226,73 @@ public class SarStandProjectLibraryController extends BaseController list){ - sarStandProjectLibraryService.saveBatch(list); - return Result.success("200","新增成功",list); + public ResponseDto save(@RequestBody String jsonStr){ + Head head = new Head(); + ResponseDto responseDto = new ResponseDto(); + +// try { + //是数组就JSONarray,是对象就JSONobject + //把字符串转换成对象 + JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonStr); + //要把jsonObject里的HEAD强转成JsonObject类型 + JsonObject HEAD = (JsonObject) jsonObject.get("HEAD"); + //因为是最后要取的值了,所以就拿到之后把它转换成String类型 + ; + HEAD.get("CONSUMER").getAsString(); + + head.setBIZTRANSACTIONID(HEAD.get("BIZTRANSACTIONID").getAsString()); + + + //LIST是数组,所以强转成JSONArray + JsonArray LIST = (JsonArray) jsonObject.get("LIST"); + for (int i = 0; i < LIST.size(); i++) { + //把数组中的第一个强转成对象 + JsonObject projectObject = (JsonObject) LIST.get(i); + + //把刚刚拿到的值存到实体类里 + SarStandProjectLibrary sarStandProjectLibrary = new SarStandProjectLibrary(); + sarStandProjectLibrary + .setProjectPlatfor(projectObject.get("eng_platform").getAsString()) + .setProjectNumber(projectObject.get("code").getAsString()) + .setProjectName(projectObject.get("name").getAsString()) + .setProjectClassification(projectObject.get("catalog_name").getAsString()) + .setProjectStatus(projectObject.get("project_status").getAsString()) + .setProjectGroup(projectObject.get("project_group_name").getAsString()) + .setCurrentNode(projectObject.get("project_current_milestone").getAsString()) + .setProjectLevel(projectObject.get("project_level").getAsString()) + .setProductLine(projectObject.get("eng_product_line").getAsString()); + + projectObject.get("target_end_on").getAsString(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + Date targetBeginOn = null; + try { + targetBeginOn = simpleDateFormat.parse(projectObject.get("target_begin_on").getAsString()); + Date targetEndOn = simpleDateFormat.parse(projectObject.get("target_end_on").getAsString()); + sarStandProjectLibrary + .setProjectStartDate(targetBeginOn) + .setProjectEndDate(targetEndOn); + + } catch (ParseException e) { + e.printStackTrace(); + } + + + sarStandProjectLibrary.setId(UUIDUtils.randomUUID20()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_number",sarStandProjectLibrary.getProjectNumber()); + + sarStandProjectLibraryService.saveOrUpdate(sarStandProjectLibrary,queryWrapper); + + } +// }catch (Exception e){ +// head.setERRORCODE("2"); +// head.setRESULT("业务失败需要重做"); +// return responseDto(head); +// } + head.setERRORCODE("0"); + head.setRESULT("成功"); + responseDto.setHEAD(head); + return responseDto; } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java index 2e7124aa..92232593 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandProjectTeam/service/impl/SarStandProjectTeamServiceImpl.java @@ -35,7 +35,7 @@ public class SarStandProjectTeamServiceImpl extends ServiceImpl