Commit 6a6494de authored by “yiyousong”'s avatar “yiyousong”
parents 72c683de 11f4238d
This diff is collapsed.
This diff is collapsed.
......@@ -52,7 +52,6 @@ public class SyncGovMatterDetailThread implements Runnable {
log.info("同步事项列表:"+ JSON.toJSONString(rest));
if(rest.getCode()== YesNoEnum.YES.getValue()){
List<MatterEntity> matterEntityList = matterService.find(new MatterQuery().areaCode(siteEntity.getAreaCode()).source(SourceEnum.政务网.getValue()));
List<MatterEntity> unSyncDetailMatterList = matterEntityList.stream().filter(f -> f.getHaveGetMatterInfo().equalsIgnoreCase("false")).collect(Collectors.toList());
log.info("同步站点事项到站点.....");
......
package com.mortals.xhx.common.utils;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import com.mortals.xhx.module.base.service.BaseAreaService;
import com.mortals.xhx.module.dept.service.DeptService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 同步区域子数据
*
* @author: zxfei
* @date: 2022/4/13 13:34
* @description:
**/
@AllArgsConstructor
@Slf4j
public class SyncSubAreaThread implements Runnable {
private BaseAreaService baseAreaService;
private BaseAreaEntity baseAreaEntity;
private Context context;
@Override
public void run() {
log.info("子区域同步开始!");
Rest<String> rest = baseAreaService.genSubAreaByRootName(baseAreaEntity, context);
log.info("子区域同步结束!结果:{}", JSON.toJSONString(rest));
}
}
......@@ -50,13 +50,10 @@ public class RequestDataController {
Map<String, String> baseInfoMap = matterService.getBaseInfoMap(null);
//保存为
Setting setting = Setting.create();
setting.putAll(baseInfoMap);
setting.store("E://baseinfo.setting");
Map<String, String> sqclInfoMap = matterService.getSqclInfoMap(null);
sqclInfoMap.entrySet().stream().peek(item -> {
String[] split = item.getValue().split(",");
if (split.length > 1) {
......
package com.mortals.xhx.module.area.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.ICRUDCacheService;
import java.util.List;
......@@ -68,4 +69,11 @@ public interface AreaService extends ICRUDCacheService<AreaEntity,Long> {
* @param context
*/
void genSqlByRootName(String rootName, Context context);
/**
* 清除区域所有数据
* @return
*/
Rest<String> removeAll();
}
\ No newline at end of file
package com.mortals.xhx.module.area.service.impl;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.area.model.AreaQuery;
import com.mortals.xhx.module.area.model.AreaTreeSelect;
import com.mortals.xhx.module.base.service.BaseAreaService;
import com.mortals.xhx.module.site.service.SiteService;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -30,6 +32,8 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
@Autowired
private SiteService siteService;
@Autowired
private BaseAreaService baseAreaService;
/* @Override
......@@ -247,9 +251,10 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
@Override
public void genSqlByRootName(String rootName, Context context) {
//查询定位根节点
AreaEntity areaEntity = this.selectOne(new AreaQuery().name(rootName));
//INSERT INTO `mortals_sys_area` VALUES (1, '', '四川省', '6182157d00ce41559e001a89d87f4057', '0', 'True', 'True', 'true', 'true', '510000000000', 1, '四川省', 'www.sczwfw.gov.cn', 1, '2021-07-19 11:28:28', NULL, '2022-03-17 13:39:30');
StringBuilder sql = new StringBuilder();
/* StringBuilder sql = new StringBuilder();
if (!ObjectUtils.isEmpty(areaEntity)) {
//生成当前节点下的sql
List<AreaEntity> areaList = new ArrayList<>();
......@@ -263,9 +268,24 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
});
log.info(sql.toString());
log.info(sql.toString());*/
if (!ObjectUtils.isEmpty(areaEntity)) {
List<AreaEntity> areaList = new ArrayList<>();
recursionFn(areaList, areaEntity);
}
}
@Override
public Rest<String> removeAll() {
HashMap condition = new HashMap();
condition.put("1",1);
int delete = this.dao.delete(condition);
//删除所有缓存数据
this.removeAllCache();
return Rest.ok("清除成功!");
}
}
\ No newline at end of file
package com.mortals.xhx.module.base.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import java.util.List;
/**
* 区域Dao
* 区域 DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
public interface BaseAreaDao extends ICRUDDao<BaseAreaEntity,Long>{
}
package com.mortals.xhx.module.base.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.base.dao.BaseAreaDao;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 区域DaoImpl DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
@Repository("baseAreaDao")
public class BaseAreaDaoImpl extends BaseCRUDDaoMybatis<BaseAreaEntity,Long> implements BaseAreaDao {
}
package com.mortals.xhx.module.base.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.base.model.vo.BaseAreaVo;
/**
* 区域实体对象
*
* @author zxfei
* @date 2022-11-22
*/
public class BaseAreaEntity extends BaseAreaVo {
private static final long serialVersionUID = 1L;
/**
* 祖级列表,逗号分隔
*/
private String ancestors;
/**
* 区域名称
*/
private String name;
/**
* 一体化的ID号
*/
private String iid;
/**
* 一体化的父id
*/
private String pid;
/**
* 是否有下级区域(True.是,False.否)
*/
private String haveSonArea;
/**
* 是否有下级部门(True.是,False.否)
*/
private String haveSonDept;
/**
* 是否获取部门(true.是,false.否)
*/
private String haveGetDept;
/**
* 是否获取事项列表(true.是,false.否)
*/
private String haveGetMatterList;
/**
* 区域编码
*/
private String areaCode;
/**
* 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
*/
private Integer areaLevel;
/**
* 名称简称
*/
private String shortName;
/**
* 访问地址
*/
private String domain;
/**
* 区域状态 (0.停用,1.正常)
*/
private Integer status;
public BaseAreaEntity(){}
/**
* 获取 祖级列表,逗号分隔
* @return String
*/
public String getAncestors(){
return ancestors;
}
/**
* 设置 祖级列表,逗号分隔
* @param ancestors
*/
public void setAncestors(String ancestors){
this.ancestors = ancestors;
}
/**
* 获取 区域名称
* @return String
*/
public String getName(){
return name;
}
/**
* 设置 区域名称
* @param name
*/
public void setName(String name){
this.name = name;
}
/**
* 获取 一体化的ID号
* @return String
*/
public String getIid(){
return iid;
}
/**
* 设置 一体化的ID号
* @param iid
*/
public void setIid(String iid){
this.iid = iid;
}
/**
* 获取 一体化的父id
* @return String
*/
public String getPid(){
return pid;
}
/**
* 设置 一体化的父id
* @param pid
*/
public void setPid(String pid){
this.pid = pid;
}
/**
* 获取 是否有下级区域(True.是,False.否)
* @return String
*/
public String getHaveSonArea(){
return haveSonArea;
}
/**
* 设置 是否有下级区域(True.是,False.否)
* @param haveSonArea
*/
public void setHaveSonArea(String haveSonArea){
this.haveSonArea = haveSonArea;
}
/**
* 获取 是否有下级部门(True.是,False.否)
* @return String
*/
public String getHaveSonDept(){
return haveSonDept;
}
/**
* 设置 是否有下级部门(True.是,False.否)
* @param haveSonDept
*/
public void setHaveSonDept(String haveSonDept){
this.haveSonDept = haveSonDept;
}
/**
* 获取 是否获取部门(true.是,false.否)
* @return String
*/
public String getHaveGetDept(){
return haveGetDept;
}
/**
* 设置 是否获取部门(true.是,false.否)
* @param haveGetDept
*/
public void setHaveGetDept(String haveGetDept){
this.haveGetDept = haveGetDept;
}
/**
* 获取 是否获取事项列表(true.是,false.否)
* @return String
*/
public String getHaveGetMatterList(){
return haveGetMatterList;
}
/**
* 设置 是否获取事项列表(true.是,false.否)
* @param haveGetMatterList
*/
public void setHaveGetMatterList(String haveGetMatterList){
this.haveGetMatterList = haveGetMatterList;
}
/**
* 获取 区域编码
* @return String
*/
public String getAreaCode(){
return areaCode;
}
/**
* 设置 区域编码
* @param areaCode
*/
public void setAreaCode(String areaCode){
this.areaCode = areaCode;
}
/**
* 获取 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @return Integer
*/
public Integer getAreaLevel(){
return areaLevel;
}
/**
* 设置 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @param areaLevel
*/
public void setAreaLevel(Integer areaLevel){
this.areaLevel = areaLevel;
}
/**
* 获取 名称简称
* @return String
*/
public String getShortName(){
return shortName;
}
/**
* 设置 名称简称
* @param shortName
*/
public void setShortName(String shortName){
this.shortName = shortName;
}
/**
* 获取 访问地址
* @return String
*/
public String getDomain(){
return domain;
}
/**
* 设置 访问地址
* @param domain
*/
public void setDomain(String domain){
this.domain = domain;
}
/**
* 获取 区域状态 (0.停用,1.正常)
* @return Integer
*/
public Integer getStatus(){
return status;
}
/**
* 设置 区域状态 (0.停用,1.正常)
* @param status
*/
public void setStatus(Integer status){
this.status = status;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof BaseAreaEntity) {
BaseAreaEntity tmp = (BaseAreaEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",ancestors:").append(getAncestors());
sb.append(",name:").append(getName());
sb.append(",iid:").append(getIid());
sb.append(",pid:").append(getPid());
sb.append(",haveSonArea:").append(getHaveSonArea());
sb.append(",haveSonDept:").append(getHaveSonDept());
sb.append(",haveGetDept:").append(getHaveGetDept());
sb.append(",haveGetMatterList:").append(getHaveGetMatterList());
sb.append(",areaCode:").append(getAreaCode());
sb.append(",areaLevel:").append(getAreaLevel());
sb.append(",shortName:").append(getShortName());
sb.append(",domain:").append(getDomain());
sb.append(",status:").append(getStatus());
return sb.toString();
}
public void initAttrValue(){
this.ancestors = "";
this.name = null;
this.iid = null;
this.pid = null;
this.haveSonArea = null;
this.haveSonDept = null;
this.haveGetDept = null;
this.haveGetMatterList = null;
this.areaCode = null;
this.areaLevel = 1;
this.shortName = null;
this.domain = null;
this.status = 1;
}
}
\ No newline at end of file
package com.mortals.xhx.module.base.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 区域视图对象
*
* @author zxfei
* @date 2022-11-22
*/
@Data
public class BaseAreaVo extends BaseEntityLong {
private List<BaseAreaEntity> children = new ArrayList<>();
}
\ No newline at end of file
package com.mortals.xhx.module.base.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
/**
* BaseAreaService
*
* 区域 service接口
*
* @author zxfei
* @date 2022-11-22
*/
public interface BaseAreaService extends ICRUDService<BaseAreaEntity,Long>{
/**
* 根据顶点名称生成子节点
* @param baseAreaEntity
* @param context
*/
Rest<String> genSubAreaByRootName(BaseAreaEntity baseAreaEntity, Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.base.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.area.model.AreaQuery;
import com.mortals.xhx.module.area.service.AreaService;
import com.mortals.xhx.module.base.model.BaseAreaQuery;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.base.dao.BaseAreaDao;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import com.mortals.xhx.module.base.service.BaseAreaService;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* BaseAreaService
* 区域 service实现
*
* @author zxfei
* @date 2022-11-22
*/
@Service("baseAreaService")
public class BaseAreaServiceImpl extends AbstractCRUDServiceImpl<BaseAreaDao, BaseAreaEntity, Long> implements BaseAreaService {
@Autowired
private AreaService areaService;
@Override
public Rest<String> genSubAreaByRootName(BaseAreaEntity baseAreaEntity, Context context) {
String areaCode = baseAreaEntity.getAreaCode();
String matchCode = areaCode.replaceAll("(0)+$", "");
BaseAreaQuery baseAreaQuery = new BaseAreaQuery();
baseAreaQuery.setAreaCode(matchCode + "%");
List<BaseAreaEntity> baseAreaEntityList =this.find(baseAreaQuery);
//清除子区域数据
Rest<String> rest = areaService.removeAll();
List<AreaEntity> collect = baseAreaEntityList.stream().map(item -> {
AreaEntity areaEntity = new AreaEntity();
areaEntity.initAttrValue();
BeanUtils.copyProperties(item, areaEntity,BeanUtil.getNullPropertyNames(item));
if(item.getAreaCode().equalsIgnoreCase(areaCode)){
areaEntity.setPid("0");
}
return areaEntity;
}).collect(Collectors.toList());
log.info("更新数据条数:"+collect.size());
List<List<AreaEntity>> partition = ListUtil.partition(collect, 100);
for (List<AreaEntity> areaEntities : partition) {
areaService.save(areaEntities, context);
}
areaService.loadCache();
return Rest.ok("初始化区域数据成功!");
}
/**
* 递归列表
*/
private void recursionFn(List<BaseAreaEntity> list, BaseAreaEntity t) {
// 得到子节点列表
List<BaseAreaEntity> childList = getChildList(list, t);
t.setChildren(childList);
for (BaseAreaEntity tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<BaseAreaEntity> getChildList(List<BaseAreaEntity> list, BaseAreaEntity t) {
return list.stream().map(item -> {
if (!ObjectUtils.isEmpty(item.getPid()) && item.getPid() == t.getIid()) {
return item;
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
}
/**
* 判断是否有子节点
*/
private boolean hasChild(List<BaseAreaEntity> list, BaseAreaEntity t) {
return getChildList(list, t).size() > 0 ? true : false;
}
}
\ No newline at end of file
package com.mortals.xhx.module.base.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.ThreadPool;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.keys.RedisCacheKeys;
import com.mortals.xhx.common.utils.SyncGovMatterDetailThread;
import com.mortals.xhx.common.utils.SyncSubAreaThread;
import com.mortals.xhx.module.base.model.BaseAreaQuery;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import com.mortals.xhx.module.base.service.BaseAreaService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
* 区域
*
* @author zxfei
* @date 2022-11-22
*/
@RestController
@RequestMapping("base/area")
public class BaseAreaController extends BaseCRUDJsonBodyMappingController<BaseAreaService, BaseAreaEntity, Long> {
@Autowired
private ParamService paramService;
@Autowired
private ICacheService cacheService;
public BaseAreaController() {
super.setModuleDesc("区域");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "haveSonArea", paramService.getParamBySecondOrganize("BaseArea", "haveSonArea"));
this.addDict(model, "haveSonDept", paramService.getParamBySecondOrganize("BaseArea", "haveSonDept"));
this.addDict(model, "haveGetDept", paramService.getParamBySecondOrganize("BaseArea", "haveGetDept"));
this.addDict(model, "haveGetMatterList", paramService.getParamBySecondOrganize("BaseArea", "haveGetMatterList"));
this.addDict(model, "areaLevel", paramService.getParamBySecondOrganize("BaseArea", "areaLevel"));
this.addDict(model, "status", paramService.getParamBySecondOrganize("BaseArea", "status"));
super.init(model, context);
}
/**
* 同步站点事项数据
*/
@PostMapping(value = "genSubAreaByAreaName")
@UnAuth
public String genSubAreaByAreaName(@RequestBody BaseAreaQuery areaQuery) {
JSONObject jsonObject = new JSONObject();
String busiDesc = "同步子区域数据" + this.getModuleDesc();
try {
if (ObjectUtils.isEmpty(areaQuery.getName()) && ObjectUtils.isEmpty(areaQuery.getAreaCode())) {
throw new AppException("当前初始区域编码或名称为空!");
}
//编码优先
BaseAreaEntity baseAreaEntity = null;
if (!ObjectUtils.isEmpty(areaQuery.getAreaCode())) {
baseAreaEntity = this.service.selectOne(new BaseAreaQuery().areaCode(areaQuery.getAreaCode()));
} else if (!ObjectUtils.isEmpty(areaQuery.getName())) {
baseAreaEntity = this.service.selectOne(new BaseAreaQuery().name(areaQuery.getName()));
}
if (ObjectUtils.isEmpty(baseAreaEntity)) {
throw new AppException(String.format("区域数据未找到,区域名称:%s,区域编码:%s", areaQuery.getName(),areaQuery.getAreaCode()));
}
boolean bool = cacheService.setnx(RedisCacheKeys.getSyncAreaLockKey() + areaQuery.getName(), areaQuery.getName(), 60L);
if (!bool) {
throw new AppException("当前正在同步区域数据中,请勿重复提交!");
}
ThreadPool.getInstance().execute(new SyncSubAreaThread(this.service, baseAreaEntity, getContext()));
recordSysLog(request, busiDesc + " 【成功】");
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, "初始同步区域数据命令下发成功!");
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
}
\ No newline at end of file
......@@ -278,7 +278,7 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
if(ObjectUtils.isEmpty(siteEntity)){
throw new AppException("当前站点为空!");
}
boolean bool = cacheService.setnx(RedisCacheKeys.getFlowDistributedLockKey() + siteEntity.getAreaCode(), siteEntity.getAreaCode(), 60L);
boolean bool = cacheService.setnx(RedisCacheKeys.getSyncMatterLockKey() + siteEntity.getAreaCode(), siteEntity.getAreaCode(), 60L);
if (!bool) {
throw new AppException("当前正在同步事项数据中,请勿重复提交!");
}
......
......@@ -9,7 +9,7 @@
<setting name="useGeneratedKeys" value="false" />
<setting name="defaultExecutorType" value="REUSE" />
<!-- 是否开始sql日志控制台打印 -->
<!-- <setting name="logImpl" value="STDOUT_LOGGING" />-->
<!-- <setting name="logImpl" value="STDOUT_LOGGING" />-->
</settings>
<plugins>
<plugin interceptor="com.mortals.framework.thirty.mybatis.MortalsPagePlugin">
......
......@@ -62,4 +62,15 @@
<appender-ref ref="fileError"/>
</logger>
<logger name="com.mortals.xhx.module" level="debug" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="fileInfo"/>
<appender-ref ref="fileError"/>
</logger>
<!-- <logger name="com.mortals.xhx.module">
<level value="debug"/>
</logger>-->
</configuration>
\ No newline at end of file
......@@ -83,20 +83,20 @@
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AreaEntity" useGeneratedKeys="true" keyProperty="id">
<insert id="insert" parameterType="AreaEntity" >
insert into mortals_sys_area
(ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
(id,ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
VALUES
(#{ancestors},#{name},#{iid},#{pid},#{haveSonArea},#{haveSonDept},#{haveGetDept},#{haveGetMatterList},#{areaCode},#{areaLevel},#{shortName},#{domain},#{status},#{createTime},#{createUserId},#{updateTime})
(#{id},#{ancestors},#{name},#{iid},#{pid},#{haveSonArea},#{haveSonDept},#{haveGetDept},#{haveGetMatterList},#{areaCode},#{areaLevel},#{shortName},#{domain},#{status},#{createTime},#{createUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_area
(ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
(id,ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.ancestors},#{item.name},#{item.iid},#{item.pid},#{item.haveSonArea},#{item.haveSonDept},#{item.haveGetDept},#{item.haveGetMatterList},#{item.areaCode},#{item.areaLevel},#{item.shortName},#{item.domain},#{item.status},#{item.createTime},#{item.createUserId},#{item.updateTime})
(#{item.id},#{item.ancestors},#{item.name},#{item.iid},#{item.pid},#{item.haveSonArea},#{item.haveSonDept},#{item.haveGetDept},#{item.haveGetMatterList},#{item.areaCode},#{item.areaLevel},#{item.shortName},#{item.domain},#{item.status},#{item.createTime},#{item.createUserId},#{item.updateTime})
</foreach>
</insert>
......
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###区域列表
POST {{baseUrl}}/base/area/list
Content-Type: application/json
{
"page":1,
"size":10
}
###区域更新与保存
POST {{baseUrl}}/base/area/save
Authorization: {{authToken}}
Content-Type: application/json
{
"ancestors":"otlbm4",
"name":"rjnxoh",
"iid":"a55b2h",
"pid":"m6vxah",
"haveSonArea":"xlfy3c",
"haveSonDept":"7idn7i",
"haveGetDept":"w7isxn",
"haveGetMatterList":"05iqey",
"areaCode":"cvljmh",
"areaLevel":1,
"shortName":"aexrzi",
"domain":"dibhai",
"status":1
}
> {%
client.global.set("BaseArea_id", JSON.parse(response.body).data.id);
%}
###子区域更新
POST {{baseUrl}}/base/area/genSubAreaByAreaName
Content-Type: application/json
{
"areaCode": "510100000000"
}
###区域查看
GET {{baseUrl}}/base/area/info?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
###区域编辑
GET {{baseUrl}}/base/area/edit?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
###区域删除
GET {{baseUrl}}/base/area/delete?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
......@@ -35,6 +35,13 @@ public final class RedisCacheKeys {
return "sync:matter:lock:";
}
/**
* @return 锁定区域
*/
public static String getSyncAreaLockKey() {
return "sync:area:lock:";
}
/**
* @return 锁定流程发起
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment