数据同步
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
package com.adc.da.slrs.DataSync;
|
||||
|
||||
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
|
||||
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
|
||||
import com.adc.da.slrs.sarInstitution.service.impl.TsInstitutionServiceImpl;
|
||||
import com.adc.da.slrs.sarPosition.entity.TsPosition;
|
||||
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
|
||||
import com.adc.da.slrs.sarPosition.service.impl.TsPositionServiceImpl;
|
||||
import com.adc.da.slrs.sarUser.entity.TsUser;
|
||||
import com.adc.da.slrs.sarUser.service.ITsUserService;
|
||||
import com.adc.da.slrs.sarUser.service.impl.TsUserServiceImpl;
|
||||
import com.adc.da.sync.service.SyncUserService;
|
||||
import com.adc.da.sys.dao.OrgEODao;
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.UserOrgEO;
|
||||
import com.adc.da.sys.service.IOrgEOService;
|
||||
import com.adc.da.sys.service.impl.OrgEOServiceImpl;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
|
||||
@RestController
|
||||
@Api(description = "|SarStandPutTime|")
|
||||
@RequestMapping("/DataSync")
|
||||
public class DataSyncController {
|
||||
|
||||
@Autowired
|
||||
ITsPositionService tsPositionService;
|
||||
@Autowired
|
||||
ITsUserService tsUserService;
|
||||
@Autowired
|
||||
ITsInstitutionService tsInstitutionService;
|
||||
|
||||
|
||||
@ApiOperation("同步用户数据")
|
||||
@PostMapping("/importUserData")
|
||||
public String importUserData() throws Exception {
|
||||
SyncUserService syncUserService = new SyncUserService();
|
||||
List<String> res = syncUserService.syncFotonUser();
|
||||
//存放岗位信息
|
||||
Map<String, String> positionMap = new HashMap<>();
|
||||
Map<String, String> useDistinct = new HashMap<>();
|
||||
|
||||
List<TsPosition> positions = tsPositionService.getPosition(new TsPosition());
|
||||
if (!positions.isEmpty()) {
|
||||
positions.forEach(tsPosition -> {
|
||||
positionMap.put(tsPosition.getName(), tsPosition.getId());
|
||||
});
|
||||
}
|
||||
for (String s : res) {
|
||||
//获取到所有用户数据
|
||||
List<TsUser> tsUsers = new ArrayList<>();
|
||||
|
||||
JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results"));
|
||||
jsonArray.forEach(object -> {
|
||||
JSONObject jsonObject = JSONObject.parseObject(object.toString());
|
||||
//先获取岗位以及岗位id
|
||||
TsUser tsUser = new TsUser();
|
||||
UserOrgEO userOrgEO = new UserOrgEO();
|
||||
//设置岗位
|
||||
if (null != jsonObject.getString("title")) {
|
||||
if (null == positionMap.get(jsonObject.getString("title"))) {
|
||||
TsPosition tsPosition = new TsPosition();
|
||||
tsPosition.setId(String.valueOf(UUID.randomUUID()));
|
||||
tsPosition.setName(jsonObject.getString("title"));
|
||||
tsPositionService.addPosition(tsPosition);
|
||||
//放入岗位的map集合中
|
||||
positionMap.put(tsPosition.getName(), tsPosition.getId());
|
||||
//放入类中
|
||||
tsUser.setPositionName(tsPosition.getName());
|
||||
tsUser.setPositionId(tsPosition.getId());
|
||||
} else {
|
||||
tsUser.setPositionName(jsonObject.getString("title").trim());
|
||||
tsUser.setPositionId(positionMap.get(jsonObject.getString("title").trim()));
|
||||
}
|
||||
}
|
||||
//设置其他数据
|
||||
Timestamp createTime = new Timestamp(new Date().getTime());
|
||||
tsUser.setState(jsonObject.getString("userStatus"));
|
||||
tsUser.setUname(null!=jsonObject.getString("name")?jsonObject.getString("name"):"");
|
||||
tsUser.setValidFlag("0");
|
||||
tsUser.setDisableFlag("0");
|
||||
tsUser.setCreationTime(createTime);
|
||||
tsUser.setUserId(jsonObject.getString("userid"));
|
||||
tsUser.setAccount(jsonObject.getString("userid"));
|
||||
tsUser.setInstitutionId(null!=jsonObject.getString("orgNumber")?jsonObject.getString("orgNumber"):"" );
|
||||
tsUser.setInstitutionName(null!=jsonObject.getString("orgName")?jsonObject.getString("orgName"):"" );
|
||||
if (null == useDistinct.get(jsonObject.getString("userid"))) {
|
||||
tsUsers.add(tsUser);
|
||||
|
||||
}
|
||||
useDistinct.put(tsUser.getUserId(),tsUser.getUserId());
|
||||
});
|
||||
tsUserService.saveBatch(tsUsers);
|
||||
}
|
||||
|
||||
return "1";
|
||||
}
|
||||
|
||||
@ApiOperation("同步组织机构")
|
||||
@PostMapping("/importOrgData")
|
||||
public String importOrgData() throws Exception {
|
||||
SyncUserService syncUserService = new SyncUserService();
|
||||
List<String> res = syncUserService.syncFotonOrg();
|
||||
|
||||
//获取到所有用户数据
|
||||
List<String> strings=new ArrayList<>();
|
||||
|
||||
tsInstitutionService.clearData();
|
||||
for (String s : res) {
|
||||
JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results"));
|
||||
jsonArray.forEach(object -> {
|
||||
JSONObject jsonObject = JSONObject.parseObject(object.toString());
|
||||
strings.add(jsonObject.getString("parentOrgNumber"));
|
||||
});
|
||||
}
|
||||
for (String s : res) {
|
||||
List<TsInstitution> tsInstitutions = new ArrayList<>();
|
||||
JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results"));
|
||||
jsonArray.forEach(object -> {
|
||||
JSONObject jsonObject = JSONObject.parseObject(object.toString());
|
||||
TsInstitution tsInstitution=new TsInstitution();
|
||||
tsInstitution.setId(jsonObject.getString("orgNumber"));
|
||||
tsInstitution.setName(jsonObject.getString("orgName"));
|
||||
tsInstitution.setHasChild(strings.contains(jsonObject.getString("orgNumber"))?"1":"0");
|
||||
tsInstitution.setParentId(jsonObject.getString("parentOrgNumber"));
|
||||
tsInstitutions.add(tsInstitution);
|
||||
});
|
||||
tsInstitutionService.saveBatch(tsInstitutions);
|
||||
}
|
||||
return "1";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -59,4 +59,7 @@ public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
|
||||
|
||||
@Select("select * from ts_institution order by rand() limit 1")
|
||||
TsInstitution selectRand();
|
||||
|
||||
int clearData();
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -42,4 +42,6 @@ public interface ITsInstitutionService extends IService<TsInstitution> {
|
||||
* @return
|
||||
*/
|
||||
public List<TsInstitution> getFirst();
|
||||
|
||||
int clearData();
|
||||
}
|
||||
|
||||
+5
@@ -213,4 +213,9 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
|
||||
return tsInstitutions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int clearData() {
|
||||
return tsInstitutionDao.clearData();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,4 +68,8 @@
|
||||
</foreach>
|
||||
|
||||
</insert>
|
||||
|
||||
<delete id="clearData">
|
||||
delete from ts_institution
|
||||
</delete>
|
||||
</mapper>
|
||||
|
||||
@@ -21,7 +21,7 @@ public class SyncUserService {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
SyncUserService syncUserService=new SyncUserService();
|
||||
syncUserService.syncFotonOrg();
|
||||
syncUserService.syncFotonUser();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,7 @@ public class SyncUserService {
|
||||
json.add(rs);
|
||||
|
||||
JSONObject responseStr = JSON.parseObject(rs);
|
||||
|
||||
System.out.println(rs);
|
||||
if (responseStr.containsKey("cookie")) {
|
||||
try {
|
||||
JSONArray entries = responseStr.getJSONArray("cookie");
|
||||
|
||||
@@ -162,4 +162,6 @@ public interface OrgEODao extends BaseMapper<OrgEO> {
|
||||
public OrgEO getOrgParentInfoOrgId(OrgEO orgEO);
|
||||
|
||||
public List<OrgEO> getOrgRootTree();
|
||||
|
||||
int clearData();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.adc.da.sys.entity;
|
||||
|
||||
import com.adc.da.base.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -13,6 +14,7 @@ import java.util.List;
|
||||
* <b>日期:</b> 2018-09-03 <br>
|
||||
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
|
||||
*/
|
||||
@TableName(value = "ts_org")
|
||||
public class OrgEO extends BaseEntity implements Serializable {
|
||||
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
@@ -762,6 +762,9 @@
|
||||
AND parent_idS IS NOT NULL
|
||||
|
||||
</select>
|
||||
<delete id="clearData">
|
||||
delete from TS_ORG
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user