同步代码

This commit is contained in:
root
2021-07-05 10:32:41 +08:00
parent 9e97c80c5e
commit 011b5e247a
8 changed files with 104 additions and 4 deletions
@@ -9,14 +9,12 @@ import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import java.util.List;
import java.util.Map;
/**
@@ -70,4 +68,12 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
List<TsUser> tsUsers=tsUserService.getUserByInstitutionId(institutionId);
return Result.success(tsUsers);
}
@ApiOperation("导入机构数据")
@PostMapping("/import")
public ResponseMessage<Object> importInstitution(Map<String,Object> param){
String json= (String) param.get("json");
tsInstitutionService.parseInstitution(json);
return Result.success();
}
}
@@ -28,4 +28,10 @@ public interface TsInstitutionDao extends BaseMapper<TsInstitution> {
* @return List<TsInstitution>
*/
List<TsInstitution> selectAndUserByParent(String parentId);
/**
* 批量插入机构
* @param tsInstitutions:机构列表
*/
void batchInsert(List<TsInstitution> tsInstitutions);
}
@@ -0,0 +1,27 @@
package com.adc.da.slrs.sarInstitution.entity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class SyncInstitution {
private String orgNumber;
private String orgName;
private String departmentName;
private String orgStatus;
private String orgShortName;
private String parentOrgNumber;
private String orgFullPath;
private String order;
private String modifyTimestamp;
public static List<TsInstitution> syncToInstitution(List<SyncInstitution> syncInstitutions){
List<TsInstitution> tsInstitutions=new ArrayList<>();
for(SyncInstitution syncInstitution:syncInstitutions){
tsInstitutions.add(new TsInstitution(syncInstitution.getOrgNumber(),syncInstitution.getParentOrgNumber(),syncInstitution.getOrgName()));
}
return tsInstitutions;
}
}
@@ -54,4 +54,13 @@ public class TsInstitution extends BaseEntity {
@TableField(exist = false)
@ApiModelProperty("是否是机构")
private Boolean disabled;
public TsInstitution() {
}
public TsInstitution(String id, String parentId, String name) {
this.id = id;
this.parentId = parentId;
this.name = name;
}
}
@@ -1,7 +1,11 @@
package com.adc.da.slrs.sarInstitution.service;
import com.adc.da.slrs.sarInstitution.entity.SyncInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -22,4 +26,12 @@ public interface ITsInstitutionService extends IService<TsInstitution> {
List<TsInstitution> getInstitution();
List<TsInstitution> getInstitutionAndUser();
/**
* 批量插入机构
* @param tsInstitutions:机构列表
*/
void batchInsert(List<TsInstitution> tsInstitutions);
public void parseInstitution(String json);
}
@@ -3,11 +3,16 @@ package com.adc.da.slrs.sarInstitution.service.impl;
import com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao;
import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser;
import com.adc.da.slrs.sarInstitution.entity.SyncInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarInstitution.entity.TsUserVO;
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.sync.service.SyncUserService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
@@ -78,6 +83,16 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
return institutionRoot;
}
/**
* 批量插入机构
* @param tsInstitutions:机构列表
*/
@Override
public void batchInsert(List<TsInstitution> tsInstitutions) {
if(tsInstitutions!=null&&tsInstitutions.size()>0){
tsInstitutionDao.batchInsert(tsInstitutions);
}
}
/**
@@ -99,4 +114,14 @@ public class TsInstitutionServiceImpl extends ServiceImpl<TsInstitutionDao, TsIn
}
return institutionObject;
}
public void parseInstitution(String json){
JSONObject jsonObject= JSON.parseObject(json);
JSONArray results=jsonObject.getJSONArray("results");
List<SyncInstitution> syncInstitutions=results.toJavaList(SyncInstitution.class);
List<TsInstitution> tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions);
batchInsert(tsInstitutions);
}
}
@@ -26,4 +26,13 @@
on i.id=u.institution_id
where i.parent_id = #{parentId}
</select>
<insert id="batchInsert">
insert into ts_institution (id,name,parent_id) values
(
<foreach collection="list" item="institution" separator=",">
#{id},#{name},#{parentId}
</foreach>
)
</insert>
</mapper>
@@ -1,14 +1,18 @@
package com.adc.da.sync.service;
import com.adc.da.sync.util.AuthUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONSerializer;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("syncUserService")
@@ -97,4 +101,6 @@ public class SyncUserService {
} while (cookie != null);
}
}