Commit 2005c63c by giaogiao

改造商户权限, 角色-权限 改为 用户-权限

parent 593d7d1a
package com.jumeirah.api.merchant.controller; //package com.jumeirah.api.merchant.controller;
//
import com.jumeirah.common.entity.MerchantPermission; //import com.jumeirah.common.entity.MerchantPermission;
import com.jumeirah.common.param.MerchantPermissionPageParam; //import com.jumeirah.common.param.MerchantPermissionPageParam;
import com.jumeirah.common.service.MerchantPermissionService; //import com.jumeirah.common.service.MerchantPermissionService;
import com.jumeirah.common.vo.MerchantPermissionQueryVo; //import com.jumeirah.common.vo.MerchantPermissionQueryVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult; //import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController; //import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.core.pagination.Paging; //import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.core.validator.groups.Add; //import io.geekidea.springbootplus.framework.core.validator.groups.Add;
import io.geekidea.springbootplus.framework.core.validator.groups.Update; //import io.geekidea.springbootplus.framework.core.validator.groups.Update;
import io.geekidea.springbootplus.framework.log.annotation.Module; //import io.geekidea.springbootplus.framework.log.annotation.Module;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog; //import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
import io.geekidea.springbootplus.framework.log.enums.OperationLogType; //import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; //import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; //import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; //import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; //import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
/** ///**
* 商家权限 控制器 // * 商家权限 控制器
* // *
* @author wei // * @author wei
* @since 2020-09-27 // * @since 2020-09-27
*/ // */
@Slf4j //@Slf4j
@RestController //@RestController
@RequestMapping("/merchant/permission") //@RequestMapping("/merchant/permission")
@Module("${cfg.module}") //@Module("${cfg.module}")
@Api(value = "商家权限API", tags = {"商家权限"}) //@Api(value = "商家权限API", tags = {"商家权限"})
public class MerchantPermissionController extends BaseController { //public class MerchantPermissionController extends BaseController {
//
@Autowired // @Autowired
private MerchantPermissionService merchantPermissionService; // private MerchantPermissionService merchantPermissionService;
//
/** // /**
* 添加商家权限 // * 添加商家权限
*/ // */
@PostMapping("/add") // @PostMapping("/add")
@OperationLog(name = "添加商家权限", type = OperationLogType.ADD) // @OperationLog(name = "添加商家权限", type = OperationLogType.ADD)
@ApiOperation(value = "添加商家权限", response = ApiResult.class) // @ApiOperation(value = "添加商家权限", response = ApiResult.class)
public ApiResult<Boolean> addMerchantPermission(@Validated(Add.class) @RequestBody MerchantPermission merchantPermission) throws Exception { // public ApiResult<Boolean> addMerchantPermission(@Validated(Add.class) @RequestBody MerchantPermission merchantPermission) throws Exception {
boolean flag = merchantPermissionService.saveMerchantPermission(merchantPermission); // boolean flag = merchantPermissionService.saveMerchantPermission(merchantPermission);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 修改商家权限 // * 修改商家权限
*/ // */
@PostMapping("/update") // @PostMapping("/update")
@OperationLog(name = "修改商家权限", type = OperationLogType.UPDATE) // @OperationLog(name = "修改商家权限", type = OperationLogType.UPDATE)
@ApiOperation(value = "修改商家权限", response = ApiResult.class) // @ApiOperation(value = "修改商家权限", response = ApiResult.class)
public ApiResult<Boolean> updateMerchantPermission(@Validated(Update.class) @RequestBody MerchantPermission merchantPermission) throws Exception { // public ApiResult<Boolean> updateMerchantPermission(@Validated(Update.class) @RequestBody MerchantPermission merchantPermission) throws Exception {
boolean flag = merchantPermissionService.updateMerchantPermission(merchantPermission); // boolean flag = merchantPermissionService.updateMerchantPermission(merchantPermission);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 删除商家权限 // * 删除商家权限
*/ // */
@PostMapping("/delete/{id}") // @PostMapping("/delete/{id}")
@OperationLog(name = "删除商家权限", type = OperationLogType.DELETE) // @OperationLog(name = "删除商家权限", type = OperationLogType.DELETE)
@ApiOperation(value = "删除商家权限", response = ApiResult.class) // @ApiOperation(value = "删除商家权限", response = ApiResult.class)
public ApiResult<Boolean> deleteMerchantPermission(@PathVariable("id") Long id) throws Exception { // public ApiResult<Boolean> deleteMerchantPermission(@PathVariable("id") Long id) throws Exception {
boolean flag = merchantPermissionService.deleteMerchantPermission(id); // boolean flag = merchantPermissionService.deleteMerchantPermission(id);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 获取商家权限详情 // * 获取商家权限详情
*/ // */
@GetMapping("/info/{id}") // @GetMapping("/info/{id}")
@OperationLog(name = "商家权限详情", type = OperationLogType.INFO) // @OperationLog(name = "商家权限详情", type = OperationLogType.INFO)
@ApiOperation(value = "商家权限详情", response = MerchantPermissionQueryVo.class) // @ApiOperation(value = "商家权限详情", response = MerchantPermissionQueryVo.class)
public ApiResult<MerchantPermissionQueryVo> getMerchantPermission(@PathVariable("id") Long id) throws Exception { // public ApiResult<MerchantPermissionQueryVo> getMerchantPermission(@PathVariable("id") Long id) throws Exception {
MerchantPermissionQueryVo merchantPermissionQueryVo = merchantPermissionService.getMerchantPermissionById(id); // MerchantPermissionQueryVo merchantPermissionQueryVo = merchantPermissionService.getMerchantPermissionById(id);
return ApiResult.ok(merchantPermissionQueryVo); // return ApiResult.ok(merchantPermissionQueryVo);
} // }
//
/** // /**
* 商家权限分页列表 // * 商家权限分页列表
*/ // */
@PostMapping("/getPageList") // @PostMapping("/getPageList")
@OperationLog(name = "商家权限分页列表", type = OperationLogType.PAGE) // @OperationLog(name = "商家权限分页列表", type = OperationLogType.PAGE)
@ApiOperation(value = "商家权限分页列表", response = MerchantPermissionQueryVo.class) // @ApiOperation(value = "商家权限分页列表", response = MerchantPermissionQueryVo.class)
public ApiResult<Paging<MerchantPermissionQueryVo>> getMerchantPermissionPageList(@Validated @RequestBody MerchantPermissionPageParam merchantPermissionPageParam) throws Exception { // public ApiResult<Paging<MerchantPermissionQueryVo>> getMerchantPermissionPageList(@Validated @RequestBody MerchantPermissionPageParam merchantPermissionPageParam) throws Exception {
Paging<MerchantPermissionQueryVo> paging = merchantPermissionService.getMerchantPermissionPageList(merchantPermissionPageParam); // Paging<MerchantPermissionQueryVo> paging = merchantPermissionService.getMerchantPermissionPageList(merchantPermissionPageParam);
return ApiResult.ok(paging); // return ApiResult.ok(paging);
} // }
//
} //}
//
package com.jumeirah.api.merchant.controller; //package com.jumeirah.api.merchant.controller;
//
import com.jumeirah.common.entity.MerchantRole; //import com.jumeirah.common.entity.MerchantRole;
import com.jumeirah.common.param.MerchantRolePageParam; //import com.jumeirah.common.param.MerchantRolePageParam;
import com.jumeirah.common.service.MerchantRoleService; //import com.jumeirah.common.service.MerchantRoleService;
import com.jumeirah.common.vo.MerchantRoleQueryVo; //import com.jumeirah.common.vo.MerchantRoleQueryVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult; //import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController; //import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.core.pagination.Paging; //import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.core.validator.groups.Add; //import io.geekidea.springbootplus.framework.core.validator.groups.Add;
import io.geekidea.springbootplus.framework.core.validator.groups.Update; //import io.geekidea.springbootplus.framework.core.validator.groups.Update;
import io.geekidea.springbootplus.framework.log.annotation.Module; //import io.geekidea.springbootplus.framework.log.annotation.Module;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog; //import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
import io.geekidea.springbootplus.framework.log.enums.OperationLogType; //import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; //import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; //import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; //import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; //import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
/** ///**
* 商家角色 控制器 // * 商家角色 控制器
* // *
* @author wei // * @author wei
* @since 2020-09-27 // * @since 2020-09-27
*/ // */
@Slf4j //@Slf4j
@RestController //@RestController
@RequestMapping("/merchant/role") //@RequestMapping("/merchant/role")
@Module("${cfg.module}") //@Module("${cfg.module}")
@Api(value = "商家角色API", tags = {"商家角色"}) //@Api(value = "商家角色API", tags = {"商家角色"})
public class MerchantRoleController extends BaseController { //public class MerchantRoleController extends BaseController {
//
@Autowired // @Autowired
private MerchantRoleService merchantRoleService; // private MerchantRoleService merchantRoleService;
//
/** // /**
* 添加商家角色 // * 添加商家角色
*/ // */
@PostMapping("/add") // @PostMapping("/add")
@OperationLog(name = "添加商家角色", type = OperationLogType.ADD) // @OperationLog(name = "添加商家角色", type = OperationLogType.ADD)
@ApiOperation(value = "添加商家角色", response = ApiResult.class) // @ApiOperation(value = "添加商家角色", response = ApiResult.class)
public ApiResult<Boolean> addMerchantRole(@Validated(Add.class) @RequestBody MerchantRole merchantRole) throws Exception { // public ApiResult<Boolean> addMerchantRole(@Validated(Add.class) @RequestBody MerchantRole merchantRole) throws Exception {
boolean flag = merchantRoleService.saveMerchantRole(merchantRole); // boolean flag = merchantRoleService.saveMerchantRole(merchantRole);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 修改商家角色 // * 修改商家角色
*/ // */
@PostMapping("/update") // @PostMapping("/update")
@OperationLog(name = "修改商家角色", type = OperationLogType.UPDATE) // @OperationLog(name = "修改商家角色", type = OperationLogType.UPDATE)
@ApiOperation(value = "修改商家角色", response = ApiResult.class) // @ApiOperation(value = "修改商家角色", response = ApiResult.class)
public ApiResult<Boolean> updateMerchantRole(@Validated(Update.class) @RequestBody MerchantRole merchantRole) throws Exception { // public ApiResult<Boolean> updateMerchantRole(@Validated(Update.class) @RequestBody MerchantRole merchantRole) throws Exception {
boolean flag = merchantRoleService.updateMerchantRole(merchantRole); // boolean flag = merchantRoleService.updateMerchantRole(merchantRole);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 删除商家角色 // * 删除商家角色
*/ // */
@PostMapping("/delete/{id}") // @PostMapping("/delete/{id}")
@OperationLog(name = "删除商家角色", type = OperationLogType.DELETE) // @OperationLog(name = "删除商家角色", type = OperationLogType.DELETE)
@ApiOperation(value = "删除商家角色", response = ApiResult.class) // @ApiOperation(value = "删除商家角色", response = ApiResult.class)
public ApiResult<Boolean> deleteMerchantRole(@PathVariable("id") Long id) throws Exception { // public ApiResult<Boolean> deleteMerchantRole(@PathVariable("id") Long id) throws Exception {
boolean flag = merchantRoleService.deleteMerchantRole(id); // boolean flag = merchantRoleService.deleteMerchantRole(id);
return ApiResult.result(flag); // return ApiResult.result(flag);
} // }
//
/** // /**
* 获取商家角色详情 // * 获取商家角色详情
*/ // */
@GetMapping("/info/{id}") // @GetMapping("/info/{id}")
@OperationLog(name = "商家角色详情", type = OperationLogType.INFO) // @OperationLog(name = "商家角色详情", type = OperationLogType.INFO)
@ApiOperation(value = "商家角色详情", response = MerchantRoleQueryVo.class) // @ApiOperation(value = "商家角色详情", response = MerchantRoleQueryVo.class)
public ApiResult<MerchantRoleQueryVo> getMerchantRole(@PathVariable("id") Long id) throws Exception { // public ApiResult<MerchantRoleQueryVo> getMerchantRole(@PathVariable("id") Long id) throws Exception {
MerchantRoleQueryVo merchantRoleQueryVo = merchantRoleService.getMerchantRoleById(id); // MerchantRoleQueryVo merchantRoleQueryVo = merchantRoleService.getMerchantRoleById(id);
return ApiResult.ok(merchantRoleQueryVo); // return ApiResult.ok(merchantRoleQueryVo);
} // }
//
/** // /**
* 商家角色分页列表 // * 商家角色分页列表
*/ // */
@PostMapping("/getPageList") // @PostMapping("/getPageList")
@OperationLog(name = "商家角色分页列表", type = OperationLogType.PAGE) // @OperationLog(name = "商家角色分页列表", type = OperationLogType.PAGE)
@ApiOperation(value = "商家角色分页列表", response = MerchantRoleQueryVo.class) // @ApiOperation(value = "商家角色分页列表", response = MerchantRoleQueryVo.class)
public ApiResult<Paging<MerchantRoleQueryVo>> getMerchantRolePageList(@Validated @RequestBody MerchantRolePageParam merchantRolePageParam) throws Exception { // public ApiResult<Paging<MerchantRoleQueryVo>> getMerchantRolePageList(@Validated @RequestBody MerchantRolePageParam merchantRolePageParam) throws Exception {
Paging<MerchantRoleQueryVo> paging = merchantRoleService.getMerchantRolePageList(merchantRolePageParam); // Paging<MerchantRoleQueryVo> paging = merchantRoleService.getMerchantRolePageList(merchantRolePageParam);
return ApiResult.ok(paging); // return ApiResult.ok(paging);
} // }
//
} //}
//
package com.jumeirah.api.merchant.controller;
import com.jumeirah.common.entity.MerchantUserPermission;
import com.jumeirah.common.param.MerchantUserPermissionPageParam;
import com.jumeirah.common.param.MerchantUserPermissionQueryVo;
import com.jumeirah.common.service.MerchantUserPermissionService;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.core.validator.groups.Add;
import io.geekidea.springbootplus.framework.core.validator.groups.Update;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 商家用户权限关系 控制器
*
* @author giao
* @since 2020-10-19
*/
@Slf4j
@RestController
@RequestMapping("/merchant/merchantUserPermission")
@Api(value = "商家用户权限关系API", tags = {"商家用户权限关系"})
public class MerchantUserPermissionController extends BaseController {
@Autowired
private MerchantUserPermissionService merchantUserPermissionService;
/**
* 添加商家用户权限关系
*/
@PostMapping("/add")
@OperationLog(name = "添加商家用户权限关系", type = OperationLogType.ADD)
@ApiOperation(value = "添加商家用户权限关系")
public ApiResult<Boolean> addMerchantUserPermission(@Validated(Add.class) @RequestBody MerchantUserPermission merchantUserPermission) throws Exception {
boolean flag = merchantUserPermissionService.saveMerchantUserPermission(merchantUserPermission);
return ApiResult.result(flag);
}
/**
* 修改商家用户权限关系
*/
@PostMapping("/update")
@OperationLog(name = "修改商家用户权限关系", type = OperationLogType.UPDATE)
@ApiOperation(value = "修改商家用户权限关系")
public ApiResult<Boolean> updateMerchantUserPermission(@Validated(Update.class) @RequestBody MerchantUserPermission merchantUserPermission) throws Exception {
boolean flag = merchantUserPermissionService.updateMerchantUserPermission(merchantUserPermission);
return ApiResult.result(flag);
}
/**
* 删除商家用户权限关系
*/
@PostMapping("/delete/{id}")
@OperationLog(name = "删除商家用户权限关系", type = OperationLogType.DELETE)
@ApiOperation(value = "删除商家用户权限关系")
public ApiResult<Boolean> deleteMerchantUserPermission(@PathVariable("id") Long id) throws Exception {
boolean flag = merchantUserPermissionService.deleteMerchantUserPermission(id);
return ApiResult.result(flag);
}
/**
* 获取商家用户权限关系详情
*/
@GetMapping("/info/{id}")
@OperationLog(name = "商家用户权限关系详情", type = OperationLogType.INFO)
@ApiOperation(value = "商家用户权限关系详情")
public ApiResult<MerchantUserPermissionQueryVo> getMerchantUserPermission(@PathVariable("id") Long id) throws Exception {
MerchantUserPermissionQueryVo merchantUserPermissionQueryVo = merchantUserPermissionService.getMerchantUserPermissionById(id);
return ApiResult.ok(merchantUserPermissionQueryVo);
}
/**
* 商家用户权限关系分页列表
*/
@PostMapping("/getPageList")
@OperationLog(name = "商家用户权限关系分页列表", type = OperationLogType.PAGE)
@ApiOperation(value = "商家用户权限关系分页列表")
public ApiResult<Paging<MerchantUserPermissionQueryVo>> getMerchantUserPermissionPageList(@Validated @RequestBody MerchantUserPermissionPageParam merchantUserPermissionPageParam) throws Exception {
Paging<MerchantUserPermissionQueryVo> paging = merchantUserPermissionService.getMerchantUserPermissionPageList(merchantUserPermissionPageParam);
return ApiResult.ok(paging);
}
}
package com.jumeirah.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import io.geekidea.springbootplus.framework.common.entity.BaseEntity;
import io.geekidea.springbootplus.framework.core.validator.groups.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 商家用户权限关系
*
* @author giao
* @since 2020-10-19
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MerchantUserPermission对象")
public class MerchantUserPermission extends BaseEntity {
private static final long serialVersionUID = 1L;
@NotNull(message = "id不能为空", groups = {Update.class})
@ApiModelProperty("主键")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@NotNull(message = "用户id不能为空")
@ApiModelProperty("用户id")
private Long userId;
@NotNull(message = "权限id不能为空")
@ApiModelProperty("权限id")
private Long permissionId;
@ApiModelProperty("状态,0:禁用,1:启用")
private Integer state;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("职位名称")
private String positionName;
@ApiModelProperty("版本")
@Version
private Integer version;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
}
package com.jumeirah.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jumeirah.common.entity.MerchantUserPermission;
import com.jumeirah.common.param.MerchantUserPermissionPageParam;
import com.jumeirah.common.param.MerchantUserPermissionQueryVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.io.Serializable;
import java.util.Set;
/**
* 商家用户权限关系 Mapper 接口
*
* @author giao
* @since 2020-10-19
*/
@Repository
public interface MerchantUserPermissionMapper extends BaseMapper<MerchantUserPermission> {
/**
* 根据角色id获取可用的权限编码
*
* @param userId
* @return
*/
Set<String> getPermissionCodesByUserId(@Param("userId") Long userId);
/**
* 根据ID获取查询对象
*
* @param id
* @return
*/
MerchantUserPermissionQueryVo getMerchantUserPermissionById(Serializable id);
/**
* 获取分页对象
*
* @param page
* @param merchantUserPermissionPageParam
* @return
*/
IPage<MerchantUserPermissionQueryVo> getMerchantUserPermissionPageList(@Param("page") Page page, @Param("param") MerchantUserPermissionPageParam merchantUserPermissionPageParam);
}
package com.jumeirah.common.param;
import io.geekidea.springbootplus.framework.core.pagination.BasePageOrderParam;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <pre>
* 商家用户权限关系 分页参数对象
* </pre>
*
* @author giao
* @date 2020-10-19
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "商家用户权限关系分页参数")
public class MerchantUserPermissionPageParam extends BasePageOrderParam {
private static final long serialVersionUID = 1L;
}
package com.jumeirah.common.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <pre>
* 商家用户权限关系 查询结果对象
* </pre>
*
* @author giao
* @date 2020-10-19
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "MerchantUserPermissionQueryVo对象")
public class MerchantUserPermissionQueryVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("权限id")
private Long permissionId;
@ApiModelProperty("状态,0:禁用,1:启用")
private Integer state;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("职位名称")
private String positionName;
@ApiModelProperty("版本")
private Integer version;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("修改时间")
private Date updateTime;
}
\ No newline at end of file
package com.jumeirah.common.service;
import com.jumeirah.common.entity.MerchantUserPermission;
import com.jumeirah.common.param.MerchantUserPermissionPageParam;
import com.jumeirah.common.param.MerchantUserPermissionQueryVo;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import java.util.Set;
/**
* 商家用户权限关系 服务类
*
* @author giao
* @since 2020-10-19
*/
public interface MerchantUserPermissionService extends BaseService<MerchantUserPermission> {
/**
* 根据角色id获取可用的权限编码
*
* @param userId
* @return
* @throws Exception
*/
Set<String> getPermissionCodesByUserId(Long userId) throws Exception;
/**
* 保存
*
* @param merchantUserPermission
* @return
* @throws Exception
*/
boolean saveMerchantUserPermission(MerchantUserPermission merchantUserPermission) throws Exception;
/**
* 修改
*
* @param merchantUserPermission
* @return
* @throws Exception
*/
boolean updateMerchantUserPermission(MerchantUserPermission merchantUserPermission) throws Exception;
/**
* 删除
*
* @param id
* @return
* @throws Exception
*/
boolean deleteMerchantUserPermission(Long id) throws Exception;
/**
* 根据ID获取查询对象
*
* @param id
* @return
* @throws Exception
*/
MerchantUserPermissionQueryVo getMerchantUserPermissionById(Long id) throws Exception;
/**
* 获取分页对象
*
* @param merchantUserPermissionPageParam
* @return
* @throws Exception
*/
Paging<MerchantUserPermissionQueryVo> getMerchantUserPermissionPageList(MerchantUserPermissionPageParam merchantUserPermissionPageParam) throws Exception;
}
...@@ -2,7 +2,6 @@ package com.jumeirah.common.service; ...@@ -2,7 +2,6 @@ package com.jumeirah.common.service;
import com.jumeirah.common.entity.MerchantUser; import com.jumeirah.common.entity.MerchantUser;
import com.jumeirah.common.param.MerchantLoginParam; import com.jumeirah.common.param.MerchantLoginParam;
import com.jumeirah.common.param.MerchantRegisterParam;
import com.jumeirah.common.param.MerchantUserPageParam; import com.jumeirah.common.param.MerchantUserPageParam;
import com.jumeirah.common.vo.LoginMerUserTokenVo; import com.jumeirah.common.vo.LoginMerUserTokenVo;
import com.jumeirah.common.vo.MerchantUserQueryVo; import com.jumeirah.common.vo.MerchantUserQueryVo;
...@@ -37,7 +36,7 @@ public interface MerchantUserService extends BaseService<MerchantUser> { ...@@ -37,7 +36,7 @@ public interface MerchantUserService extends BaseService<MerchantUser> {
ApiResult<LoginMerUserTokenVo> login(MerchantLoginParam merchantLoginParam) throws Exception; ApiResult<LoginMerUserTokenVo> login(MerchantLoginParam merchantLoginParam) throws Exception;
ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterParam) throws Exception; // ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterParam) throws Exception;
/** /**
......
package com.jumeirah.common.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jumeirah.common.entity.MerchantUserPermission;
import com.jumeirah.common.mapper.MerchantUserPermissionMapper;
import com.jumeirah.common.param.MerchantUserPermissionPageParam;
import com.jumeirah.common.param.MerchantUserPermissionQueryVo;
import com.jumeirah.common.service.MerchantUserPermissionService;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.Paging;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Set;
/**
* 商家用户权限关系 服务实现类
*
* @author giao
* @since 2020-10-19
*/
@Slf4j
@Service
public class MerchantUserPermissionServiceImpl extends BaseServiceImpl<MerchantUserPermissionMapper, MerchantUserPermission> implements MerchantUserPermissionService {
@Autowired
private MerchantUserPermissionMapper merchantUserPermissionMapper;
@Override
public Set<String> getPermissionCodesByUserId(Long userId) throws Exception {
return merchantUserPermissionMapper.getPermissionCodesByUserId(userId);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean saveMerchantUserPermission(MerchantUserPermission merchantUserPermission) throws Exception {
return super.save(merchantUserPermission);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean updateMerchantUserPermission(MerchantUserPermission merchantUserPermission) throws Exception {
return super.updateById(merchantUserPermission);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean deleteMerchantUserPermission(Long id) throws Exception {
return super.removeById(id);
}
@Override
public MerchantUserPermissionQueryVo getMerchantUserPermissionById(Long id) throws Exception {
return merchantUserPermissionMapper.getMerchantUserPermissionById(id);
}
@Override
public Paging<MerchantUserPermissionQueryVo> getMerchantUserPermissionPageList(MerchantUserPermissionPageParam merchantUserPermissionPageParam) throws Exception {
Page<MerchantUserPermissionQueryVo> page = new PageInfo<>(merchantUserPermissionPageParam, OrderItem.desc(getLambdaColumn(MerchantUserPermission::getCreateTime)));
IPage<MerchantUserPermissionQueryVo> iPage = merchantUserPermissionMapper.getMerchantUserPermissionPageList(page, merchantUserPermissionPageParam);
return new Paging<MerchantUserPermissionQueryVo>(iPage);
}
}
...@@ -5,17 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,17 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jumeirah.common.convert.UserConvert; import com.jumeirah.common.convert.UserConvert;
import com.jumeirah.common.entity.Merchant;
import com.jumeirah.common.entity.MerchantRole;
import com.jumeirah.common.entity.MerchantUser; import com.jumeirah.common.entity.MerchantUser;
import com.jumeirah.common.enums.StateEnum; import com.jumeirah.common.enums.StateEnum;
import com.jumeirah.common.mapper.MerchantUserMapper; import com.jumeirah.common.mapper.MerchantUserMapper;
import com.jumeirah.common.param.MerchantLoginParam; import com.jumeirah.common.param.MerchantLoginParam;
import com.jumeirah.common.param.MerchantRegisterParam;
import com.jumeirah.common.param.MerchantUserPageParam; import com.jumeirah.common.param.MerchantUserPageParam;
import com.jumeirah.common.service.MerchantRolePermissionService; import com.jumeirah.common.service.MerchantUserPermissionService;
import com.jumeirah.common.service.MerchantRoleService;
import com.jumeirah.common.service.MerchantService;
import com.jumeirah.common.service.MerchantUserService; import com.jumeirah.common.service.MerchantUserService;
import com.jumeirah.common.vo.LoginMerUserTokenVo; import com.jumeirah.common.vo.LoginMerUserTokenVo;
import com.jumeirah.common.vo.MerchantUserQueryVo; import com.jumeirah.common.vo.MerchantUserQueryVo;
...@@ -35,12 +30,9 @@ import io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo; ...@@ -35,12 +30,9 @@ import io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo;
import io.geekidea.springbootplus.framework.util.PasswordUtil; import io.geekidea.springbootplus.framework.util.PasswordUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.Subject;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -61,31 +53,37 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -61,31 +53,37 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
@Autowired @Autowired
private SpringBootPlusProperties springBootPlusProperties; private SpringBootPlusProperties springBootPlusProperties;
@Lazy // @Lazy
@Autowired // @Autowired
private RedisTemplate redisTemplate; // private RedisTemplate redisTemplate;
@Lazy @Lazy
@Autowired @Autowired
private MerchantLoginRedisService merchantLoginRedisService; private MerchantLoginRedisService merchantLoginRedisService;
@Lazy // @Autowired
@Autowired // private MerchantPermissionService merchantPermissionService;
private JwtProperties jwtProperties;
@Autowired
private MerchantUserMapper merchantUserMapper;
@Autowired
private MerchantRoleService merchantRoleService;
@Autowired @Autowired
private MerchantService merchantService; private MerchantUserPermissionService merchantUserPermissionService;
@Lazy
@Autowired @Autowired
private MerchantSmsService merchantSmsService; private JwtProperties jwtProperties;
@Autowired @Autowired
private MerchantRolePermissionService merchantRolePermissionService; private MerchantUserMapper merchantUserMapper;
//
// @Autowired
// private MerchantRoleService merchantRoleService;
//
// @Autowired
// private MerchantService merchantService;
//
// @Autowired
// private MerchantSmsService merchantSmsService;
// @Autowired
// private MerchantRolePermissionService merchantRolePermissionService;
public MerchantUser getMerUserByUsername(String username) throws Exception { public MerchantUser getMerUserByUsername(String username) throws Exception {
MerchantUser sysUser = new MerchantUser().setUsername(username); MerchantUser sysUser = new MerchantUser().setUsername(username);
...@@ -121,21 +119,25 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -121,21 +119,25 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
// 将系统用户对象转换成登录用户对象 // 将系统用户对象转换成登录用户对象
LoginUserVo loginSysUserVo = UserConvert.INSTANCE.merchantUserToLoginSysUserVo(merchantUser); LoginUserVo loginSysUserVo = UserConvert.INSTANCE.merchantUserToLoginSysUserVo(merchantUser);
// 获取当前用户角色 // // 获取当前用户角色
Long roleId = merchantUser.getRoleId(); // Long roleId = merchantUser.getRoleId();
MerchantRole merchantRole = merchantRoleService.getById(roleId); // MerchantRole merchantRole = merchantRoleService.getById(roleId);
if (merchantRole == null) { // if (merchantRole == null) {
throw new AuthenticationException("角色不存在"); // throw new AuthenticationException("角色不存在");
} // }
if (StateEnum.DISABLE.getCode().equals(merchantRole.getState())) { // if (StateEnum.DISABLE.getCode().equals(merchantRole.getState())) {
throw new AuthenticationException("角色已禁用"); // throw new AuthenticationException("角色已禁用");
} // }
loginSysUserVo.setRoleId(merchantRole.getId()) // loginSysUserVo.setRoleId(merchantRole.getId())
.setRoleName(merchantRole.getName()) // .setRoleName(merchantRole.getName())
.setRoleCode(merchantRole.getCode()); // .setRoleCode(merchantRole.getCode());
// 获取当前用户权限
Set<String> permissionCodes = merchantRolePermissionService.getPermissionCodesByRoleId(roleId); // // 获取当前用户权限
// Set<String> permissionCodes = merchantRolePermissionService.getPermissionCodesByRoleId(roleId);
// loginSysUserVo.setPermissionCodes(permissionCodes);
Set<String> permissionCodes = merchantUserPermissionService.getPermissionCodesByUserId(merchantUser.getId());
loginSysUserVo.setPermissionCodes(permissionCodes); loginSysUserVo.setPermissionCodes(permissionCodes);
// 获取数据库中保存的盐值 // 获取数据库中保存的盐值
...@@ -175,37 +177,37 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -175,37 +177,37 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
return ApiResult.ok(loginSysUserTokenVo); return ApiResult.ok(loginSysUserTokenVo);
} }
@Override // @Override
public ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterPram) throws Exception { // public ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterPram) throws Exception {
//
// 校验验证码 // // 校验验证码
boolean equalsRegisterCode = merchantSmsService.equalsRegisterCode(merchantRegisterPram.getPhoneArea(), merchantRegisterPram.getPhone(), merchantRegisterPram.getSmsCode()); // boolean equalsRegisterCode = merchantSmsService.equalsRegisterCode(merchantRegisterPram.getPhoneArea(), merchantRegisterPram.getPhone(), merchantRegisterPram.getSmsCode());
if (!equalsRegisterCode) { // if (!equalsRegisterCode) {
return ApiResult.fail(ApiCode.SMS_CODE_ERROR); // return ApiResult.fail(ApiCode.SMS_CODE_ERROR);
} // }
// 删除已使用的验证码 // // 删除已使用的验证码
merchantSmsService.deleteRegisterCode(merchantRegisterPram.getPhoneArea(), merchantRegisterPram.getPhone()); // merchantSmsService.deleteRegisterCode(merchantRegisterPram.getPhoneArea(), merchantRegisterPram.getPhone());
// 判断是否已经注册 // // 判断是否已经注册
// if (appUserService.hasUserByPhoneNumer(loginParam.getPhoneArea(), loginParam.getPhone())) { //// if (appUserService.hasUserByPhoneNumer(loginParam.getPhoneArea(), loginParam.getPhone())) {
// // 如果已经注册直接走登陆的代码 //// // 如果已经注册直接走登陆的代码
// return appUserService.login(loginParam, language, true); //// return appUserService.login(loginParam, language, true);
// } //// }
//
// 没注册则先保存到数据库 // // 没注册则先保存到数据库
Merchant merchant = new Merchant(); // Merchant merchant = new Merchant();
BeanUtils.copyProperties(merchantRegisterPram, merchant); // BeanUtils.copyProperties(merchantRegisterPram, merchant);
merchant.setAuditRegisterStatus(0); // merchant.setAuditRegisterStatus(0);
merchant.setState(1); // merchant.setState(1);
boolean isDbOk = merchantService.saveMerchant(merchant); // boolean isDbOk = merchantService.saveMerchant(merchant);
if (!isDbOk) { // if (!isDbOk) {
return ApiResult.fail(ApiCode.SPRING_BOOT_PLUS_EXCEPTION); // return ApiResult.fail(ApiCode.SPRING_BOOT_PLUS_EXCEPTION);
} // }
//
// 创建一个该公司默认的管理员账号 // // 创建一个该公司默认的管理员账号
//
return ApiResult.ok(); // return ApiResult.ok();
} // }
//
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jumeirah.common.mapper.MerchantUserPermissionMapper">
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, user_id, permission_id, state, remark, position_name, version, create_time, update_time
</sql>
<select id="getPermissionCodesByUserId" resultType="java.lang.String">
SELECT
mp.CODE
FROM
merchant_user_permission mup
INNER JOIN merchant_permission mp ON mp.id = mup.permission_id
WHERE
mup.user_id = #{userId}
</select>
<select id="getMerchantUserPermissionById" resultType="com.jumeirah.common.param.MerchantUserPermissionQueryVo">
select
<include refid="Base_Column_List"/>
from merchant_user_permission where id = #{id}
</select>
<select id="getMerchantUserPermissionPageList"
parameterType="com.jumeirah.common.param.MerchantUserPermissionPageParam"
resultType="com.jumeirah.common.param.MerchantUserPermissionQueryVo">
select
<include refid="Base_Column_List"/>
from merchant_user_permission
</select>
</mapper>
...@@ -54,7 +54,7 @@ public interface MerchantLoginRedisService { ...@@ -54,7 +54,7 @@ public interface MerchantLoginRedisService {
* @param username * @param username
* @return * @return
*/ */
LoginUserRedisVo getLoginSysUserRedisVo(String username); LoginUserRedisVo getLoginMerUserRedisVo(String username);
/** /**
* 获取登录用户对象 * 获取登录用户对象
......
...@@ -94,7 +94,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService ...@@ -94,7 +94,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
@Override @Override
public void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken) { public void refreshLoginInfo(String oldToken, String username, JwtToken newJwtToken) {
// 获取缓存的登录用户信息 // 获取缓存的登录用户信息
LoginUserRedisVo loginSysUserRedisVo = getLoginSysUserRedisVo(username); LoginUserRedisVo loginSysUserRedisVo = getLoginMerUserRedisVo(username);
// 删除之前的token信息 // 删除之前的token信息
deleteLoginInfo(oldToken, username); deleteLoginInfo(oldToken, username);
// 缓存登录信息 // 缓存登录信息
...@@ -102,7 +102,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService ...@@ -102,7 +102,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
} }
@Override @Override
public LoginUserRedisVo getLoginSysUserRedisVo(String username) { public LoginUserRedisVo getLoginMerUserRedisVo(String username) {
if (StringUtils.isBlank(username)) { if (StringUtils.isBlank(username)) {
throw new IllegalArgumentException("username不能为空"); throw new IllegalArgumentException("username不能为空");
} }
...@@ -114,7 +114,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService ...@@ -114,7 +114,7 @@ public class MerchantLoginRedisServiceImpl implements MerchantLoginRedisService
if (StringUtils.isBlank(username)) { if (StringUtils.isBlank(username)) {
throw new IllegalArgumentException("username不能为空"); throw new IllegalArgumentException("username不能为空");
} }
LoginUserRedisVo userRedisVo = getLoginSysUserRedisVo(username); LoginUserRedisVo userRedisVo = getLoginMerUserRedisVo(username);
return userRedisVo; return userRedisVo;
} }
......
...@@ -73,7 +73,7 @@ public class JwtRealmMerchant extends AuthorizingRealm { ...@@ -73,7 +73,7 @@ public class JwtRealmMerchant extends AuthorizingRealm {
// 获取username // 获取username
String username = jwtToken.getUsername(); String username = jwtToken.getUsername();
// 获取登录用户角色权限信息 // 获取登录用户角色权限信息
LoginUserRedisVo loginSysUserRedisVo = merchantLoginRedisService.getLoginSysUserRedisVo(username); LoginUserRedisVo loginSysUserRedisVo = merchantLoginRedisService.getLoginMerUserRedisVo(username);
SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
// 设置角色 // 设置角色
authorizationInfo.setRoles(SetUtils.hashSet(loginSysUserRedisVo.getRoleCode())); authorizationInfo.setRoles(SetUtils.hashSet(loginSysUserRedisVo.getRoleCode()));
......
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