save sar_stand_project_team

This commit is contained in:
zhaokaiyao@91isoft.com
2021-09-02 21:06:40 +08:00
parent cb2090fc44
commit e8dd9f42cb
6 changed files with 146 additions and 9 deletions
@@ -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(){};
}
@@ -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<T> LIST;
// public ResponseDto(Head HEAD, List<T> LIST) {
// this.HEAD = HEAD;
// this.LIST = LIST;
// }
public ResponseDto(Head head) {
this.HEAD = head;
}
public ResponseDto() {
}
}
@@ -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;
/**
* <p>
@@ -36,8 +35,11 @@ public class SarStandProjectTeamController extends BaseController<SarStandProjec
@PostMapping("/save")
@ApiOperation("同步PCMS组织信息")
public ResponseMessage save(@RequestBody List<SarStandProjectTeam> 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;
}
}
@@ -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;
}
@@ -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<SarStandProjectTeam> {
public Head AnalysisJsonAndStorage(String jsonStr);
}
@@ -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<SarStandProjectTeamDao, SarStandProjectTeam> 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<SarStandProjectTeam> updateCondition = new QueryWrapper<SarStandProjectTeam>();
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;
}
}