Commit f7eec8d0 authored by “yiyousong”'s avatar “yiyousong”
parents 022275a6 7108dce1
...@@ -7,9 +7,12 @@ import com.mortals.framework.service.ICacheService; ...@@ -7,9 +7,12 @@ import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.IUser; import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DateUtils; import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.user.model.UserQuery;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.utils.MenuEncodeUtil;
import com.mortals.xhx.feign.user.IUserFeign; import com.mortals.xhx.feign.user.IUserFeign;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
...@@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -26,6 +29,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.Base64; import java.util.Base64;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* token验证处理 * token验证处理
...@@ -78,6 +82,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -78,6 +82,10 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
@Autowired @Autowired
private ICacheService cacheService; private ICacheService cacheService;
@Autowired
private ResourceService resourceService;
/** /**
* 获取信息 * 获取信息
* *
...@@ -90,6 +98,11 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -90,6 +98,11 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
String token = getToken(request); String token = getToken(request);
if (StringUtils.isNotEmpty(token)) { if (StringUtils.isNotEmpty(token)) {
try { try {
boolean signed = Jwts.parser().isSigned(token);
if (!signed) {
log.error("token非法!=>{}", token);
return null;
}
Claims claims = parseToken(token); Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY); String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid); String userKey = getTokenKey(uuid);
...@@ -106,12 +119,18 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -106,12 +119,18 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
// if(!ObjectUtils.isEmpty(temp)){ // if(!ObjectUtils.isEmpty(temp)){
// userEntity.setId(temp.getId()); // userEntity.setId(temp.getId());
// } // }
UserEntity temp = userService.getExtCache(userEntity.getLoginName()); UserEntity temp = userService.getExtCache(userEntity.getLoginName());
if (!ObjectUtils.isEmpty(temp)) { if (!ObjectUtils.isEmpty(temp)) {
userEntity.setId(temp.getId()); userEntity.setId(temp.getId());
} }
//更新resource 路径
String menuUrlCode = cacheService.hget(RedisKey.KEY_USER_MENU_CACHE, userEntity.getId().toString(), String.class);
if (ObjectUtils.isEmpty(menuUrlCode)) {
Set<String> urls = resourceService.findUrlSetByUserId(userEntity.getId());
menuUrlCode = MenuEncodeUtil.generateMenuUrlCode(urls);
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userEntity.getId().toString(), menuUrlCode);
}
userEntity.setMenuUrl(menuUrlCode);
return userEntity; return userEntity;
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -169,8 +188,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -169,8 +188,8 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
public void verifyToken(IUser user) { public void verifyToken(IUser user) {
long expireTime = user.getExpireTime(); long expireTime = user.getExpireTime();
long currentTime = System.currentTimeMillis(); long currentTime = System.currentTimeMillis();
if (expireTime - currentTime <= SECOND_MINUTE_TEN) { if (expireTime - currentTime <= SECOND_MINUTE_TEN*1000) {
log.info("不足十分钟,刷新过期时间"); log.info("不足十分钟,刷新过期时间");
refreshToken(user); refreshToken(user);
} }
} }
...@@ -213,9 +232,6 @@ public class AuthTokenServiceImpl implements IAuthTokenService { ...@@ -213,9 +232,6 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
*/ */
@Override @Override
public Claims parseToken(String token) { public Claims parseToken(String token) {
return Jwts.parser() return Jwts.parser()
.setSigningKey(Base64.getEncoder().encodeToString(secret.getBytes())) .setSigningKey(Base64.getEncoder().encodeToString(secret.getBytes()))
.parseClaimsJws(token) .parseClaimsJws(token)
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.exceptions.ExceptionUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.exceptions.ExceptionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.message.MessageService; import com.mortals.xhx.base.system.message.MessageService;
import com.mortals.xhx.common.utils.SendTask; import com.mortals.xhx.common.utils.SendTask;
import com.mortals.xhx.common.utils.SendTaskThreadPool; import com.mortals.xhx.common.utils.SendTaskThreadPool;
...@@ -22,14 +23,11 @@ import org.springframework.stereotype.Service; ...@@ -22,14 +23,11 @@ import org.springframework.stereotype.Service;
@Slf4j @Slf4j
public class MessageServiceImpl implements MessageService { public class MessageServiceImpl implements MessageService {
@Autowired
private SendTaskThreadPool sendTaskThreadPool;
@Override @Override
public void sendThirdParty(String sendUrl, String content) { public void sendThirdParty(String sendUrl, String content) {
SendTask sendTask = new SendTask(sendUrl, content); SendTask sendTask = new SendTask(sendUrl, content);
sendTaskThreadPool.execute(sendTask); ThreadPool.getInstance().execute(sendTask);
} }
public static void main(String[] args) { public static void main(String[] args) {
......
/** /**
* 文件:ResourceServiceImpl.java * 文件:ResourceServiceImpl.java
* 版本:1.0.0 * 版本:1.0.0
* 日期: * 日期:
* Copyright &reg; * Copyright &reg;
* All right reserved. * All right reserved.
*/ */
package com.mortals.xhx.base.system.resource.service.impl; package com.mortals.xhx.base.system.resource.service.impl;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.resource.dao.ResourceDao; import com.mortals.xhx.base.system.resource.dao.ResourceDao;
import com.mortals.xhx.base.system.resource.model.ResourceEntity; import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import com.mortals.xhx.base.system.resource.model.ResourceQuery; import com.mortals.xhx.base.system.resource.model.ResourceQuery;
import com.mortals.xhx.base.system.resource.service.ResourceService; import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.role.model.RoleAuthEntity;
import com.mortals.xhx.base.system.user.model.UserQuery; import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.role.service.RoleAuthService;
import com.mortals.xhx.common.pdu.RespData; import com.mortals.xhx.common.key.RedisKey;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.SyncTreeSiteThread;
import com.mortals.xhx.feign.user.IUserFeign;
import com.mortals.xhx.module.site.service.SiteService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode;
/** /**
* <p>Title: 资源信息</p> * <p>Title: 资源信息</p>
* <p>Description: ResourceServiceImpl service接口 </p> * <p>Description: ResourceServiceImpl service接口 </p>
...@@ -46,7 +43,13 @@ import java.util.Set; ...@@ -46,7 +43,13 @@ import java.util.Set;
* @version 1.0.0 * @version 1.0.0
*/ */
@Service("resourceService") @Service("resourceService")
public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao,ResourceEntity,Long> implements ResourceService { public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao, ResourceEntity, Long> implements ResourceService {
@Autowired
private ICacheService cacheService;
@Autowired
private RoleAuthService roleAuthService;
@Override @Override
public List<ResourceEntity> findAllEnable() throws AppException { public List<ResourceEntity> findAllEnable() throws AppException {
...@@ -86,5 +89,37 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao,Res ...@@ -86,5 +89,37 @@ public class ResourceServiceImpl extends AbstractCRUDServiceImpl<ResourceDao,Res
} }
@Override
protected void updateAfter(ResourceEntity entity, Context context) throws AppException {
updateUserMenuUrlCache();
}
@Override
protected void saveAfter(ResourceEntity entity, Context context) throws AppException {
updateUserMenuUrlCache();
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
//删除关联表中数据
if (!ObjectUtils.isEmpty(ids)) {
RoleAuthQuery query = new RoleAuthQuery();
query.setResourceIdList(Arrays.asList(ids));
List<RoleAuthEntity> roleAuthEntities = roleAuthService.find(query);
if (!ObjectUtils.isEmpty(roleAuthEntities)) {
roleAuthService.remove(roleAuthEntities.stream().map(m -> m.getId()).toArray(Long[]::new), context);
updateUserMenuUrlCache();
}
}
}
private void updateUserMenuUrlCache() {
//更新用户菜单
Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE);
for (String userId : hkeys) {
Set<String> urls = this.findUrlSetByUserId(DataUtil.converStr2Long(userId, 0L));
String menuUrlCode = generateMenuUrlCode(urls);
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode);
}
}
} }
\ No newline at end of file
/** /**
* 文件:RoleAuthServiceImpl.java * 文件:RoleAuthServiceImpl.java
* 版本:1.0.0 * 版本:1.0.0
* 日期: * 日期:
* Copyright &reg; * Copyright &reg;
* All right reserved. * All right reserved.
*/ */
package com.mortals.xhx.base.system.role.service.impl; package com.mortals.xhx.base.system.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.framework.util.DataUtil;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.role.dao.RoleAuthDao; import com.mortals.xhx.base.system.role.dao.RoleAuthDao;
import com.mortals.xhx.base.system.role.model.RoleAuthEntity; import com.mortals.xhx.base.system.role.model.RoleAuthEntity;
import com.mortals.xhx.base.system.role.model.RoleAuthQuery; import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
import com.mortals.xhx.base.system.role.service.RoleAuthService; import com.mortals.xhx.base.system.role.service.RoleAuthService;
import com.mortals.xhx.common.key.RedisKey;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List; import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode;
import java.util.Map;
/** /**
* <p>Title: 角色资源权限</p> * <p>Title: 角色资源权限</p>
...@@ -30,8 +33,12 @@ import java.util.Map; ...@@ -30,8 +33,12 @@ import java.util.Map;
* @version 1.0.0 * @version 1.0.0
*/ */
@Service("roleAuthService") @Service("roleAuthService")
public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,RoleAuthEntity,Long> implements RoleAuthService { public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao, RoleAuthEntity, Long> implements RoleAuthService {
@Autowired
private ICacheService cacheService;
@Autowired
private ResourceService resourceService;
@Override @Override
public void doDistributionSource(RoleAuthQuery query) { public void doDistributionSource(RoleAuthQuery query) {
...@@ -49,6 +56,18 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,Rol ...@@ -49,6 +56,18 @@ public class RoleAuthServiceImpl extends AbstractCRUDServiceImpl<RoleAuthDao,Rol
list.add(entity); list.add(entity);
} }
this.dao.insertBatch(list); this.dao.insertBatch(list);
this.updateUserMenuUrlCache();
}
private void updateUserMenuUrlCache() {
//更新用户菜单
Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE);
for (String userId : hkeys) {
Set<String> urls = resourceService.findUrlSetByUserId(DataUtil.converStr2Long(userId, 0L));
String menuUrlCode = generateMenuUrlCode(urls);
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode);
}
} }
} }
\ No newline at end of file
/** /**
* 文件:RoleServiceImpl.java * 文件:RoleServiceImpl.java
* 版本:1.0.0 * 版本:1.0.0
* 日期: * 日期:
* Copyright &reg; * Copyright &reg;
* All right reserved. * All right reserved.
*/ */
package com.mortals.xhx.base.system.role.service.impl; package com.mortals.xhx.base.system.role.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.base.system.role.dao.RoleDao; import com.mortals.xhx.base.system.role.dao.RoleDao;
import com.mortals.xhx.base.system.role.model.RoleEntity; import com.mortals.xhx.base.system.role.model.*;
import com.mortals.xhx.base.system.role.service.RoleAuthService;
import com.mortals.xhx.base.system.role.service.RoleService; import com.mortals.xhx.base.system.role.service.RoleService;
import com.mortals.xhx.base.system.role.service.RoleUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
/** /**
* <p>Title: 角色信息</p> * <p>Title: 角色信息</p>
* <p>Description: RoleServiceImpl service接口 </p> * <p>Description: RoleServiceImpl service接口 </p>
...@@ -26,6 +33,28 @@ import org.springframework.stereotype.Service; ...@@ -26,6 +33,28 @@ import org.springframework.stereotype.Service;
@Service("roleService") @Service("roleService")
public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao,RoleEntity,Long> implements RoleService { public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao,RoleEntity,Long> implements RoleService {
@Autowired
private RoleAuthService roleAuthService;
@Autowired
private RoleUserService roleUserService;
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
//删除关联角色
Arrays.asList(ids).stream().peek(roleId->{
RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
roleAuthQuery.setRoleId(roleId);
Long[] roleAuthIds = roleAuthService.find(roleAuthQuery).stream().map(RoleAuthEntity::getId).toArray(Long[]::new);
roleAuthService.remove(roleAuthIds,context);
RoleUserQuery roleUserQuery = new RoleUserQuery();
roleUserQuery.setRoleId(roleId);
Long[] roleUserIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
roleUserService.remove(roleUserIds,context);
}).count();
super.removeAfter(ids, context, result);
}
} }
\ No newline at end of file
/** /**
* 文件:RoleUserServiceImpl.java * 文件:RoleUserServiceImpl.java
* 版本:1.0.0 * 版本:1.0.0
* 日期: * 日期:
* Copyright &reg; * Copyright &reg;
* All right reserved. * All right reserved.
*/ */
package com.mortals.xhx.base.system.role.service.impl; package com.mortals.xhx.base.system.role.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil;
import com.mortals.xhx.base.system.resource.service.ResourceService;
import com.mortals.xhx.base.system.role.dao.RoleUserDao; import com.mortals.xhx.base.system.role.dao.RoleUserDao;
import com.mortals.xhx.base.system.role.model.RoleUserEntity; import com.mortals.xhx.base.system.role.model.RoleUserEntity;
import com.mortals.xhx.base.system.role.model.RoleUserQuery; import com.mortals.xhx.base.system.role.model.RoleUserQuery;
import com.mortals.xhx.base.system.role.service.RoleUserService; import com.mortals.xhx.base.system.role.service.RoleUserService;
import com.mortals.xhx.common.key.RedisKey;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List; import static com.mortals.xhx.common.utils.MenuEncodeUtil.generateMenuUrlCode;
import java.util.Map;
/** /**
* <p>Title: 角色用户</p> * <p>Title: 角色用户</p>
...@@ -30,7 +36,13 @@ import java.util.Map; ...@@ -30,7 +36,13 @@ import java.util.Map;
* @version 1.0.0 * @version 1.0.0
*/ */
@Service("roleUserService") @Service("roleUserService")
public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,RoleUserEntity,Long> implements RoleUserService { public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao, RoleUserEntity, Long> implements RoleUserService {
@Autowired
private ICacheService cacheService;
@Autowired
private ResourceService resourceService;
@Override @Override
public void doDistributionUser(RoleUserQuery query) { public void doDistributionUser(RoleUserQuery query) {
...@@ -49,6 +61,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol ...@@ -49,6 +61,7 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
list.add(rolseUser); list.add(rolseUser);
} }
this.dao.insertBatch(list); this.dao.insertBatch(list);
updateUserMenuUrlCache();
} }
@Override @Override
...@@ -67,6 +80,22 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol ...@@ -67,6 +80,22 @@ public class RoleUserServiceImpl extends AbstractCRUDServiceImpl<RoleUserDao,Rol
list.add(rolseUser); list.add(rolseUser);
} }
this.dao.insertBatch(list); this.dao.insertBatch(list);
updateUserMenuUrlCache();
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
updateUserMenuUrlCache();
}
private void updateUserMenuUrlCache() {
//更新用户菜单
Set<String> hkeys = cacheService.hkeys(RedisKey.KEY_USER_MENU_CACHE);
for (String userId : hkeys) {
Set<String> urls = resourceService.findUrlSetByUserId(DataUtil.converStr2Long(userId, 0L));
String menuUrlCode = generateMenuUrlCode(urls);
cacheService.hset(RedisKey.KEY_USER_MENU_CACHE, userId, menuUrlCode);
}
} }
} }
\ No newline at end of file
...@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse; ...@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse;
public class RoleAuthController extends BaseCRUDJsonBodyMappingController<RoleAuthService, RoleAuthEntity, Long> { public class RoleAuthController extends BaseCRUDJsonBodyMappingController<RoleAuthService, RoleAuthEntity, Long> {
public RoleAuthController() { public RoleAuthController() {
super.setFormClass(RoleAuthForm.class);
super.setModuleDesc("角色资源权限"); super.setModuleDesc("角色资源权限");
} }
......
/**
* 文件:RoleAuthForm.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.base.system.role.model.RoleAuthEntity;
import com.mortals.xhx.base.system.role.model.RoleAuthQuery;
/**
* <p>Title: 角色资源权限</p>
* <p>Description: RoleAuthForm </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public class RoleAuthForm extends BaseCRUDFormLong<RoleAuthEntity> {
private RoleAuthEntity entity = new RoleAuthEntity();
private RoleAuthQuery query = new RoleAuthQuery();
public RoleAuthForm(){
}
@Override
public RoleAuthEntity getEntity() {
return entity;
}
public void setEntity(RoleAuthEntity entity) {
this.entity = entity;
}
@Override
public RoleAuthQuery getQuery() {
return query;
}
public void setQuery(RoleAuthQuery query) {
this.query = query;
}
}
\ No newline at end of file
...@@ -39,7 +39,6 @@ public class RoleController extends BaseCRUDJsonBodyMappingController<RoleServic ...@@ -39,7 +39,6 @@ public class RoleController extends BaseCRUDJsonBodyMappingController<RoleServic
private RoleUserService roleUserService; private RoleUserService roleUserService;
public RoleController(){ public RoleController(){
super.setFormClass(RoleForm.class);
super.setModuleDesc("角色信息"); super.setModuleDesc("角色信息");
} }
......
/**
* 文件:RoleForm.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.base.system.role.model.RoleEntity;
import com.mortals.xhx.base.system.role.model.RoleQuery;
/**
* <p>Title: 角色信息</p>
* <p>Description: RoleForm </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public class RoleForm extends BaseCRUDFormLong<RoleEntity> {
private RoleEntity entity = new RoleEntity();
private RoleQuery query = new RoleQuery();
/** 用户ID */
private Long userId;
public RoleForm(){
}
@Override
public RoleEntity getEntity() {
return entity;
}
public void setEntity(RoleEntity entity) {
this.entity = entity;
}
@Override
public RoleQuery getQuery() {
return query;
}
public void setQuery(RoleQuery query) {
this.query = query;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
}
\ No newline at end of file
...@@ -49,7 +49,6 @@ public class RoleUserController extends BaseCRUDJsonBodyMappingController<RoleUs ...@@ -49,7 +49,6 @@ public class RoleUserController extends BaseCRUDJsonBodyMappingController<RoleUs
private UserService userService; private UserService userService;
public RoleUserController() { public RoleUserController() {
super.setFormClass(RoleUserForm.class);
super.setModuleDesc("角色用户"); super.setModuleDesc("角色用户");
} }
......
/**
* 文件:RoleUserForm.java
* 版本:1.0.0
* 日期:
* Copyright &reg;
* All right reserved.
*/
package com.mortals.xhx.base.system.role.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.base.system.role.model.RoleUserEntity;
import com.mortals.xhx.base.system.role.model.RoleUserQuery;
/**
* <p>Title: 角色用户</p>
* <p>Description: RoleUserForm </p>
* <p>Copyright: Copyright &reg; </p>
* <p>Company: </p>
* @author
* @version 1.0.0
*/
public class RoleUserForm extends BaseCRUDFormLong<RoleUserEntity> {
private RoleUserEntity entity = new RoleUserEntity();
private RoleUserQuery query = new RoleUserQuery();
public RoleUserForm(){
}
@Override
public RoleUserEntity getEntity() {
return entity;
}
public void setEntity(RoleUserEntity entity) {
this.entity = entity;
}
@Override
public RoleUserQuery getQuery() {
return query;
}
public void setQuery(RoleUserQuery query) {
this.query = query;
}
}
\ No newline at end of file
...@@ -388,15 +388,6 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -388,15 +388,6 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
} }
@Override
protected void findAfter(UserEntity params, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException {
super.findAfter(params, pageInfo, context, list);
// list.stream().peek(item->{
// if(!ObjectUtils.isEmpty(item.getSiteId())&&item.getSiteId()!=0L){
// item.setSiteName(siteService.get(item.getSiteId()).getSiteName());
// }
// }).count();
}
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
//eba467f81fb265befdf1f6ab041d39ab 原始admin密码 //eba467f81fb265befdf1f6ab041d39ab 原始admin密码
......
...@@ -10,4 +10,6 @@ public class RedisKey { ...@@ -10,4 +10,6 @@ public class RedisKey {
*/ */
public static final String KEY_MENU_CACHE = "iot:base:MenuCacheKey:"; public static final String KEY_MENU_CACHE = "iot:base:MenuCacheKey:";
public static final String KEY_USER_MENU_CACHE = "user:menu";
} }
package com.mortals.xhx.common.utils;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.util.AESUtil;
import lombok.extern.slf4j.Slf4j;
import java.util.Set;
@Slf4j
public class MenuEncodeUtil {
public static String generateMenuUrlCode(Set<String> urls) {
try {
String securityKey = GlobalSysInfo.getPropertyValue(SysConstains.PROP_COOKIE_SECURITY_KEY);
StringBuilder sb = new StringBuilder();
if (urls != null && urls.size() > 0) {
for (String url : urls) {
int index = url.hashCode() & (Integer.MAX_VALUE - 1);
sb.append(index).append(",");
}
}
String menuUrl = sb.toString();
return AESUtil.encrypt(menuUrl, securityKey);
} catch (Throwable e) {
log.error("编码异常",e);
return null;
}
}
}
package com.mortals.xhx.common.utils;
import com.mortals.framework.util.HttpUtil;
import com.mortals.xhx.feign.skin.ISkinFillFeign;
import com.mortals.xhx.feign.skin.ISkinSampleFeign;
import com.mortals.xhx.utils.SpringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;
import static com.mortals.framework.util.HttpUtil.HEADER_CONTENT_TYPE;
/**
* 发通知第三方
*
* @author: zxfei
* @date: 2022/4/28 10:56
* @description:
**/
@Slf4j
public class SendSkinRefreshTask implements Runnable {
private ISkinSampleFeign skinSampleFeign;
private ISkinFillFeign skinFillFeign;
public SendSkinRefreshTask() {
skinSampleFeign = SpringUtils.getBean(ISkinSampleFeign.class);
skinFillFeign = SpringUtils.getBean(ISkinFillFeign.class);
}
@Override
public void run() {
String resp = null;
try {
Thread.sleep(2000L);
skinSampleFeign.refreshSkin();
skinFillFeign.refreshSkin();
} catch (Exception e) {
log.error("异常:", e);
}
}
}
...@@ -14,14 +14,10 @@ import com.mortals.framework.springcloud.service.IApplicationService; ...@@ -14,14 +14,10 @@ import com.mortals.framework.springcloud.service.IApplicationService;
public class DemoStartService implements IApplicationService { public class DemoStartService implements IApplicationService {
private static Log logger = LogFactory.getLog(DemoStartService.class); private static Log logger = LogFactory.getLog(DemoStartService.class);
@Autowired
private SendTaskThreadPool sendTaskThreadPool;
@Override @Override
public void start() { public void start() {
ThreadPool.getInstance().init(10); ThreadPool.getInstance().init(10);
sendTaskThreadPool.init(10);
logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]"); logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]");
} }
......
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.app.model.AppEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.app.model.AppEntity;
* 自助终端应用查询对象 * 自助终端应用查询对象
* *
* @author zxfei * @author zxfei
* @date 2023-01-07 * @date 2023-11-14
*/ */
public class AppQuery extends AppEntity { public class AppQuery extends AppEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
...@@ -22,6 +22,9 @@ public class AppQuery extends AppEntity { ...@@ -22,6 +22,9 @@ public class AppQuery extends AppEntity {
/** 主键ID,主键,自增长列表 */ /** 主键ID,主键,自增长列表 */
private List <Long> idList; private List <Long> idList;
/** 主键ID,主键,自增长排除列表 */
private List <Long> idNotList;
/** 开始 站点Id */ /** 开始 站点Id */
private Long siteIdStart; private Long siteIdStart;
...@@ -34,21 +37,34 @@ public class AppQuery extends AppEntity { ...@@ -34,21 +37,34 @@ public class AppQuery extends AppEntity {
/** 站点Id列表 */ /** 站点Id列表 */
private List <Long> siteIdList; private List <Long> siteIdList;
/** 站点Id排除列表 */
private List <Long> siteIdNotList;
/** 站点名称 */ /** 站点名称 */
private List<String> siteNameList; private List<String> siteNameList;
/** 站点名称排除列表 */
private List <String> siteNameNotList;
/** 应用编码 */ /** 应用编码 */
private List<String> appCodeList; private List<String> appCodeList;
/** 应用编码排除列表 */
private List <String> appCodeNotList;
/** 应用名称 */ /** 应用名称 */
private List<String> appNameList; private List<String> appNameList;
/** 应用名称排除列表 */
private List <String> appNameNotList;
/** 应用图标 */ /** 应用图标 */
private List<String> appIconPathList; private List<String> appIconPathList;
/** 应用图标排除列表 */
private List <String> appIconPathNotList;
/** 应用主题名称 */ /** 应用主题名称 */
private List<String> appThemeNameList; private List<String> appThemeNameList;
/** 应用主题名称排除列表 */
private List <String> appThemeNameNotList;
/** 开始 类型(1.终端应用,2.移动端应用) */ /** 开始 类型(1.终端应用,2.移动端应用) */
private Integer typeStart; private Integer typeStart;
...@@ -61,12 +77,19 @@ public class AppQuery extends AppEntity { ...@@ -61,12 +77,19 @@ public class AppQuery extends AppEntity {
/** 类型(1.终端应用,2.移动端应用)列表 */ /** 类型(1.终端应用,2.移动端应用)列表 */
private List <Integer> typeList; private List <Integer> typeList;
/** 类型(1.终端应用,2.移动端应用)排除列表 */
private List <Integer> typeNotList;
/** 链接地址 */ /** 链接地址 */
private List<String> urlList; private List<String> urlList;
/** 链接地址排除列表 */
private List <String> urlNotList;
/** 服务接口地址 */ /** 服务接口地址 */
private List<String> serviceApiList; private List<String> serviceApiList;
/** 服务接口地址排除列表 */
private List <String> serviceApiNotList;
/** 开始 下发设备次数 */ /** 开始 下发设备次数 */
private Integer downDevCountStart; private Integer downDevCountStart;
...@@ -79,6 +102,9 @@ public class AppQuery extends AppEntity { ...@@ -79,6 +102,9 @@ public class AppQuery extends AppEntity {
/** 下发设备次数列表 */ /** 下发设备次数列表 */
private List <Integer> downDevCountList; private List <Integer> downDevCountList;
/** 下发设备次数排除列表 */
private List <Integer> downDevCountNotList;
/** 开始 是否上架(0.下架,1.上架) */ /** 开始 是否上架(0.下架,1.上架) */
private Integer shelvesStart; private Integer shelvesStart;
...@@ -91,6 +117,9 @@ public class AppQuery extends AppEntity { ...@@ -91,6 +117,9 @@ public class AppQuery extends AppEntity {
/** 是否上架(0.下架,1.上架)列表 */ /** 是否上架(0.下架,1.上架)列表 */
private List <Integer> shelvesList; private List <Integer> shelvesList;
/** 是否上架(0.下架,1.上架)排除列表 */
private List <Integer> shelvesNotList;
/** 开始 类型(1.应用程序,2.url) */ /** 开始 类型(1.应用程序,2.url) */
private Integer appTypeStart; private Integer appTypeStart;
...@@ -103,15 +132,24 @@ public class AppQuery extends AppEntity { ...@@ -103,15 +132,24 @@ public class AppQuery extends AppEntity {
/** 类型(1.应用程序,2.url)列表 */ /** 类型(1.应用程序,2.url)列表 */
private List <Integer> appTypeList; private List <Integer> appTypeList;
/** 类型(1.应用程序,2.url)排除列表 */
private List <Integer> appTypeNotList;
/** 文件名称 */ /** 文件名称 */
private List<String> fileNameList; private List<String> fileNameList;
/** 文件名称排除列表 */
private List <String> fileNameNotList;
/** 文件相对路径地址 */ /** 文件相对路径地址 */
private List<String> filePathList; private List<String> filePathList;
/** 文件相对路径地址排除列表 */
private List <String> filePathNotList;
/** 文件部署路径地址 */ /** 文件部署路径地址 */
private List<String> distributeFilePathList; private List<String> distributeFilePathList;
/** 文件部署路径地址排除列表 */
private List <String> distributeFilePathNotList;
/** 开始 当前版本 */ /** 开始 当前版本 */
private Integer versionStart; private Integer versionStart;
...@@ -124,12 +162,19 @@ public class AppQuery extends AppEntity { ...@@ -124,12 +162,19 @@ public class AppQuery extends AppEntity {
/** 当前版本列表 */ /** 当前版本列表 */
private List <Integer> versionList; private List <Integer> versionList;
/** 当前版本排除列表 */
private List <Integer> versionNotList;
/** 简介 */ /** 简介 */
private List<String> summaryList; private List<String> summaryList;
/** 简介排除列表 */
private List <String> summaryNotList;
/** 更新说明 */ /** 更新说明 */
private List<String> notesList; private List<String> notesList;
/** 更新说明排除列表 */
private List <String> notesNotList;
/** 开始 是否部署(0.否,1.是) */ /** 开始 是否部署(0.否,1.是) */
private Integer distributeStart; private Integer distributeStart;
...@@ -142,6 +187,9 @@ public class AppQuery extends AppEntity { ...@@ -142,6 +187,9 @@ public class AppQuery extends AppEntity {
/** 是否部署(0.否,1.是)列表 */ /** 是否部署(0.否,1.是)列表 */
private List <Integer> distributeList; private List <Integer> distributeList;
/** 是否部署(0.否,1.是)排除列表 */
private List <Integer> distributeNotList;
/** 开始 是否数据更新(0.否,1.是) */ /** 开始 是否数据更新(0.否,1.是) */
private Integer dataUpdateStart; private Integer dataUpdateStart;
...@@ -154,6 +202,9 @@ public class AppQuery extends AppEntity { ...@@ -154,6 +202,9 @@ public class AppQuery extends AppEntity {
/** 是否数据更新(0.否,1.是)列表 */ /** 是否数据更新(0.否,1.是)列表 */
private List <Integer> dataUpdateList; private List <Integer> dataUpdateList;
/** 是否数据更新(0.否,1.是)排除列表 */
private List <Integer> dataUpdateNotList;
/** 开始 创建时间 */ /** 开始 创建时间 */
private String createTimeStart; private String createTimeStart;
...@@ -172,6 +223,9 @@ public class AppQuery extends AppEntity { ...@@ -172,6 +223,9 @@ public class AppQuery extends AppEntity {
/** 更新用户列表 */ /** 更新用户列表 */
private List <Long> updateUserIdList; private List <Long> updateUserIdList;
/** 更新用户排除列表 */
private List <Long> updateUserIdNotList;
/** 开始 更新时间 */ /** 开始 更新时间 */
private String updateTimeStart; private String updateTimeStart;
...@@ -250,6 +304,23 @@ public class AppQuery extends AppEntity { ...@@ -250,6 +304,23 @@ public class AppQuery extends AppEntity {
this.idList = idList; this.idList = idList;
} }
/**
* 获取 主键ID,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/** /**
* 获取 开始 站点Id * 获取 开始 站点Id
* @return siteIdStart * @return siteIdStart
...@@ -314,6 +385,23 @@ public class AppQuery extends AppEntity { ...@@ -314,6 +385,23 @@ public class AppQuery extends AppEntity {
this.siteIdList = siteIdList; this.siteIdList = siteIdList;
} }
/**
* 获取 站点Id
* @return siteIdNotList
*/
public List<Long> getSiteIdNotList(){
return this.siteIdNotList;
}
/**
* 设置 站点Id
* @param siteIdNotList
*/
public void setSiteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
}
/** /**
* 获取 站点名称 * 获取 站点名称
* @return siteNameList * @return siteNameList
...@@ -329,6 +417,23 @@ public class AppQuery extends AppEntity { ...@@ -329,6 +417,23 @@ public class AppQuery extends AppEntity {
public void setSiteNameList(List<String> siteNameList){ public void setSiteNameList(List<String> siteNameList){
this.siteNameList = siteNameList; this.siteNameList = siteNameList;
} }
/**
* 获取 站点名称
* @return siteNameNotList
*/
public List<String> getSiteNameNotList(){
return this.siteNameNotList;
}
/**
* 设置 站点名称
* @param siteNameNotList
*/
public void setSiteNameNotList(List<String> siteNameNotList){
this.siteNameNotList = siteNameNotList;
}
/** /**
* 获取 应用编码 * 获取 应用编码
* @return appCodeList * @return appCodeList
...@@ -344,6 +449,23 @@ public class AppQuery extends AppEntity { ...@@ -344,6 +449,23 @@ public class AppQuery extends AppEntity {
public void setAppCodeList(List<String> appCodeList){ public void setAppCodeList(List<String> appCodeList){
this.appCodeList = appCodeList; this.appCodeList = appCodeList;
} }
/**
* 获取 应用编码
* @return appCodeNotList
*/
public List<String> getAppCodeNotList(){
return this.appCodeNotList;
}
/**
* 设置 应用编码
* @param appCodeNotList
*/
public void setAppCodeNotList(List<String> appCodeNotList){
this.appCodeNotList = appCodeNotList;
}
/** /**
* 获取 应用名称 * 获取 应用名称
* @return appNameList * @return appNameList
...@@ -359,6 +481,23 @@ public class AppQuery extends AppEntity { ...@@ -359,6 +481,23 @@ public class AppQuery extends AppEntity {
public void setAppNameList(List<String> appNameList){ public void setAppNameList(List<String> appNameList){
this.appNameList = appNameList; this.appNameList = appNameList;
} }
/**
* 获取 应用名称
* @return appNameNotList
*/
public List<String> getAppNameNotList(){
return this.appNameNotList;
}
/**
* 设置 应用名称
* @param appNameNotList
*/
public void setAppNameNotList(List<String> appNameNotList){
this.appNameNotList = appNameNotList;
}
/** /**
* 获取 应用图标 * 获取 应用图标
* @return appIconPathList * @return appIconPathList
...@@ -374,6 +513,23 @@ public class AppQuery extends AppEntity { ...@@ -374,6 +513,23 @@ public class AppQuery extends AppEntity {
public void setAppIconPathList(List<String> appIconPathList){ public void setAppIconPathList(List<String> appIconPathList){
this.appIconPathList = appIconPathList; this.appIconPathList = appIconPathList;
} }
/**
* 获取 应用图标
* @return appIconPathNotList
*/
public List<String> getAppIconPathNotList(){
return this.appIconPathNotList;
}
/**
* 设置 应用图标
* @param appIconPathNotList
*/
public void setAppIconPathNotList(List<String> appIconPathNotList){
this.appIconPathNotList = appIconPathNotList;
}
/** /**
* 获取 应用主题名称 * 获取 应用主题名称
* @return appThemeNameList * @return appThemeNameList
...@@ -389,6 +545,23 @@ public class AppQuery extends AppEntity { ...@@ -389,6 +545,23 @@ public class AppQuery extends AppEntity {
public void setAppThemeNameList(List<String> appThemeNameList){ public void setAppThemeNameList(List<String> appThemeNameList){
this.appThemeNameList = appThemeNameList; this.appThemeNameList = appThemeNameList;
} }
/**
* 获取 应用主题名称
* @return appThemeNameNotList
*/
public List<String> getAppThemeNameNotList(){
return this.appThemeNameNotList;
}
/**
* 设置 应用主题名称
* @param appThemeNameNotList
*/
public void setAppThemeNameNotList(List<String> appThemeNameNotList){
this.appThemeNameNotList = appThemeNameNotList;
}
/** /**
* 获取 开始 类型(1.终端应用,2.移动端应用) * 获取 开始 类型(1.终端应用,2.移动端应用)
* @return typeStart * @return typeStart
...@@ -453,6 +626,23 @@ public class AppQuery extends AppEntity { ...@@ -453,6 +626,23 @@ public class AppQuery extends AppEntity {
this.typeList = typeList; this.typeList = typeList;
} }
/**
* 获取 类型(1.终端应用,2.移动端应用)
* @return typeNotList
*/
public List<Integer> getTypeNotList(){
return this.typeNotList;
}
/**
* 设置 类型(1.终端应用,2.移动端应用)
* @param typeNotList
*/
public void setTypeNotList(List<Integer> typeNotList){
this.typeNotList = typeNotList;
}
/** /**
* 获取 链接地址 * 获取 链接地址
* @return urlList * @return urlList
...@@ -468,6 +658,23 @@ public class AppQuery extends AppEntity { ...@@ -468,6 +658,23 @@ public class AppQuery extends AppEntity {
public void setUrlList(List<String> urlList){ public void setUrlList(List<String> urlList){
this.urlList = urlList; this.urlList = urlList;
} }
/**
* 获取 链接地址
* @return urlNotList
*/
public List<String> getUrlNotList(){
return this.urlNotList;
}
/**
* 设置 链接地址
* @param urlNotList
*/
public void setUrlNotList(List<String> urlNotList){
this.urlNotList = urlNotList;
}
/** /**
* 获取 服务接口地址 * 获取 服务接口地址
* @return serviceApiList * @return serviceApiList
...@@ -483,6 +690,23 @@ public class AppQuery extends AppEntity { ...@@ -483,6 +690,23 @@ public class AppQuery extends AppEntity {
public void setServiceApiList(List<String> serviceApiList){ public void setServiceApiList(List<String> serviceApiList){
this.serviceApiList = serviceApiList; this.serviceApiList = serviceApiList;
} }
/**
* 获取 服务接口地址
* @return serviceApiNotList
*/
public List<String> getServiceApiNotList(){
return this.serviceApiNotList;
}
/**
* 设置 服务接口地址
* @param serviceApiNotList
*/
public void setServiceApiNotList(List<String> serviceApiNotList){
this.serviceApiNotList = serviceApiNotList;
}
/** /**
* 获取 开始 下发设备次数 * 获取 开始 下发设备次数
* @return downDevCountStart * @return downDevCountStart
...@@ -547,6 +771,23 @@ public class AppQuery extends AppEntity { ...@@ -547,6 +771,23 @@ public class AppQuery extends AppEntity {
this.downDevCountList = downDevCountList; this.downDevCountList = downDevCountList;
} }
/**
* 获取 下发设备次数
* @return downDevCountNotList
*/
public List<Integer> getDownDevCountNotList(){
return this.downDevCountNotList;
}
/**
* 设置 下发设备次数
* @param downDevCountNotList
*/
public void setDownDevCountNotList(List<Integer> downDevCountNotList){
this.downDevCountNotList = downDevCountNotList;
}
/** /**
* 获取 开始 是否上架(0.下架,1.上架) * 获取 开始 是否上架(0.下架,1.上架)
* @return shelvesStart * @return shelvesStart
...@@ -611,6 +852,23 @@ public class AppQuery extends AppEntity { ...@@ -611,6 +852,23 @@ public class AppQuery extends AppEntity {
this.shelvesList = shelvesList; this.shelvesList = shelvesList;
} }
/**
* 获取 是否上架(0.下架,1.上架)
* @return shelvesNotList
*/
public List<Integer> getShelvesNotList(){
return this.shelvesNotList;
}
/**
* 设置 是否上架(0.下架,1.上架)
* @param shelvesNotList
*/
public void setShelvesNotList(List<Integer> shelvesNotList){
this.shelvesNotList = shelvesNotList;
}
/** /**
* 获取 开始 类型(1.应用程序,2.url) * 获取 开始 类型(1.应用程序,2.url)
* @return appTypeStart * @return appTypeStart
...@@ -675,6 +933,23 @@ public class AppQuery extends AppEntity { ...@@ -675,6 +933,23 @@ public class AppQuery extends AppEntity {
this.appTypeList = appTypeList; this.appTypeList = appTypeList;
} }
/**
* 获取 类型(1.应用程序,2.url)
* @return appTypeNotList
*/
public List<Integer> getAppTypeNotList(){
return this.appTypeNotList;
}
/**
* 设置 类型(1.应用程序,2.url)
* @param appTypeNotList
*/
public void setAppTypeNotList(List<Integer> appTypeNotList){
this.appTypeNotList = appTypeNotList;
}
/** /**
* 获取 文件名称 * 获取 文件名称
* @return fileNameList * @return fileNameList
...@@ -690,6 +965,23 @@ public class AppQuery extends AppEntity { ...@@ -690,6 +965,23 @@ public class AppQuery extends AppEntity {
public void setFileNameList(List<String> fileNameList){ public void setFileNameList(List<String> fileNameList){
this.fileNameList = fileNameList; this.fileNameList = fileNameList;
} }
/**
* 获取 文件名称
* @return fileNameNotList
*/
public List<String> getFileNameNotList(){
return this.fileNameNotList;
}
/**
* 设置 文件名称
* @param fileNameNotList
*/
public void setFileNameNotList(List<String> fileNameNotList){
this.fileNameNotList = fileNameNotList;
}
/** /**
* 获取 文件相对路径地址 * 获取 文件相对路径地址
* @return filePathList * @return filePathList
...@@ -705,6 +997,23 @@ public class AppQuery extends AppEntity { ...@@ -705,6 +997,23 @@ public class AppQuery extends AppEntity {
public void setFilePathList(List<String> filePathList){ public void setFilePathList(List<String> filePathList){
this.filePathList = filePathList; this.filePathList = filePathList;
} }
/**
* 获取 文件相对路径地址
* @return filePathNotList
*/
public List<String> getFilePathNotList(){
return this.filePathNotList;
}
/**
* 设置 文件相对路径地址
* @param filePathNotList
*/
public void setFilePathNotList(List<String> filePathNotList){
this.filePathNotList = filePathNotList;
}
/** /**
* 获取 文件部署路径地址 * 获取 文件部署路径地址
* @return distributeFilePathList * @return distributeFilePathList
...@@ -720,6 +1029,23 @@ public class AppQuery extends AppEntity { ...@@ -720,6 +1029,23 @@ public class AppQuery extends AppEntity {
public void setDistributeFilePathList(List<String> distributeFilePathList){ public void setDistributeFilePathList(List<String> distributeFilePathList){
this.distributeFilePathList = distributeFilePathList; this.distributeFilePathList = distributeFilePathList;
} }
/**
* 获取 文件部署路径地址
* @return distributeFilePathNotList
*/
public List<String> getDistributeFilePathNotList(){
return this.distributeFilePathNotList;
}
/**
* 设置 文件部署路径地址
* @param distributeFilePathNotList
*/
public void setDistributeFilePathNotList(List<String> distributeFilePathNotList){
this.distributeFilePathNotList = distributeFilePathNotList;
}
/** /**
* 获取 开始 当前版本 * 获取 开始 当前版本
* @return versionStart * @return versionStart
...@@ -784,6 +1110,23 @@ public class AppQuery extends AppEntity { ...@@ -784,6 +1110,23 @@ public class AppQuery extends AppEntity {
this.versionList = versionList; this.versionList = versionList;
} }
/**
* 获取 当前版本
* @return versionNotList
*/
public List<Integer> getVersionNotList(){
return this.versionNotList;
}
/**
* 设置 当前版本
* @param versionNotList
*/
public void setVersionNotList(List<Integer> versionNotList){
this.versionNotList = versionNotList;
}
/** /**
* 获取 简介 * 获取 简介
* @return summaryList * @return summaryList
...@@ -799,6 +1142,23 @@ public class AppQuery extends AppEntity { ...@@ -799,6 +1142,23 @@ public class AppQuery extends AppEntity {
public void setSummaryList(List<String> summaryList){ public void setSummaryList(List<String> summaryList){
this.summaryList = summaryList; this.summaryList = summaryList;
} }
/**
* 获取 简介
* @return summaryNotList
*/
public List<String> getSummaryNotList(){
return this.summaryNotList;
}
/**
* 设置 简介
* @param summaryNotList
*/
public void setSummaryNotList(List<String> summaryNotList){
this.summaryNotList = summaryNotList;
}
/** /**
* 获取 更新说明 * 获取 更新说明
* @return notesList * @return notesList
...@@ -814,6 +1174,23 @@ public class AppQuery extends AppEntity { ...@@ -814,6 +1174,23 @@ public class AppQuery extends AppEntity {
public void setNotesList(List<String> notesList){ public void setNotesList(List<String> notesList){
this.notesList = notesList; this.notesList = notesList;
} }
/**
* 获取 更新说明
* @return notesNotList
*/
public List<String> getNotesNotList(){
return this.notesNotList;
}
/**
* 设置 更新说明
* @param notesNotList
*/
public void setNotesNotList(List<String> notesNotList){
this.notesNotList = notesNotList;
}
/** /**
* 获取 开始 是否部署(0.否,1.是) * 获取 开始 是否部署(0.否,1.是)
* @return distributeStart * @return distributeStart
...@@ -878,6 +1255,23 @@ public class AppQuery extends AppEntity { ...@@ -878,6 +1255,23 @@ public class AppQuery extends AppEntity {
this.distributeList = distributeList; this.distributeList = distributeList;
} }
/**
* 获取 是否部署(0.否,1.是)
* @return distributeNotList
*/
public List<Integer> getDistributeNotList(){
return this.distributeNotList;
}
/**
* 设置 是否部署(0.否,1.是)
* @param distributeNotList
*/
public void setDistributeNotList(List<Integer> distributeNotList){
this.distributeNotList = distributeNotList;
}
/** /**
* 获取 开始 是否数据更新(0.否,1.是) * 获取 开始 是否数据更新(0.否,1.是)
* @return dataUpdateStart * @return dataUpdateStart
...@@ -942,6 +1336,23 @@ public class AppQuery extends AppEntity { ...@@ -942,6 +1336,23 @@ public class AppQuery extends AppEntity {
this.dataUpdateList = dataUpdateList; this.dataUpdateList = dataUpdateList;
} }
/**
* 获取 是否数据更新(0.否,1.是)
* @return dataUpdateNotList
*/
public List<Integer> getDataUpdateNotList(){
return this.dataUpdateNotList;
}
/**
* 设置 是否数据更新(0.否,1.是)
* @param dataUpdateNotList
*/
public void setDataUpdateNotList(List<Integer> dataUpdateNotList){
this.dataUpdateNotList = dataUpdateNotList;
}
/** /**
* 获取 开始 创建时间 * 获取 开始 创建时间
* @return createTimeStart * @return createTimeStart
...@@ -1038,6 +1449,23 @@ public class AppQuery extends AppEntity { ...@@ -1038,6 +1449,23 @@ public class AppQuery extends AppEntity {
this.updateUserIdList = updateUserIdList; this.updateUserIdList = updateUserIdList;
} }
/**
* 获取 更新用户
* @return updateUserIdNotList
*/
public List<Long> getUpdateUserIdNotList(){
return this.updateUserIdNotList;
}
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public void setUpdateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
}
/** /**
* 获取 开始 更新时间 * 获取 开始 更新时间
* @return updateTimeStart * @return updateTimeStart
...@@ -1115,6 +1543,15 @@ public class AppQuery extends AppEntity { ...@@ -1115,6 +1543,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 主键ID,主键,自增长
* @param idNotList
*/
public AppQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/** /**
* 设置 站点Id * 设置 站点Id
* @param siteId * @param siteId
...@@ -1160,6 +1597,15 @@ public class AppQuery extends AppEntity { ...@@ -1160,6 +1597,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 站点Id
* @param siteIdNotList
*/
public AppQuery siteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
return this;
}
/** /**
* 设置 站点名称 * 设置 站点名称
...@@ -1300,6 +1746,15 @@ public class AppQuery extends AppEntity { ...@@ -1300,6 +1746,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 类型(1.终端应用,2.移动端应用)
* @param typeNotList
*/
public AppQuery typeNotList(List<Integer> typeNotList){
this.typeNotList = typeNotList;
return this;
}
/** /**
* 设置 链接地址 * 设置 链接地址
...@@ -1383,6 +1838,15 @@ public class AppQuery extends AppEntity { ...@@ -1383,6 +1838,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 下发设备次数
* @param downDevCountNotList
*/
public AppQuery downDevCountNotList(List<Integer> downDevCountNotList){
this.downDevCountNotList = downDevCountNotList;
return this;
}
/** /**
* 设置 是否上架(0.下架,1.上架) * 设置 是否上架(0.下架,1.上架)
* @param shelves * @param shelves
...@@ -1428,6 +1892,15 @@ public class AppQuery extends AppEntity { ...@@ -1428,6 +1892,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 是否上架(0.下架,1.上架)
* @param shelvesNotList
*/
public AppQuery shelvesNotList(List<Integer> shelvesNotList){
this.shelvesNotList = shelvesNotList;
return this;
}
/** /**
* 设置 类型(1.应用程序,2.url) * 设置 类型(1.应用程序,2.url)
* @param appType * @param appType
...@@ -1473,6 +1946,15 @@ public class AppQuery extends AppEntity { ...@@ -1473,6 +1946,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 类型(1.应用程序,2.url)
* @param appTypeNotList
*/
public AppQuery appTypeNotList(List<Integer> appTypeNotList){
this.appTypeNotList = appTypeNotList;
return this;
}
/** /**
* 设置 文件名称 * 设置 文件名称
...@@ -1575,6 +2057,15 @@ public class AppQuery extends AppEntity { ...@@ -1575,6 +2057,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 当前版本
* @param versionNotList
*/
public AppQuery versionNotList(List<Integer> versionNotList){
this.versionNotList = versionNotList;
return this;
}
/** /**
* 设置 简介 * 设置 简介
...@@ -1658,6 +2149,15 @@ public class AppQuery extends AppEntity { ...@@ -1658,6 +2149,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 是否部署(0.否,1.是)
* @param distributeNotList
*/
public AppQuery distributeNotList(List<Integer> distributeNotList){
this.distributeNotList = distributeNotList;
return this;
}
/** /**
* 设置 是否数据更新(0.否,1.是) * 设置 是否数据更新(0.否,1.是)
* @param dataUpdate * @param dataUpdate
...@@ -1703,6 +2203,15 @@ public class AppQuery extends AppEntity { ...@@ -1703,6 +2203,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 是否数据更新(0.否,1.是)
* @param dataUpdateNotList
*/
public AppQuery dataUpdateNotList(List<Integer> dataUpdateNotList){
this.dataUpdateNotList = dataUpdateNotList;
return this;
}
/** /**
* 设置 更新用户 * 设置 更新用户
...@@ -1749,6 +2258,15 @@ public class AppQuery extends AppEntity { ...@@ -1749,6 +2258,15 @@ public class AppQuery extends AppEntity {
return this; return this;
} }
/**
* 设置 更新用户
* @param updateUserIdNotList
*/
public AppQuery updateUserIdNotList(List<Long> updateUserIdNotList){
this.updateUserIdNotList = updateUserIdNotList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
......
...@@ -55,4 +55,10 @@ public class AppVo extends BaseEntityLong { ...@@ -55,4 +55,10 @@ public class AppVo extends BaseEntityLong {
*/ */
private Long targetAppId; private Long targetAppId;
/** 类型(1.应用程序,2.url)列表 */
private List <Integer> appTypeList;
/** 类型(1.应用程序,2.url)排除列表 */
private List <Integer> appTypeNotList;
} }
\ No newline at end of file
...@@ -11,12 +11,14 @@ import com.mortals.framework.exception.AppException; ...@@ -11,12 +11,14 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.base.system.upload.service.UploadService; import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.FiletypeEnum; import com.mortals.xhx.common.code.FiletypeEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.FreeMarkerUtils; import com.mortals.xhx.common.utils.FreeMarkerUtils;
import com.mortals.xhx.common.utils.SendSkinRefreshTask;
import com.mortals.xhx.feign.skin.ISkinFillFeign; import com.mortals.xhx.feign.skin.ISkinFillFeign;
import com.mortals.xhx.feign.skin.ISkinSampleFeign; import com.mortals.xhx.feign.skin.ISkinSampleFeign;
import com.mortals.xhx.module.product.model.ProductEntity; import com.mortals.xhx.module.product.model.ProductEntity;
...@@ -167,9 +169,9 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk ...@@ -167,9 +169,9 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
}); });
skinFieldService.save(entity.getSkinFieldList(), context); skinFieldService.save(entity.getSkinFieldList(), context);
} }
//通知子系统同步皮肤数据
skinSampleFeign.refreshSkin(); SendSkinRefreshTask sendSkinRefreshTask = new SendSkinRefreshTask();
skinFillFeign.refreshSkin(); ThreadPool.getInstance().execute(sendSkinRefreshTask);
} }
@Override @Override
...@@ -188,13 +190,16 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk ...@@ -188,13 +190,16 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
super.removeAfter(ids, context, result);
SkinFieldQuery skinFieldQuery = new SkinFieldQuery(); SkinFieldQuery skinFieldQuery = new SkinFieldQuery();
skinFieldQuery.setSkinIdList(Arrays.asList(ids)); skinFieldQuery.setSkinIdList(Arrays.asList(ids));
Long[] skinFieldIds = skinFieldService.find(skinFieldQuery, context).stream().map(item -> item.getId()).toArray(Long[]::new); Long[] skinFieldIds = skinFieldService.find(skinFieldQuery, context).stream().map(item -> item.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(skinFieldIds)) { if (!ObjectUtils.isEmpty(skinFieldIds)) {
skinFieldService.remove(skinFieldIds, context); skinFieldService.remove(skinFieldIds, context);
} }
super.removeAfter(ids, context, result); SendSkinRefreshTask sendSkinRefreshTask = new SendSkinRefreshTask();
ThreadPool.getInstance().execute(sendSkinRefreshTask);
} }
private void genTemplateCss(SkinBaseEntity entity, Context context) { private void genTemplateCss(SkinBaseEntity entity, Context context) {
......
...@@ -23,9 +23,12 @@ client.global.set("authToken", JSON.parse(response.body).data.token); ...@@ -23,9 +23,12 @@ client.global.set("authToken", JSON.parse(response.body).data.token);
POST {{baseUrl}}/app/list POST {{baseUrl}}/app/list
Content-Type: application/json Content-Type: application/json
{
"siteId": 1,
{"siteId":"22","page":1,"size":-1} "appTypeNotList": [4],
"page": 1,
"size": -1
}
###自助终端应用更新与保存 ###自助终端应用更新与保存
......
...@@ -4,7 +4,7 @@ POST {{baseUrl}}/skin/base/list ...@@ -4,7 +4,7 @@ POST {{baseUrl}}/skin/base/list
Content-Type: application/json Content-Type: application/json
{ {
"fieldName": "背景大图", "productName": "样表机",
"page": 1, "page": 1,
"size": 10 "size": 10
} }
......
...@@ -77,7 +77,7 @@ public interface IApiAreaFeign extends IFeign { ...@@ -77,7 +77,7 @@ public interface IApiAreaFeign extends IFeign {
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/usr/refreshUser") @PostMapping(value = "/user/refreshUser")
Rest<Void> refreshUser(); Rest<Void> refreshUser();
// /** // /**
......
...@@ -75,7 +75,7 @@ public interface IDeviceFeign extends IFeign { ...@@ -75,7 +75,7 @@ public interface IDeviceFeign extends IFeign {
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/usr/refreshUser") @PostMapping(value = "/user/refreshUser")
Rest<Void> refreshUser(); Rest<Void> refreshUser();
......
...@@ -33,7 +33,7 @@ public interface ISkinFillFeign extends IFeign { ...@@ -33,7 +33,7 @@ public interface ISkinFillFeign extends IFeign {
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/usr/refreshUser") @PostMapping(value = "/user/refreshUser")
Rest<Void> refreshUser(); Rest<Void> refreshUser();
......
...@@ -34,7 +34,7 @@ public interface ISkinSampleFeign extends IFeign { ...@@ -34,7 +34,7 @@ public interface ISkinSampleFeign extends IFeign {
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/usr/refreshUser") @PostMapping(value = "/user/refreshUser")
Rest<Void> refreshUser(); Rest<Void> refreshUser();
} }
......
...@@ -68,7 +68,8 @@ public class AuthUserInterceptor extends BaseInterceptor { ...@@ -68,7 +68,8 @@ public class AuthUserInterceptor extends BaseInterceptor {
ret.put("msg", "用户未登录或登录失效,请重新登录"); ret.put("msg", "用户未登录或登录失效,请重新登录");
ServletUtils.renderString(response, JSONObject.toJSONString(ret)); ServletUtils.renderString(response, JSONObject.toJSONString(ret));
return false; return false;
}else if(loginUser.isAdmin()||loginUser.getUserType()==1){ // }else if(loginUser.isAdmin()||loginUser.getUserType()==1){
}else if(loginUser.isAdmin()){
return super.preHandle(request, response, handler); return super.preHandle(request, response, handler);
} else { } else {
ret.put("code", -1); ret.put("code", -1);
......
package com.mortals.xhx.common.utils;
import com.mortals.xhx.feign.area.IApiAreaFeign;
import com.mortals.xhx.feign.device.IDeviceFeign;
import com.mortals.xhx.feign.skin.ISkinFillFeign;
import com.mortals.xhx.feign.skin.ISkinSampleFeign;
import com.mortals.xhx.utils.SpringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* 短信发送任务
*
* @author: zxfei
* @date: 2022/4/28 10:56
* @description:
**/
@Slf4j
@AllArgsConstructor
public class SendSubSystemTask implements Runnable {
private IApiAreaFeign apiAreaFeign;
private IDeviceFeign deviceFeign;
private ISkinSampleFeign skinSampleFeign;
private ISkinFillFeign skinFillFeign;
public SendSubSystemTask() {
apiAreaFeign= SpringUtils.getBean(IApiAreaFeign.class);
deviceFeign= SpringUtils.getBean(IDeviceFeign.class);
skinSampleFeign= SpringUtils.getBean(ISkinSampleFeign.class);
skinFillFeign= SpringUtils.getBean(ISkinFillFeign.class);
}
@Override
public void run() {
String resp = null;
try {
Thread.sleep(2000);
apiAreaFeign.refreshUser();
Thread.sleep(2000);
deviceFeign.refreshUser();
Thread.sleep(2000);
skinSampleFeign.refreshUser();
Thread.sleep(2000);
skinFillFeign.refreshUser();
} catch (Exception e) {
log.error("异常:", e);
}
}
}
package com.mortals.xhx.daemon.applicationservice; package com.mortals.xhx.daemon.applicationservice;
import com.mortals.framework.util.ThreadPool;
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.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -26,6 +27,7 @@ public class DemoStartService implements IApplicationService { ...@@ -26,6 +27,7 @@ public class DemoStartService implements IApplicationService {
@Override @Override
public void start() { public void start() {
ThreadPool.getInstance().init(10);
logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]"); logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]");
} }
......
...@@ -17,7 +17,12 @@ import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; ...@@ -17,7 +17,12 @@ import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.*; import com.mortals.framework.util.*;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.utils.SendSubSystemTask;
import com.mortals.xhx.common.utils.Solution; import com.mortals.xhx.common.utils.Solution;
import com.mortals.xhx.feign.area.IApiAreaFeign;
import com.mortals.xhx.feign.device.IDeviceFeign;
import com.mortals.xhx.feign.skin.ISkinFillFeign;
import com.mortals.xhx.feign.skin.ISkinSampleFeign;
import com.mortals.xhx.module.area.model.AreaQuery; import com.mortals.xhx.module.area.model.AreaQuery;
import com.mortals.xhx.module.area.service.AreaService; import com.mortals.xhx.module.area.service.AreaService;
import com.mortals.xhx.module.menu.service.MenuService; import com.mortals.xhx.module.menu.service.MenuService;
...@@ -29,6 +34,7 @@ import com.mortals.xhx.module.user.dao.UserPwdRecordDao; ...@@ -29,6 +34,7 @@ import com.mortals.xhx.module.user.dao.UserPwdRecordDao;
import com.mortals.xhx.module.user.model.*; import com.mortals.xhx.module.user.model.*;
import com.mortals.xhx.module.user.service.UserService; import com.mortals.xhx.module.user.service.UserService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -61,6 +67,15 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -61,6 +67,15 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
@Autowired @Autowired
private UserPwdRecordDao userPwdRecordDao; private UserPwdRecordDao userPwdRecordDao;
@Autowired
private IApiAreaFeign apiAreaFeign;
@Autowired
private IDeviceFeign deviceFeign;
@Autowired
private ISkinSampleFeign skinSampleFeign;
@Autowired
private ISkinFillFeign skinFillFeign;
/** /**
* @param data * @param data
* @return * @return
...@@ -68,6 +83,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -68,6 +83,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
@Override @Override
protected String getExtKey(UserEntity data) { protected String getExtKey(UserEntity data) {
return data.getLoginName(); return data.getLoginName();
} }
...@@ -384,11 +400,21 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -384,11 +400,21 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
userPwdRecordEntity.setCreateTime(new Date()); userPwdRecordEntity.setCreateTime(new Date());
userPwdRecordEntity.setCreateUserId(entity.getId()); userPwdRecordEntity.setCreateUserId(entity.getId());
userPwdRecordDao.insert(userPwdRecordEntity); userPwdRecordDao.insert(userPwdRecordEntity);
noticeSubSystemRefresh();
}
private void noticeSubSystemRefresh() {
//用户新增修改,推送消息给子系统进行数据同步
SendSubSystemTask sendSubSystemTask = new SendSubSystemTask();
ThreadPool.getInstance().execute(sendSubSystemTask);
} }
@Override @Override
protected void updateAfter(UserEntity entity, Context context) throws AppException { protected void updateAfter(UserEntity entity, Context context) throws AppException {
super.updateAfter(entity, context); super.updateAfter(entity, context);
noticeSubSystemRefresh();
} }
@Override @Override
......
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