Commit 49404741 authored by “yiyousong”'s avatar “yiyousong”
parents fd01086a 3e93d758
...@@ -75,6 +75,8 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -75,6 +75,8 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
@Autowired @Autowired
private RoleUserService roleUserService; private RoleUserService roleUserService;
@Autowired
private SiteService siteService;
@Lazy @Lazy
@Autowired @Autowired
...@@ -315,11 +317,13 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -315,11 +317,13 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
@Override @Override
public void updateUserList(List<UserPdu> list) { public void updateUserList(List<UserPdu> list) {
//更新本地用户信息,并且更新用户站点树 //todo 将站点分组后 分组同步更新 //更新本地用户信息,并且更新用户站点树 //todo 将站点分组后 分组同步更新
List<String> loginNames = list.parallelStream().map(user -> user.getLoginName()).collect(Collectors.toList()); /* List<String> loginNames = list.parallelStream().map(user -> user.getLoginName()).collect(Collectors.toList());
UserQuery userQuery = new UserQuery(); UserQuery userQuery = new UserQuery();
userQuery.setLoginNameList(loginNames); userQuery.setLoginNameList(loginNames);
List<UserEntity> existUsers = this.find(userQuery); List<UserEntity> existUsers = this.find(userQuery);*/
List<UserEntity> existUsers = list.parallelStream().map(item -> this.getExtCache(item.getLoginName())).filter(f -> f != null).collect(Collectors.toList());
Map<String, UserEntity> existUserMap = existUsers.parallelStream().collect(Collectors.toMap(x -> x.getLoginName(), y -> y, (o, n) -> n)); Map<String, UserEntity> existUserMap = existUsers.parallelStream().collect(Collectors.toMap(x -> x.getLoginName(), y -> y, (o, n) -> n));
//分组查找存在的与不存在的用户 //分组查找存在的与不存在的用户
Map<Boolean, List<UserPdu>> collect = list.parallelStream().collect(Collectors.partitioningBy(x -> existUserMap.containsKey(x.getLoginName()))); Map<Boolean, List<UserPdu>> collect = list.parallelStream().collect(Collectors.partitioningBy(x -> existUserMap.containsKey(x.getLoginName())));
...@@ -343,7 +347,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -343,7 +347,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
UserEntity userEntity = new UserEntity(); UserEntity userEntity = new UserEntity();
BeanUtils.copyProperties(user, userEntity, new String[]{"loginPwd", "loginName", "userType", "status", "lastLoginTime", "lastLoginAddress"}); BeanUtils.copyProperties(user, userEntity, new String[]{"loginPwd", "loginName", "userType", "status", "lastLoginTime", "lastLoginAddress"});
userEntity.setId(existUserMap.get(user.getLoginName()).getId()); userEntity.setId(existUserMap.get(user.getLoginName()).getId());
this.updateWidthDao(userEntity); // this.updateWidthDao(userEntity);
if (!ObjectUtils.isEmpty(userEntity.getSiteIds())) { if (!ObjectUtils.isEmpty(userEntity.getSiteIds())) {
userEntitySave.add(userEntity); userEntitySave.add(userEntity);
} }
...@@ -360,6 +364,27 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -360,6 +364,27 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
ThreadPool.getInstance().execute(new SyncTreeSiteThread(context, userEntities)); ThreadPool.getInstance().execute(new SyncTreeSiteThread(context, userEntities));
} }
}); });
siteService.updateAllSiteTree(null);
/* //单独更新全站点
UserEntity userEntity = new UserEntity();
userEntity.initAttrValue();
userEntity.setId(0L);
Context contextTemp = new Context();
contextTemp.setUser(userEntity);
SyncTreeSiteThread syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread);
userEntity = new UserEntity();
userEntity.initAttrValue();
userEntity.setId(1L);
contextTemp = new Context();
contextTemp.setUser(userEntity);
syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread);
*/
} }
...@@ -376,7 +401,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -376,7 +401,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
List<UserEntity> newUserList = userPduList.stream().map(newUser -> { List<UserEntity> newUserList = userPduList.stream().map(newUser -> {
UserEntity userEntity = new UserEntity(); UserEntity userEntity = new UserEntity();
userEntity.initAttrValue(); userEntity.initAttrValue();
BeanUtils.copyProperties(newUser, userEntity, new String[]{"id", "lastLoginTime", "lastLoginAddress"}); BeanUtils.copyProperties(newUser, userEntity, new String[]{ "lastLoginTime", "lastLoginAddress"});
return userEntity; return userEntity;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
......
package com.mortals.xhx.daemon.applicationservice; package com.mortals.xhx.daemon.applicationservice;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.ThreadPool; import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.SendTaskThreadPool; import com.mortals.xhx.common.utils.SendTaskThreadPool;
import com.mortals.xhx.feign.user.IUserFeign;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.mortals.framework.springcloud.service.IApplicationService; import com.mortals.framework.springcloud.service.IApplicationService;
import org.springframework.util.ObjectUtils;
import java.util.List;
@Component @Component
...@@ -15,10 +28,33 @@ public class DemoStartService implements IApplicationService { ...@@ -15,10 +28,33 @@ public class DemoStartService implements IApplicationService {
private static Log logger = LogFactory.getLog(DemoStartService.class); private static Log logger = LogFactory.getLog(DemoStartService.class);
@Autowired
private ICacheService cacheService;
@Autowired
private IUserFeign userFeign;
@Autowired
private UserService userService;
@Override @Override
public void start() { public void start() {
ThreadPool.getInstance().init(10); // ThreadPool.getInstance().init(10);
logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]"); logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]");
/* Rest<String> rest = userFeign.synchSiteAuth();
if (rest.getCode().equals(YesNoEnum.YES.getValue())) {
UserPdu userPdu = new UserPdu();
userPdu.setPage(1);
userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
if(!ObjectUtils.isEmpty(list.getData().getData())){
//初始化更新门户用户站点树
cacheService.del(Constant.USER_SITE_TREE);
userService.updateUserList(list.getData().getData());
}
}*/
} }
@Override @Override
......
...@@ -40,14 +40,19 @@ public class DemoStartedService implements IApplicationStartedService { ...@@ -40,14 +40,19 @@ public class DemoStartedService implements IApplicationStartedService {
private UserService userService; private UserService userService;
@Autowired @Autowired
private ICacheService cacheService; private ICacheService cacheService;
@Autowired
private SiteService siteService;
@Override @Override
public void start() { public void start() {
ThreadPool.getInstance().init(10);
logger.info("开始服务..[初始化用户站点树]"); logger.info("开始服务..[初始化用户站点树]");
//删除redis 中的 站点树 //删除redis 中的 站点树
cacheService.del(USER_SITE_TREE); cacheService.del(USER_SITE_TREE);
UserEntity userEntity = new UserEntity(); siteService.updateAllSiteTree(null);
/* UserEntity userEntity = new UserEntity();
userEntity.initAttrValue(); userEntity.initAttrValue();
userEntity.setId(0L); userEntity.setId(0L);
Context contextTemp = new Context(); Context contextTemp = new Context();
...@@ -61,8 +66,7 @@ public class DemoStartedService implements IApplicationStartedService { ...@@ -61,8 +66,7 @@ public class DemoStartedService implements IApplicationStartedService {
contextTemp = new Context(); contextTemp = new Context();
contextTemp.setUser(userEntity); contextTemp.setUser(userEntity);
syncTreeSiteThread = new SyncTreeSiteThread(contextTemp); syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread); ThreadPool.getInstance().execute(syncTreeSiteThread);*/
} }
......
...@@ -41,17 +41,13 @@ public class SyncUserTaskImpl implements ITaskExcuteService { ...@@ -41,17 +41,13 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
@Override @Override
public void excuteTask(ITask task) throws AppException { public void excuteTask(ITask task) throws AppException {
userService.refreshUser(); userService.refreshUser();
log.info("同步用户"); log.info("同步用户");
UserPdu userPdu = new UserPdu(); /* UserPdu userPdu = new UserPdu();
userPdu.setPage(1); userPdu.setPage(1);
userPdu.setSize(-1); userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu); Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
userService.updateUserList(list.getData().getData());*/
userService.updateUserList(list.getData().getData());
//resourceService.updateUserList(); //resourceService.updateUserList();
......
...@@ -69,7 +69,15 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService, ...@@ -69,7 +69,15 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
super.init(model, context); super.init(model, context);
} }
/**
* @param query
* @return
*/
@Override
@UnAuth
public Rest<Object> list(@RequestBody AppEntity query) {
return super.list(query);
}
/** /**
* @param query * @param query
......
...@@ -3,6 +3,8 @@ package com.mortals.xhx.module.app.web; ...@@ -3,6 +3,8 @@ package com.mortals.xhx.module.app.web;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
...@@ -54,6 +56,17 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD ...@@ -54,6 +56,17 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
super.setModuleDesc("自助终端应用数据集"); super.setModuleDesc("自助终端应用数据集");
} }
/**
* @param query
* @return
*/
@Override
@UnAuth
public Rest<Object> list(@RequestBody AppDatasetEntity query) {
return super.list(query);
}
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
super.init(model, context); super.init(model, context);
......
package com.mortals.xhx.module.app.web; package com.mortals.xhx.module.app.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.AppFieldTypeEnum; import com.mortals.xhx.common.code.AppFieldTypeEnum;
...@@ -52,5 +54,13 @@ public class AppInfoFieldController extends BaseCRUDJsonBodyMappingController<Ap ...@@ -52,5 +54,13 @@ public class AppInfoFieldController extends BaseCRUDJsonBodyMappingController<Ap
super.init(model, context); super.init(model, context);
} }
/**
* @param query
* @return
*/
@Override
@UnAuth
public Rest<Object> list(@RequestBody AppInfoFieldEntity query) {
return super.list(query);
}
} }
\ No newline at end of file
package com.mortals.xhx.module.app.web; package com.mortals.xhx.module.app.web;
import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.net.url.UrlBuilder;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -64,6 +65,16 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV ...@@ -64,6 +65,16 @@ public class AppVersionController extends BaseCRUDJsonBodyMappingController<AppV
} }
/**
* @param query
* @return
*/
@Override
@UnAuth
public Rest<Object> list(@RequestBody AppVersionEntity query) {
return super.list(query);
}
@Override @Override
protected void doListBefore(AppVersionEntity query, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(AppVersionEntity query, Map<String, Object> model, Context context) throws AppException {
List<OrderCol> orderColList = new ArrayList<>(); List<OrderCol> orderColList = new ArrayList<>();
......
...@@ -67,4 +67,6 @@ public interface SiteService extends ICRUDCacheService<SiteEntity, Long> { ...@@ -67,4 +67,6 @@ public interface SiteService extends ICRUDCacheService<SiteEntity, Long> {
Rest<String> syncMatterBySiteId(SiteEntity siteEntity, Context context); Rest<String> syncMatterBySiteId(SiteEntity siteEntity, Context context);
void deleteBysiteIdAndSource(Long siteId, Integer source, Context context); void deleteBysiteIdAndSource(Long siteId, Integer source, Context context);
void updateAllSiteTree(Context context);
} }
\ No newline at end of file
...@@ -16,6 +16,8 @@ import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; ...@@ -16,6 +16,8 @@ import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.HttpUtil; import com.mortals.framework.util.HttpUtil;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.AreaLevelDxTypeEnum; import com.mortals.xhx.common.code.AreaLevelDxTypeEnum;
import com.mortals.xhx.common.code.AreaLevelEnum; import com.mortals.xhx.common.code.AreaLevelEnum;
...@@ -25,6 +27,7 @@ import com.mortals.xhx.common.pdu.RespData; ...@@ -25,6 +27,7 @@ import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.device.DevicePdu; import com.mortals.xhx.common.pdu.device.DevicePdu;
import com.mortals.xhx.common.pdu.user.UserPdu; import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.MatterHtmlParseUtil; import com.mortals.xhx.common.utils.MatterHtmlParseUtil;
import com.mortals.xhx.common.utils.SyncTreeSiteThread;
import com.mortals.xhx.feign.device.IDeviceFeign; import com.mortals.xhx.feign.device.IDeviceFeign;
import com.mortals.xhx.feign.user.IUserFeign; import com.mortals.xhx.feign.user.IUserFeign;
import com.mortals.xhx.module.area.model.AreaEntity; import com.mortals.xhx.module.area.model.AreaEntity;
...@@ -191,14 +194,19 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -191,14 +194,19 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
super.saveAfter(entity, context); super.saveAfter(entity, context);
//刷新站点树 //刷新站点树
//ThreadPool.getInstance().execute(new SyncTreeSiteThread(this,context)); //ThreadPool.getInstance().execute(new SyncTreeSiteThread(this,context));
Rest<String> rest = userFeign.synchSiteAuth(); /* Rest<String> rest = userFeign.synchSiteAuth();
if (rest.getCode().equals(YesNoEnum.YES.getValue())) { if (rest.getCode().equals(YesNoEnum.YES.getValue())) {
UserPdu userPdu = new UserPdu(); UserPdu userPdu = new UserPdu();
userPdu.setPage(1); userPdu.setPage(1);
userPdu.setSize(-1); userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu); Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
userService.updateUserList(list.getData().getData()); userService.updateUserList(list.getData().getData());
} }*/
this.updateAllSiteTree(context);
//新加的站点 只需要更新全树
//更新同步部门相关 //更新同步部门相关
deptService.syncDeptBySiteId(entity, context); deptService.syncDeptBySiteId(entity, context);
...@@ -239,7 +247,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -239,7 +247,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
} }
} }
//查詢指定的站點ids //查詢指定的站點ids
// log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery))); // log.info(String.format("siteQuery==>%s", JSON.toJSONString(siteQuery)));
siteList = this.find(siteQuery); siteList = this.find(siteQuery);
} }
//如果是管理员 默认全部站点 //如果是管理员 默认全部站点
...@@ -340,16 +348,16 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -340,16 +348,16 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
@Override @Override
protected void updateAfter(SiteEntity entity, Context context) throws AppException { protected void updateAfter(SiteEntity entity, Context context) throws AppException {
super.updateAfter(entity,context); super.updateAfter(entity, context);
//刷新站点树 //刷新站点树
Rest<String> rest = userFeign.synchSiteAuth(); /* Rest<String> rest = userFeign.synchSiteAuth();
if (rest.getCode().equals(YesNoEnum.YES.getValue())) { if (rest.getCode().equals(YesNoEnum.YES.getValue())) {
UserPdu userPdu = new UserPdu(); UserPdu userPdu = new UserPdu();
userPdu.setPage(1); userPdu.setPage(1);
userPdu.setSize(-1); userPdu.setSize(-1);
Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu); Rest<RespData<List<UserPdu>>> list = userFeign.list(userPdu);
userService.updateUserList(list.getData().getData()); userService.updateUserList(list.getData().getData());
} }*/
if (refresh) { if (refresh) {
//通知设备更新站点信息 //通知设备更新站点信息
DevicePdu devicePdu = new DevicePdu(); DevicePdu devicePdu = new DevicePdu();
...@@ -384,8 +392,8 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -384,8 +392,8 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
if (!ObjectUtils.isEmpty(collect)) { if (!ObjectUtils.isEmpty(collect)) {
return collect; return collect;
} else { } else {
//反全站点树 //反全站点树 如果没有全站点树,则临时构建 admin 为全站点树
return getSiteTreeSelects("0"); return getSiteTreeSelects("1");
} }
//如果所属站点为空返回全节点树 //如果所属站点为空返回全节点树
...@@ -815,6 +823,28 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -815,6 +823,28 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
this.dao.delete(condition); this.dao.delete(condition);
} }
/**
* @param context
*/
@Override
public void updateAllSiteTree(Context context) {
UserEntity userEntity = new UserEntity();
userEntity.initAttrValue();
userEntity.setId(0L);
Context contextTemp = new Context();
contextTemp.setUser(userEntity);
SyncTreeSiteThread syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread);
userEntity = new UserEntity();
userEntity.initAttrValue();
userEntity.setId(1L);
contextTemp = new Context();
contextTemp.setUser(userEntity);
syncTreeSiteThread = new SyncTreeSiteThread(contextTemp);
ThreadPool.getInstance().execute(syncTreeSiteThread);
}
public List<MatterEntity> subList(List<MatterEntity> firstList, List<MatterEntity> secondList) { public List<MatterEntity> subList(List<MatterEntity> firstList, List<MatterEntity> secondList) {
Set<String> secondSet = secondList.parallelStream().map(e -> e.getMatterNo()).collect(Collectors.toSet()); Set<String> secondSet = secondList.parallelStream().map(e -> e.getMatterNo()).collect(Collectors.toSet());
......
...@@ -87,20 +87,20 @@ ...@@ -87,20 +87,20 @@
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="UserEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="UserEntity" >
insert into mortals_xhx_user insert into mortals_xhx_user
(loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress) (id,loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
VALUES VALUES
(#{loginName},#{loginPwd},#{loginLimitAddress},#{realName},#{mobile},#{phone},#{email},#{qq},#{userType},#{siteIds},#{areaCodes},#{status},#{createTime},#{createUserId},#{createUserName},#{lastLoginTime},#{lastLoginAddress}) (#{id},#{loginName},#{loginPwd},#{loginLimitAddress},#{realName},#{mobile},#{phone},#{email},#{qq},#{userType},#{siteIds},#{areaCodes},#{status},#{createTime},#{createUserId},#{createUserName},#{lastLoginTime},#{lastLoginAddress})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_user insert into mortals_xhx_user
(loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress) (id,loginName,loginPwd,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteIds,areaCodes,status,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.loginName},#{item.loginPwd},#{item.loginLimitAddress},#{item.realName},#{item.mobile},#{item.phone},#{item.email},#{item.qq},#{item.userType},#{item.siteIds},#{item.areaCodes},#{item.status},#{item.createTime},#{item.createUserId},#{item.createUserName},#{item.lastLoginTime},#{item.lastLoginAddress}) (#{item.id},#{item.loginName},#{item.loginPwd},#{item.loginLimitAddress},#{item.realName},#{item.mobile},#{item.phone},#{item.email},#{item.qq},#{item.userType},#{item.siteIds},#{item.areaCodes},#{item.status},#{item.createTime},#{item.createUserId},#{item.createUserName},#{item.lastLoginTime},#{item.lastLoginAddress})
</foreach> </foreach>
</insert> </insert>
......
package com.mortals.xhx.module.role.service.impl; package com.mortals.xhx.module.role.service.impl;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.module.menu.model.MenuEntity; import com.mortals.xhx.module.menu.model.MenuEntity;
import com.mortals.xhx.module.menu.model.MenuQuery; import com.mortals.xhx.module.menu.model.MenuQuery;
import com.mortals.xhx.module.menu.service.MenuService; import com.mortals.xhx.module.menu.service.MenuService;
...@@ -28,6 +30,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -28,6 +30,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
private RoleModelService roleModelService; private RoleModelService roleModelService;
@Autowired @Autowired
private RoleUserService roleUserService; private RoleUserService roleUserService;
@Autowired
private ICacheService cacheService;
@Override @Override
...@@ -47,6 +51,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro ...@@ -47,6 +51,8 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, Ro
list.add(entity); list.add(entity);
} }
this.dao.insertBatch(list); this.dao.insertBatch(list);
cacheService.del(RedisKey.KEY_USER_MENU_CACHE);
} }
......
...@@ -273,7 +273,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic ...@@ -273,7 +273,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
} catch (Exception e) { } catch (Exception e) {
code = -1; code = -1;
this.doException(this.request, busiDesc, model, e); this.doException(this.request, busiDesc, model, e);
} }
ret.setCode(code); ret.setCode(code);
ret.setData(model); ret.setData(model);
......
...@@ -31,7 +31,6 @@ Content-Type: application/json ...@@ -31,7 +31,6 @@ Content-Type: application/json
{ {
"page":1, "page":1,
"size":10 "size":10
} }
......
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