Commit d2d59960 authored by david.zhong's avatar david.zhong

新版权限提交

parent e8c98a25
......@@ -4,9 +4,11 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.netflix.zuul.EnableZuulServer;
@EnableZuulProxy
//@EnableDiscoveryClient
@EnableZuulServer
@EnableDiscoveryClient
@SpringBootApplication(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
......
package com.ost.micro.config;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Configuration;
......@@ -26,6 +27,12 @@ public class SecurityWebMvcConfigurer implements WebMvcConfigurer {
FastJsonConfig fastJsonConfig = new FastJsonConfig();
//3.设置成了PrettyFormat格式
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastJsonConfig.setSerializeFilters((ValueFilter) (o, s, source) -> {
if (source == null) {
return "";//此处是关键,如果返回对象的变量为null,则自动变成""
}
return source;
});
//4.处理中文乱码问题
List<MediaType> fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
......
......@@ -38,7 +38,7 @@ public class AccessFilter extends ZuulFilter {
log.info("开始进入zuul方法=======>");
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
HttpServletResponse response = ctx.getResponse();
//HttpServletResponse response = ctx.getResponse();
Object originalRequestPath = ctx.get(FilterConstants.REQUEST_URI_KEY);
Subject subject = SecurityUtils.getSubject();
log.info("originalRequestPath is {}",originalRequestPath);
......
package com.ost.micro.filter;
import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.net.MalformedURLException;
import java.net.URL;
@Slf4j
@Component
public class UrlFilter extends ZuulFilter {
@Override
public String filterType() {
return FilterConstants.PRE_TYPE;
}
@Override
public int filterOrder() {
return 0;
}
@Override
public boolean shouldFilter() {
return true;
}
@Override
public Object run() throws ZuulException {
log.info("开始进入UrlFilter zuul方法=======>");
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
//String originalRequestPath = request.getRequestURI().toString();
String url = request.getScheme()+"://"+request.getServerName();
log.info("request url is {}",url);
return null;
}
}
......@@ -24,6 +24,7 @@ import com.ost.micro.modules.security.service.SysUserTokenService;
import com.ost.micro.modules.security.user.SecurityUser;
import com.ost.micro.modules.security.user.UserDetail;
import com.ost.micro.modules.sys.dto.SysUserDTO;
import com.ost.micro.modules.sys.dto.SysUserExtDTO;
import com.ost.micro.modules.sys.enums.UserStatusEnum;
import com.ost.micro.modules.sys.service.SysUserService;
import io.swagger.annotations.Api;
......@@ -91,27 +92,23 @@ public class LoginController {
//效验数据
ValidatorUtils.validateEntity(login);
//验证码是否正确
boolean flag = captchaService.validate(login.getUuid(), login.getCaptcha());
if(!flag){
return new Result().error(ErrorCode.CAPTCHA_ERROR);
return new Result().error(ErrorCode.CAPTCHA_ERROR,"验证码错误!");
}
//用户信息
Map<String,Object> params = new HashMap<>();
params.put("username",login.getUsername());
params.put("bizId",login.getBizId());
SysUserDTO user = sysUserService.getByUsername(params);
SysUserExtDTO user = sysUserService.getByUsername(params);
SysLogLoginEntity sysLog = new SysLogLoginEntity();
sysLog.setOperation(LoginOperationEnum.LOGIN.value());
sysLog.setCreateDate(new Date());
sysLog.setIp(IpUtils.getIpAddr(request));
sysLog.setUserAgent(request.getHeader(HttpHeaders.USER_AGENT));
sysLog.setIp(IpUtils.getIpAddr(request));
// 判断是商户登录还是商家登录,通过url去判断
if (url.contains("backmch")) {//商户后台登录
if ("admin".equals(login.getUsername())) {
......@@ -119,14 +116,23 @@ public class LoginController {
sysLog.setCreaterName(login.getUsername());
sysLogLoginService.save(sysLog);
log.info("[admin账号]不能登录商家后台");
throw new RenException(ErrorCode.ACCOUNT_ERROR);
throw new RenException("[admin账号]不能登录商家后台",ErrorCode.ACCOUNT_ERROR);
}
if (StringUtils.isEmpty(login.getBizId())) {
log.info("商家号为空或者错误");
sysLog.setStatus(LoginStatusEnum.FAIL.value());
sysLog.setCreaterName(login.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException(ErrorCode.BIZID_ERROR_OR_NULL);
throw new RenException("商家号为空或者错误",ErrorCode.BIZID_ERROR_OR_NULL);
}
}else if (url.contains("backstage")) {//运营商后台登录
String bizId = user.getBizId();
if (StringUtils.isNotEmpty(bizId)) {
log.info("商家账号不能登录运营商后台");
sysLog.setStatus(LoginStatusEnum.FAIL.value());
sysLog.setCreaterName(login.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException("商家账号不能登录运营商后台",ErrorCode.ACCOUNT_ERROR);
}
}
......@@ -135,7 +141,7 @@ public class LoginController {
sysLog.setStatus(LoginStatusEnum.FAIL.value());
sysLog.setCreaterName(login.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR);
throw new RenException("用户不存在",ErrorCode.ACCOUNT_PASSWORD_ERROR);
}
//密码错误
if(!PasswordUtils.matches(login.getPassword(), user.getPassword())){
......@@ -143,7 +149,7 @@ public class LoginController {
sysLog.setCreater(user.getId());
sysLog.setCreaterName(user.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException(ErrorCode.ACCOUNT_PASSWORD_ERROR);
throw new RenException("密码错误",ErrorCode.ACCOUNT_PASSWORD_ERROR);
}
//账号停用
if(user.getStatus() == UserStatusEnum.DISABLE.value()){
......@@ -151,8 +157,29 @@ public class LoginController {
sysLog.setCreater(user.getId());
sysLog.setCreaterName(user.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException(ErrorCode.ACCOUNT_DISABLE);
throw new RenException("账号停用",ErrorCode.ACCOUNT_DISABLE);
}
//账号停用
if(user.getStatus() == UserStatusEnum.DISABLE.value()){
sysLog.setStatus(LoginStatusEnum.LOCK.value());
sysLog.setCreater(user.getId());
sysLog.setCreaterName(user.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException("账号停用",ErrorCode.ACCOUNT_DISABLE);
}
//商家账号停用
if(user.getBizStatus() == UserStatusEnum.DISABLE.value()){
sysLog.setStatus(LoginStatusEnum.LOCK.value());
sysLog.setCreater(user.getId());
sysLog.setCreaterName(user.getUsername());
sysLogLoginService.save(sysLog);
throw new RenException("商家账号停用",ErrorCode.ACCOUNT_DISABLE);
}
//登录成功
sysLog.setStatus(LoginStatusEnum.SUCCESS.value());
sysLog.setCreater(user.getId());
......
......@@ -13,6 +13,7 @@ import com.ost.micro.common.constant.Constant;
import com.ost.micro.common.exception.ErrorCode;
import com.ost.micro.common.utils.HttpContextUtils;
import com.ost.micro.common.utils.Result;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpStatus;
import org.apache.shiro.authc.AuthenticationException;
......@@ -31,6 +32,7 @@ import java.io.IOException;
*
* @author Mark sunlightcs@gmail.com
*/
@Slf4j
public class Oauth2Filter extends AuthenticatingFilter {
@Override
......@@ -50,7 +52,6 @@ public class Oauth2Filter extends AuthenticatingFilter {
if(((HttpServletRequest) request).getMethod().equals(RequestMethod.OPTIONS.name())){
return true;
}
return false;
}
......@@ -58,6 +59,7 @@ public class Oauth2Filter extends AuthenticatingFilter {
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
//获取请求token,如果token不存在,直接返回401
String token = getRequestToken((HttpServletRequest) request);
log.info(((HttpServletRequest) request).getRequestURL()+"请求的token为:{}",token);
if(StringUtils.isBlank(token)){
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
......
......@@ -8,6 +8,7 @@
package com.ost.micro.modules.security.oauth2;
import com.ost.micro.common.exception.ErrorCode;
import com.ost.micro.common.exception.RenException;
import com.ost.micro.common.utils.ConvertUtils;
import com.ost.micro.common.utils.MessageUtils;
import com.ost.micro.modules.security.entity.SysUserTokenEntity;
......@@ -66,7 +67,8 @@ public class Oauth2Realm extends AuthorizingRealm {
SysUserTokenEntity tokenEntity = shiroService.getByToken(accessToken);
//token失效
if(tokenEntity == null || tokenEntity.getExpireDate().getTime() < System.currentTimeMillis()){
throw new IncorrectCredentialsException(MessageUtils.getMessage(ErrorCode.TOKEN_INVALID));
//throw new IncorrectCredentialsException(MessageUtils.getMessage(ErrorCode.TOKEN_INVALID));
throw new RenException("",ErrorCode.TOKEN_INVALID);
}
//查询用户信息
......
......@@ -15,6 +15,7 @@ import com.ost.micro.common.validator.group.AddGroup;
import com.ost.micro.common.validator.group.DefaultGroup;
import com.ost.micro.common.validator.group.UpdateGroup;
import com.ost.micro.core.utils.DateUtil;
import com.ost.micro.modules.sys.dto.SysDeptBizDTO;
import com.ost.micro.modules.sys.dto.SysDeptDTO;
import com.ost.micro.modules.sys.service.SysDeptService;
import com.ost.micro.securitycommon.annotation.LogOperation;
......@@ -86,6 +87,17 @@ public class SysDeptController {
return new Result();
}
@PutMapping("/biz/status")
@ApiOperation("修改商家状态")
@LogOperation("修改商家状态")
@RequiresPermissions("sys:dept:update")
public Result updateByBizId(@RequestBody SysDeptBizDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class);
sysDeptService.updateByCondition(dto);
return new Result();
}
@DeleteMapping("{id}")
@ApiOperation("删除")
@LogOperation("删除")
......
......@@ -17,7 +17,9 @@ import com.ost.micro.common.validator.group.AddGroup;
import com.ost.micro.common.validator.group.DefaultGroup;
import com.ost.micro.common.validator.group.UpdateGroup;
import com.ost.micro.core.utils.DateUtil;
import com.ost.micro.modules.sys.dto.SysDeptDTO;
import com.ost.micro.modules.sys.dto.SysRoleDTO;
import com.ost.micro.modules.sys.service.SysDeptService;
import com.ost.micro.modules.sys.service.SysRoleDataScopeService;
import com.ost.micro.modules.sys.service.SysRoleMenuService;
import com.ost.micro.modules.sys.service.SysRoleService;
......@@ -26,8 +28,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
......@@ -48,6 +52,8 @@ public class SysRoleController {
@Autowired
private SysRoleService sysRoleService;
@Autowired
private SysDeptService sysDeptService;
@Autowired
private SysRoleMenuService sysRoleMenuService;
@Autowired
private SysRoleDataScopeService sysRoleDataScopeService;
......@@ -64,15 +70,31 @@ public class SysRoleController {
@RequiresPermissions("sys:role:page")
public Result<PageData<SysRoleDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysRoleDTO> page = sysRoleService.page(params);
if (null != page && !CollectionUtils.isEmpty(page.getList())) {
page.getList().forEach(e->{
//查询角色对应的菜单
List<String> menuIdList = sysRoleMenuService.getMenuIdList(e.getId());
e.setMenuIdList(menuIdList);
//查询角色对应的数据权限
List<String> deptIdList = sysRoleDataScopeService.getDeptIdList(e.getId());
e.setDeptIdList(deptIdList);
SysDeptDTO sysDeptDTO = sysDeptService.get(e.getDeptId());
if (null != sysDeptDTO) {
e.setDeptName(sysDeptDTO.getName());
}
});
}
return new Result<PageData<SysRoleDTO>>().ok(page);
}
@GetMapping("list")
@ApiOperation("列表")
@RequiresPermissions("sys:role:list")
public Result<List<SysRoleDTO>> list(){
List<SysRoleDTO> data = sysRoleService.list(new HashMap<>(1));
public Result<List<SysRoleDTO>> list(@ApiIgnore @RequestParam Map<String, Object> params){
List<SysRoleDTO> data = sysRoleService.list(params);
return new Result<List<SysRoleDTO>>().ok(data);
}
......@@ -91,6 +113,8 @@ public class SysRoleController {
List<String> deptIdList = sysRoleDataScopeService.getDeptIdList(id);
data.setDeptIdList(deptIdList);
SysDeptDTO sysDeptDTO = sysDeptService.get(data.getDeptId());
data.setDeptName(sysDeptDTO.getName());
return new Result<SysRoleDTO>().ok(data);
}
......
......@@ -36,6 +36,7 @@ import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
......@@ -71,7 +72,13 @@ public class SysUserController {
@RequiresPermissions("sys:user:page")
public Result<PageData<SysUserDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params){
PageData<SysUserDTO> page = sysUserService.page(params);
if (null != page && !CollectionUtils.isEmpty(page.getList())) {
page.getList().forEach(e->{
//用户角色列表
List<String> roleIdList = sysRoleUserService.getRoleIdList(e.getId());
e.setRoleIdList(roleIdList);
});
}
return new Result<PageData<SysUserDTO>>().ok(page);
}
......@@ -90,7 +97,7 @@ public class SysUserController {
@GetMapping("info")
@ApiOperation("登录用户信息")
@RequiresPermissions("sys:user:info")
//@RequiresPermissions("sys:user:info")
public Result<SysUserDTO> info(){
SysUserDTO data = ConvertUtils.sourceToTarget(SecurityUser.getUser(), SysUserDTO.class);
return new Result<SysUserDTO>().ok(data);
......
......@@ -11,6 +11,7 @@ package com.ost.micro.modules.sys.dao;
import com.ost.micro.common.dao.BaseDao;
import com.ost.micro.modules.sys.entity.SysDeptEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -38,4 +39,6 @@ public interface SysDeptDao extends BaseDao<SysDeptEntity> {
*/
List<String> getSubDeptIdList(String id);
int updateByCondition(@Param("bizId") String bizId, @Param("status") Integer status,@Param("remark") String remark);
}
\ No newline at end of file
......@@ -9,8 +9,13 @@
package com.ost.micro.modules.sys.dao;
import com.ost.micro.common.dao.BaseDao;
import com.ost.micro.modules.sys.domo.SysRoleDo;
import com.ost.micro.modules.sys.entity.SysRoleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 角色管理
......@@ -20,5 +25,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysRoleDao extends BaseDao<SysRoleEntity> {
List<SysRoleDo> queryPage(@Param("params") Map<String,Object> map);
Integer queryPageTotalCount(@Param("params") Map<String,Object> map);
}
package com.ost.micro.modules.sys.domo;
import com.ost.micro.modules.sys.entity.SysRoleEntity;
import lombok.Data;
@Data
public class SysRoleDo extends SysRoleEntity {
private String deptName;
}
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有,侵权必究!
*/
package com.ost.micro.modules.sys.domo;
import com.ost.micro.modules.sys.entity.SysUserEntity;
import lombok.Data;
/**
* 系统用户
*
* @author Mark sunlightcs@gmail.com
*/
@Data
public class SysUserDo extends SysUserEntity {
private String bizId;
private Integer bizStatus;
}
\ No newline at end of file
package com.ost.micro.modules.sys.dto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
public class SysDeptBizDTO implements Serializable {
@ApiModelProperty(value = "商家id")
private String bizId;
@ApiModelProperty(value = "商家状态 0:禁用 1:启用")
private Integer status;
@ApiModelProperty(value = "备注")
private String remark;
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
......@@ -33,7 +33,7 @@ public class SysDeptDTO extends TreeNode implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
//@Null(message="{id.null}", groups = AddGroup.class)
@NotBlank(message="{id.require}", groups = UpdateGroup.class)
private String id;
......@@ -50,9 +50,11 @@ public class SysDeptDTO extends TreeNode implements Serializable {
@ApiModelProperty(value = "商家id")
@NotBlank(message="{sysdept.bizId.require}", groups = AddGroup.class)
private String bizId;
@ApiModelProperty(value = "商家状态 0:禁用 1:启用")
private String bizStatus;
@ApiModelProperty(value = "备注")
private String remark;
......@@ -155,4 +157,12 @@ public class SysDeptDTO extends TreeNode implements Serializable {
public void setStatus(Integer status) {
this.status = status;
}
public String getBizStatus() {
return bizStatus;
}
public void setBizStatus(String bizStatus) {
this.bizStatus = bizStatus;
}
}
\ No newline at end of file
......@@ -35,7 +35,7 @@ public class SysMenuDTO extends TreeNode<SysMenuDTO> implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
//@Null(message="{id.null}", groups = AddGroup.class)
@NotBlank(message="{id.require}", groups = UpdateGroup.class)
private String id;
......
......@@ -32,7 +32,7 @@ public class SysRoleDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
@Null(message="{id.null}", groups = AddGroup.class)
//@Null(message="{id.null}", groups = AddGroup.class)
@NotBlank(message="{id.require}", groups = UpdateGroup.class)
private String id;
......@@ -48,6 +48,12 @@ public class SysRoleDTO implements Serializable {
@NotBlank(message="{sysrole.name.require}", groups = DefaultGroup.class)
private String name;
@ApiModelProperty(value = "所属组织")
private String deptId;
@ApiModelProperty(value = "组织名称")
private String deptName;
@ApiModelProperty(value = "备注")
private String remark;
......@@ -124,4 +130,24 @@ public class SysRoleDTO implements Serializable {
public void setStatus(Integer status) {
this.status = status;
}
public static long getSerialVersionUID() {
return serialVersionUID;
}
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
}
\ No newline at end of file
......@@ -95,9 +95,6 @@ public class SysUserDTO implements Serializable {
@ApiModelProperty(value = "角色ID列表")
private List<String> roleIdList;
@ApiModelProperty(value = "部门名称")
private String deptName;
public String getId() {
return id;
}
......@@ -202,14 +199,6 @@ public class SysUserDTO implements Serializable {
this.roleIdList = roleIdList;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getUserNum() {
return userNum;
}
......
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有,侵权必究!
*/
package com.ost.micro.modules.sys.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 用户管理
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@ApiModel(value = "用户管理")
public class SysUserExtDTO extends SysUserDTO{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "商家编号")
private String bizId;
@ApiModelProperty(value = "商家编名称")
private Integer bizStatus;
@ApiModelProperty(value = "部门名称")
private String deptName;
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public Integer getBizStatus() {
return bizStatus;
}
public void setBizStatus(Integer bizStatus) {
this.bizStatus = bizStatus;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
}
\ No newline at end of file
......@@ -38,10 +38,7 @@ public class SysDeptEntity extends BaseEntity {
*/
private String deptNum;
/**
* 商家id
*/
private String bizId;
/**
* 备注
......@@ -77,6 +74,16 @@ public class SysDeptEntity extends BaseEntity {
@TableField(exist = false)
private String parentName;
/**
* 商家id
*/
private String bizId;
/**
* 商家id
*/
private String bizStatus;
public String getPid() {
return pid;
}
......@@ -141,14 +148,6 @@ public class SysDeptEntity extends BaseEntity {
this.deptNum = deptNum;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getRemark() {
return remark;
}
......@@ -164,4 +163,20 @@ public class SysDeptEntity extends BaseEntity {
public void setStatus(Integer status) {
this.status = status;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
public String getBizStatus() {
return bizStatus;
}
public void setBizStatus(String bizStatus) {
this.bizStatus = bizStatus;
}
}
\ No newline at end of file
......@@ -209,4 +209,6 @@ public class SysUserEntity extends BaseEntity {
public void setRemark(String remark) {
this.remark = remark;
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@
package com.ost.micro.modules.sys.service;
import com.ost.micro.common.service.BaseService;
import com.ost.micro.modules.sys.dto.SysDeptBizDTO;
import com.ost.micro.modules.sys.dto.SysDeptDTO;
import com.ost.micro.modules.sys.entity.SysDeptEntity;
......@@ -29,6 +30,8 @@ public interface SysDeptService extends BaseService<SysDeptEntity> {
void update(SysDeptDTO dto);
void updateByCondition(SysDeptBizDTO dto);
void delete(String id);
/**
......
......@@ -10,6 +10,7 @@ package com.ost.micro.modules.sys.service;
import com.ost.micro.common.page.PageData;
import com.ost.micro.common.service.BaseService;
import com.ost.micro.modules.sys.dto.SysUserDTO;
import com.ost.micro.modules.sys.dto.SysUserExtDTO;
import com.ost.micro.modules.sys.entity.SysUserEntity;
import java.util.List;
......@@ -29,7 +30,7 @@ public interface SysUserService extends BaseService<SysUserEntity> {
SysUserDTO get(String id);
SysUserDTO getByUsername(Map<String, Object> params);
SysUserExtDTO getByUsername(Map<String, Object> params);
void save(SysUserDTO dto);
......
......@@ -17,6 +17,7 @@ import com.ost.micro.common.utils.TreeUtils;
import com.ost.micro.modules.security.user.SecurityUser;
import com.ost.micro.modules.security.user.UserDetail;
import com.ost.micro.modules.sys.dao.SysDeptDao;
import com.ost.micro.modules.sys.dto.SysDeptBizDTO;
import com.ost.micro.modules.sys.dto.SysDeptDTO;
import com.ost.micro.modules.sys.entity.SysDeptEntity;
import com.ost.micro.modules.sys.enums.SuperAdminEnum;
......@@ -90,18 +91,27 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateByCondition(SysDeptBizDTO dto) {
this.baseDao.updateByCondition(dto.getBizId(),dto.getStatus(),dto.getRemark());
}
@Override
//@Transactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = RenException.class)
public void delete(String id) {
//判断是否有子部门
List<String> subList = getSubDeptIdList(id);
if(subList.size() > 1){
throw new RenException(ErrorCode.DEPT_SUB_DELETE_ERROR);
throw new RenException("部门下面有子部门",ErrorCode.DEPT_SUB_DELETE_ERROR);
//throw new MicroException("部门下面有子部门",ErrorCode.DEPT_SUB_DELETE_ERROR);
}
//判断部门下面是否有用户
int count = sysUserService.getCountByDeptId(id);
if(count > 0){
throw new RenException(ErrorCode.DEPT_USER_DELETE_ERROR);
//throw new RenException(ErrorCode.DEPT_USER_DELETE_ERROR,"部门下面有用户");
throw new RenException("部门下面有用户",ErrorCode.DEPT_SUB_DELETE_ERROR);
//throw new MicroException("部门下面有用户",ErrorCode.DEPT_USER_DELETE_ERROR);
}
//删除
......
......@@ -9,25 +9,24 @@
package com.ost.micro.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ost.micro.common.constant.Constant;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ost.micro.common.page.PageData;
import com.ost.micro.common.service.impl.BaseServiceImpl;
import com.ost.micro.common.utils.ConvertUtils;
import com.ost.micro.modules.security.user.SecurityUser;
import com.ost.micro.modules.security.user.UserDetail;
import com.ost.micro.modules.sys.dao.SysRoleDao;
import com.ost.micro.modules.sys.domo.SysRoleDo;
import com.ost.micro.modules.sys.dto.SysRoleDTO;
import com.ost.micro.modules.sys.entity.SysRoleEntity;
import com.ost.micro.modules.sys.enums.SuperAdminEnum;
import com.ost.micro.modules.sys.service.*;
import com.ost.micro.util.Query;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -50,11 +49,21 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
@Override
public PageData<SysRoleDTO> page(Map<String, Object> params) {
IPage<SysRoleEntity> page = baseDao.selectPage(
/*IPage<SysRoleEntity> page = baseDao.selectPage(
getPage(params, Constant.CREATE_DATE, false),
getWrapper(params)
);
);*/
Query pageParams = new Query(params);
params.put("offset",pageParams.get("offset"));
params.put("currPage",pageParams.get("page"));
params.put("limit",pageParams.getLimit());
Page<SysRoleDo> page = new Page<SysRoleDo>();
List<SysRoleDo> dataList = this.baseDao.queryPage(params);
Integer count = this.baseDao.queryPageTotalCount(params);
page.setRecords(dataList);
page.setTotal(count);
page.setCurrent((int)params.get("currPage"));
//return page;
return getPageData(page, SysRoleDTO.class);
}
......@@ -67,6 +76,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
private QueryWrapper<SysRoleEntity> getWrapper(Map<String, Object> params){
String name = (String)params.get("name");
String deptId = (String)params.get("deptId");
QueryWrapper<SysRoleEntity> wrapper = new QueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(name), "name", name);
......@@ -77,7 +87,9 @@ public class SysRoleServiceImpl extends BaseServiceImpl<SysRoleDao, SysRoleEntit
List<String> deptIdList = sysDeptService.getSubDeptIdList(user.getDeptId());
wrapper.in(deptIdList != null, "dept_id", deptIdList);
}
if (org.apache.commons.lang.StringUtils.isNotEmpty(deptId)) {
wrapper.eq("dept_id", deptId);
}
return wrapper;
}
......
......@@ -10,6 +10,8 @@ package com.ost.micro.modules.sys.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ost.micro.common.constant.Constant;
import com.ost.micro.common.exception.ErrorCode;
import com.ost.micro.common.exception.RenException;
import com.ost.micro.common.page.PageData;
import com.ost.micro.common.service.impl.BaseServiceImpl;
import com.ost.micro.common.utils.ConvertUtils;
......@@ -18,6 +20,7 @@ import com.ost.micro.modules.security.user.SecurityUser;
import com.ost.micro.modules.security.user.UserDetail;
import com.ost.micro.modules.sys.dao.SysUserDao;
import com.ost.micro.modules.sys.dto.SysUserDTO;
import com.ost.micro.modules.sys.dto.SysUserExtDTO;
import com.ost.micro.modules.sys.entity.SysUserEntity;
import com.ost.micro.modules.sys.enums.SuperAdminEnum;
import com.ost.micro.modules.sys.service.SysDeptService;
......@@ -25,6 +28,7 @@ import com.ost.micro.modules.sys.service.SysRoleUserService;
import com.ost.micro.modules.sys.service.SysUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -85,9 +89,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
}
@Override
public SysUserDTO getByUsername(Map<String, Object> params) {
public SysUserExtDTO getByUsername(Map<String, Object> params) {
SysUserEntity entity = baseDao.getByUsername(params);
return ConvertUtils.sourceToTarget(entity, SysUserDTO.class);
return ConvertUtils.sourceToTarget(entity, SysUserExtDTO.class);
}
@Override
......@@ -101,7 +105,11 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
//保存用户
entity.setSuperAdmin(SuperAdminEnum.NO.value());
try {
insert(entity);
}catch (DuplicateKeyException e){
throw new RenException("用户名重复", ErrorCode.DATA_DUPLICATION);
}
//保存角色用户关系
sysRoleUserService.saveOrUpdate(entity.getId(), dto.getRoleIdList());
......
......@@ -50,7 +50,7 @@ public class RenExceptionHandler {
public Result handleRenException(RenException ex){
Result result = new Result();
result.error(ex.getCode(), ex.getMsg());
saveLog(ex);
return result;
}
......
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有,侵权必究!
*/
package com.ost.micro.util;
import org.apache.commons.lang.StringUtils;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 查询参数
*
* @author Mark sunlightcs@gmail.com
*/
public class Query extends LinkedHashMap<String, Object> {
private static final long serialVersionUID = 1L;
//当前页码
private int page;
//每页条数
private int limit;
public Query(Map<String, Object> params){
this.putAll(params);
if (null == params.get("page") || null == params.get("limit")) {
this.put("offset", null);
this.put("page", null);
this.put("limit", null);
}else {
//分页参数
this.page = Integer.parseInt(null == params.get("page") ? "1" : params.get("page").toString());
this.limit = Integer.parseInt(null == params.get("limit") ? "10" : params.get("limit").toString());
this.put("offset", (page - 1) * limit);
this.put("page", page);
this.put("limit", limit);
}
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
}
......@@ -9,7 +9,7 @@ server:
spring:
datasource:
druid:
url: jdbc:mysql://172.30.10.113:3306/micro-security?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://172.30.10.213:3306/micro-security?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
......@@ -24,17 +24,16 @@ spring:
zuul:
routes:
ignoredPatterns: /actuator/health
api-1:
backstage:
path: /api/**
serviceId: micro-project-as-pay-operation
stripPrefix: false
api-2:
stripPrefix: true
backmch:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
stripPrefix: true
payfake:
path: /pay/searchorder/**
#serviceId: micro-project-scheduler-pay-fake
url: http://172.30.10.44:6032
stripPrefix: true
\ No newline at end of file
......@@ -32,4 +32,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -9,7 +9,7 @@ server:
spring:
datasource:
druid:
url: jdbc:mysql://172.30.10.114:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://172.30.10.196:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
......@@ -31,4 +31,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -31,4 +31,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -10,11 +10,6 @@ server:
spring:
datasource:
druid:
#MySQL
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://172.30.10.113:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
initial-size: 10
max-active: 100
min-idle: 10
......@@ -70,41 +65,3 @@ mybatis-plus:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
#mybatis-plus:
# mapper-locations: classpath*:mapper/**/*.xml
# #实体扫描,多个package用逗号或者分号分隔
# typeAliasesPackage: com.ost.micro.entity
# global-config:
# #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
# id-type: 2
# #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
# field-strategy: 1
# #驼峰下划线转换
# db-column-underline: true
# #刷新mapper 调试神器
# #refresh-mapper: true
# #数据库大写下划线转换
# #capital-mode: true
# #序列接口实现类配置
# #key-generator: com.baomidou.springboot.xxx
# #逻辑删除配置
# logic-delete-value: -1
# logic-not-delete-value: 0
# #自定义填充策略接口实现
# #meta-object-handler: com.baomidou.springboot.xxx
# #自定义SQL注入器
# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
# configuration:
# map-underscore-to-camel-case: true
# cache-enabled: false
# call-setters-on-nulls: true
#
#pagehelper:
# reasonable: true
# supportMethodsArguments: true
# params: count=countSql
#指定数据库,可选值有【mysql、oracle、sqlserver、postgresql】
micro:
database: mysql
......@@ -5,5 +5,5 @@ spring:
name: micro-project.context.micro-security
cloud:
consul:
host: 172.30.10.113
host: 172.30.10.213
port: 8500
\ No newline at end of file
......@@ -29,4 +29,12 @@
select id from sys_dept where pids like #{id}
</select>
<update id="updateByCondition">
update sys_dept set status = #{status}
<if test="null != remark and '' != remark">
,remark = #{remark}
</if>
where biz_id = #{bizId}
</update>
</mapper>
\ No newline at end of file
......@@ -3,5 +3,34 @@
<mapper namespace="com.ost.micro.modules.sys.dao.SysRoleDao">
<select id="queryPage" parameterType="map" resultType="com.ost.micro.modules.sys.domo.SysRoleDo" >
SELECT a.*,b.`name` as dept_name FROM sys_role a
LEFT JOIN sys_dept b on a.dept_id = b.id
<where>
<if test="'' != params.name and null != params.name">
and a.name = #{params.name}
</if>
<if test="'' != params.deptName and null != params.deptName">
and b.name = #{params.deptName}
</if>
</where>
<if test="null != params.offset and null != params.limit">
limit #{params.offset},#{params.limit}
</if>
</select>
<select id="queryPageTotalCount" parameterType="map" resultType="java.lang.Integer" >
SELECT count(1) FROM sys_role a
LEFT JOIN sys_dept b on a.dept_id = b.id
<where>
<if test="'' != params.name and null != params.name">
and a.name = #{params.name}
</if>
<if test="'' != params.deptName and null != params.deptName">
and b.name = #{params.deptName}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -22,9 +22,9 @@
where t1.id = #{value}
</select>
<select id="getByUsername" resultType="com.ost.micro.modules.sys.entity.SysUserEntity">
<select id="getByUsername" parameterType="map" resultType="com.ost.micro.modules.sys.domo.SysUserDo">
<!--select * from sys_user where username = #{value}-->
select a.* from sys_user a left join sys_dept b on a.dept_id = b.id
select a.*,b.biz_id,b.biz_status from sys_user a left join sys_dept b on a.dept_id = b.id
<where>
<if test="null !=username and '' !=username">
and a.username = #{username}
......
......@@ -9,7 +9,7 @@ server:
spring:
datasource:
druid:
url: jdbc:mysql://172.30.10.113:3306/micro-security?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://172.30.10.213:3306/micro-security?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
......@@ -24,17 +24,16 @@ spring:
zuul:
routes:
ignoredPatterns: /actuator/health
api-1:
backstage:
path: /api/**
serviceId: micro-project-as-pay-operation
stripPrefix: false
api-2:
stripPrefix: true
backmch:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
stripPrefix: true
payfake:
path: /pay/searchorder/**
#serviceId: micro-project-scheduler-pay-fake
url: http://172.30.10.44:6032
stripPrefix: true
\ No newline at end of file
......@@ -32,4 +32,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -9,7 +9,7 @@ server:
spring:
datasource:
druid:
url: jdbc:mysql://172.30.10.114:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
url: jdbc:mysql://172.30.10.196:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
......@@ -31,4 +31,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -31,4 +31,8 @@ zuul:
path: /mch/**
serviceId: micro-project-as-pay-merchant
stripPrefix: false
api-3:
path: /pay/searchorder/**
serviceId: micro-project-scheduler-pay-fake
stripPrefix: true
......@@ -10,11 +10,6 @@ server:
spring:
datasource:
druid:
#MySQL
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://172.30.10.113:3306/micro-auth?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
password: dbclean&1st->$
initial-size: 10
max-active: 100
min-idle: 10
......@@ -70,41 +65,3 @@ mybatis-plus:
map-underscore-to-camel-case: true
cache-enabled: false
call-setters-on-nulls: true
#mybatis-plus:
# mapper-locations: classpath*:mapper/**/*.xml
# #实体扫描,多个package用逗号或者分号分隔
# typeAliasesPackage: com.ost.micro.entity
# global-config:
# #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
# id-type: 2
# #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
# field-strategy: 1
# #驼峰下划线转换
# db-column-underline: true
# #刷新mapper 调试神器
# #refresh-mapper: true
# #数据库大写下划线转换
# #capital-mode: true
# #序列接口实现类配置
# #key-generator: com.baomidou.springboot.xxx
# #逻辑删除配置
# logic-delete-value: -1
# logic-not-delete-value: 0
# #自定义填充策略接口实现
# #meta-object-handler: com.baomidou.springboot.xxx
# #自定义SQL注入器
# sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
# configuration:
# map-underscore-to-camel-case: true
# cache-enabled: false
# call-setters-on-nulls: true
#
#pagehelper:
# reasonable: true
# supportMethodsArguments: true
# params: count=countSql
#指定数据库,可选值有【mysql、oracle、sqlserver、postgresql】
micro:
database: mysql
......@@ -5,5 +5,5 @@ spring:
name: micro-project.context.micro-security
cloud:
consul:
host: 172.30.10.113
host: 172.30.10.213
port: 8500
\ No newline at end of file
......@@ -29,4 +29,12 @@
select id from sys_dept where pids like #{id}
</select>
<update id="updateByCondition">
update sys_dept set status = #{status}
<if test="null != remark and '' != remark">
,remark = #{remark}
</if>
where biz_id = #{bizId}
</update>
</mapper>
\ No newline at end of file
......@@ -3,5 +3,34 @@
<mapper namespace="com.ost.micro.modules.sys.dao.SysRoleDao">
<select id="queryPage" parameterType="map" resultType="com.ost.micro.modules.sys.domo.SysRoleDo" >
SELECT a.*,b.`name` as dept_name FROM sys_role a
LEFT JOIN sys_dept b on a.dept_id = b.id
<where>
<if test="'' != params.name and null != params.name">
and a.name = #{params.name}
</if>
<if test="'' != params.deptName and null != params.deptName">
and b.name = #{params.deptName}
</if>
</where>
<if test="null != params.offset and null != params.limit">
limit #{params.offset},#{params.limit}
</if>
</select>
<select id="queryPageTotalCount" parameterType="map" resultType="java.lang.Integer" >
SELECT count(1) FROM sys_role a
LEFT JOIN sys_dept b on a.dept_id = b.id
<where>
<if test="'' != params.name and null != params.name">
and a.name = #{params.name}
</if>
<if test="'' != params.deptName and null != params.deptName">
and b.name = #{params.deptName}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -22,9 +22,9 @@
where t1.id = #{value}
</select>
<select id="getByUsername" resultType="com.ost.micro.modules.sys.entity.SysUserEntity">
<select id="getByUsername" parameterType="map" resultType="com.ost.micro.modules.sys.domo.SysUserDo">
<!--select * from sys_user where username = #{value}-->
select a.* from sys_user a left join sys_dept b on a.dept_id = b.id
select a.*,b.biz_id,b.biz_status from sys_user a left join sys_dept b on a.dept_id = b.id
<where>
<if test="null !=username and '' !=username">
and a.username = #{username}
......
......@@ -14,6 +14,7 @@ com\ost\micro\modules\security\oauth2\Oauth2Filter.class
com\ost\micro\securitycommon\utils\ExcelUtils.class
com\ost\micro\modules\sys\dto\SysUserDTO.class
com\ost\micro\securitycommon\validator\group\QcloudGroup.class
com\ost\micro\modules\sys\domo\SysRoleDo.class
com\ost\micro\modules\sys\entity\SysMenuEntity.class
com\ost\micro\modules\sys\enums\MenuTypeEnum.class
com\ost\micro\modules\security\entity\SysUserTokenEntity.class
......@@ -58,6 +59,7 @@ com\ost\micro\modules\sys\service\SysRoleUserService.class
com\ost\micro\modules\sys\service\impl\SysParamsServiceImpl.class
com\ost\micro\modules\sys\service\SysUserService.class
com\ost\micro\modules\sys\service\SysRoleMenuService.class
com\ost\micro\filter\UrlFilter.class
com\ost\micro\modules\sys\service\impl\SysLanguageServiceImpl.class
com\ost\micro\modules\log\service\SysLogErrorService.class
com\ost\micro\modules\sys\entity\SysRoleDataScopeEntity.class
......@@ -77,6 +79,7 @@ com\ost\micro\modules\security\config\FilterConfig.class
com\ost\micro\securitycommon\exception\RenExceptionHandler.class
com\ost\micro\modules\sys\service\SysDictService.class
com\ost\micro\modules\sys\entity\SysRoleUserEntity.class
com\ost\micro\modules\sys\dto\SysDeptBizDTO.class
com\ost\micro\modules\log\dto\SysLogLoginDTO.class
com\ost\micro\securitycommon\handler\FieldMetaObjectHandler.class
com\ost\micro\securitycommon\validator\group\LocalGroup.class
......@@ -90,12 +93,14 @@ com\ost\micro\modules\sys\dto\SysDictDTO.class
com\ost\micro\modules\sys\entity\SysLanguageEntity.class
com\ost\micro\modules\log\entity\SysLogOperationEntity.class
com\ost\micro\modules\sys\dao\SysMenuDao.class
com\ost\micro\util\Query.class
com\ost\micro\modules\sys\service\SysDeptService.class
com\ost\micro\modules\sys\service\SysRoleService.class
com\ost\micro\modules\security\service\impl\ShiroServiceImpl.class
com\ost\micro\modules\log\controller\SysLogOperationController.class
com\ost\micro\modules\security\password\BCryptPasswordEncoder.class
com\ost\micro\modules\log\enums\LoginOperationEnum.class
com\ost\micro\modules\sys\dto\SysUserExtDTO.class
com\ost\micro\modules\sys\dao\SysRoleDataScopeDao.class
com\ost\micro\modules\sys\excel\SysParamsExcel.class
com\ost\micro\modules\sys\service\impl\SysDictServiceImpl.class
......@@ -111,6 +116,7 @@ com\ost\micro\modules\sys\controller\SysDeptController.class
com\ost\micro\securitycommon\validator\group\AliyunGroup.class
com\ost\micro\modules\log\service\SysLogLoginService.class
com\ost\micro\modules\log\enums\LoginStatusEnum.class
com\ost\micro\modules\sys\domo\SysUserDo.class
com\ost\micro\modules\log\dao\SysLogErrorDao.class
com\ost\micro\modules\log\dao\SysLogOperationDao.class
com\ost\micro\modules\security\password\PasswordUtils.class
......
......@@ -19,6 +19,7 @@ F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micr
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\service\impl\SysDictServiceImpl.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\log\dto\SysLogOperationDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\security\controller\LoginController.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\filter\UrlFilter.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\entity\SysMenuEntity.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\securitycommon\aspect\LogOperationAspect.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dao\SysLanguageDao.java
......@@ -40,11 +41,15 @@ F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micr
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\security\config\CorsConfig.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\securitycommon\validator\group\FastDFSGroup.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\log\excel\SysLogErrorExcel.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dto\SysUserExtDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dto\SysMenuDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\util\Query.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\log\dto\SysLogErrorDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\securitycommon\interceptor\DataScope.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\service\impl\SysLanguageServiceImpl.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\domo\SysRoleDo.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\excel\SysParamsExcel.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dto\SysDeptBizDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dao\SysUserDao.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\log\service\SysLogLoginService.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\security\user\SecurityUser.java
......@@ -121,6 +126,7 @@ F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micr
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\service\SysDictService.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\log\service\impl\SysLogLoginServiceImpl.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dao\SysRoleDao.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\domo\SysUserDo.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\securitycommon\validator\group\AliyunGroup.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\modules\sys\dto\SysRoleDTO.java
F:\workspace\ideal_workspace\payment\micro-root\micro-project\micro-context\micro-security\src\main\java\com\ost\micro\config\SecurityWebMvcConfigurer.java
......
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