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; + } }