Merge remote-tracking branch 'origin/develop_1' into develop_master

This commit is contained in:
yuezhihang
2021-09-03 09:24:42 +08:00
7 changed files with 221 additions and 12 deletions
@@ -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.*;
/**
* <p>
@@ -218,8 +226,73 @@ public class SarStandProjectLibraryController extends BaseController<SarStandPro
@PostMapping("/save")
@ApiOperation("同步车型项目数据")
public ResponseMessage save(@RequestBody List<SarStandProjectLibrary> 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<SarStandProjectLibrary> 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;
}
}
@@ -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,61 @@ 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());
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){
responseHead.setERRORCODE("2");
responseHead.setRESULT("业务失败需要重做");
return responseHead;
}
responseHead.setERRORCODE("0")
.setRESULT("成功");
return responseHead;
}
}