mirror of
https://gitee.com/orangeform/orange-admin.git
synced 2026-01-18 19:16:37 +08:00
commit:VO支持以及bug修复
This commit is contained in:
@@ -1,10 +1,6 @@
|
||||
package com.orange.demo.upmsservice.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.orange.demo.common.core.annotation.MyRequestBody;
|
||||
import com.orange.demo.common.core.constant.ErrorCodeEnum;
|
||||
@@ -32,8 +28,6 @@ import java.nio.charset.StandardCharsets;
|
||||
* @author Jerry
|
||||
* @date 2020-08-08
|
||||
*/
|
||||
@ApiSupport(order = 1)
|
||||
@Api(tags = "登录接口")
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/login")
|
||||
@@ -55,12 +49,6 @@ public class LoginController {
|
||||
* @param password 密码。
|
||||
* @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。
|
||||
*/
|
||||
@ApiImplicitParams({
|
||||
// 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。
|
||||
// 如果您重新生成了公钥和私钥,请替换password的缺省值。
|
||||
@ApiImplicitParam(name = "loginName", defaultValue = "admin"),
|
||||
@ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D")
|
||||
})
|
||||
@PostMapping("/doLogin")
|
||||
public ResponseResult<JSONObject> doLogin(
|
||||
@MyRequestBody String loginName, @MyRequestBody String password) throws Exception {
|
||||
@@ -91,10 +79,10 @@ public class LoginController {
|
||||
*/
|
||||
@PostMapping("/doLogout")
|
||||
public ResponseResult<Void> doLogout() {
|
||||
cacheHelper.removeAllSessionCache();
|
||||
TokenData tokenData = TokenData.takeFromRequest();
|
||||
cacheHelper.removeAllSessionCache(tokenData.getSessionId());
|
||||
return ResponseResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户修改自己的密码。
|
||||
*
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.orange.demo.upmsservice.controller;
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.page.PageMethod;
|
||||
import com.orange.demo.upmsservice.model.*;
|
||||
import com.orange.demo.upmsservice.service.*;
|
||||
import com.orange.demo.upmsinterface.dto.*;
|
||||
import com.orange.demo.upmsinterface.vo.*;
|
||||
import com.orange.demo.common.core.object.*;
|
||||
import com.orange.demo.common.core.util.*;
|
||||
import com.orange.demo.common.core.constant.*;
|
||||
@@ -14,9 +14,6 @@ import com.orange.demo.common.core.annotation.MyRequestBody;
|
||||
import com.orange.demo.common.core.validator.AddGroup;
|
||||
import com.orange.demo.common.core.validator.UpdateGroup;
|
||||
import com.orange.demo.upmsservice.config.ApplicationConfig;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||
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.web.bind.annotation.*;
|
||||
@@ -30,11 +27,10 @@ import java.util.*;
|
||||
* @author Jerry
|
||||
* @date 2020-08-08
|
||||
*/
|
||||
@Api(tags = "用户管理管理接口")
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/sysUser")
|
||||
public class SysUserController extends BaseController<SysUser, SysUserDto, Long> {
|
||||
public class SysUserController extends BaseController<SysUser, SysUserVo, Long> {
|
||||
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
@@ -42,7 +38,7 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
private ApplicationConfig appConfig;
|
||||
|
||||
@Override
|
||||
protected BaseService<SysUser, SysUserDto, Long> service() {
|
||||
protected BaseService<SysUser, Long> service() {
|
||||
return sysUserService;
|
||||
}
|
||||
|
||||
@@ -52,17 +48,13 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param sysUserDto 新增用户对象。
|
||||
* @return 应答结果对象,包含新增用户的主键Id。
|
||||
*/
|
||||
@ApiOperationSupport(ignoreParameters = {
|
||||
"sysUser.userId",
|
||||
"sysUser.createTimeStart",
|
||||
"sysUser.createTimeEnd"})
|
||||
@PostMapping("/add")
|
||||
public ResponseResult<Long> add(@MyRequestBody("sysUser") SysUserDto sysUserDto) {
|
||||
String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, AddGroup.class);
|
||||
if (errorMessage != null) {
|
||||
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
|
||||
}
|
||||
SysUser sysUser = SysUser.INSTANCE.toModel(sysUserDto);
|
||||
SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class);
|
||||
CallResult result = sysUserService.verifyRelatedData(sysUser, null);
|
||||
if (!result.isSuccess()) {
|
||||
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage());
|
||||
@@ -77,9 +69,6 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param sysUserDto 更新用户对象。
|
||||
* @return 应答结果对象。
|
||||
*/
|
||||
@ApiOperationSupport(ignoreParameters = {
|
||||
"sysUser.createTimeStart",
|
||||
"sysUser.createTimeEnd"})
|
||||
@PostMapping("/update")
|
||||
public ResponseResult<Void> update(@MyRequestBody("sysUser") SysUserDto sysUserDto) {
|
||||
String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, Default.class, UpdateGroup.class);
|
||||
@@ -90,7 +79,7 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
if (originalUser == null) {
|
||||
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);
|
||||
}
|
||||
SysUser sysUser = SysUser.INSTANCE.toModel(sysUserDto);
|
||||
SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class);
|
||||
CallResult result = sysUserService.verifyRelatedData(sysUser, originalUser);
|
||||
if (!result.isSuccess()) {
|
||||
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage());
|
||||
@@ -153,25 +142,18 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @return 应答结果对象,包含查询结果集。
|
||||
*/
|
||||
@PostMapping("/list")
|
||||
public ResponseResult<MyPageData<SysUserDto>> list(
|
||||
public ResponseResult<MyPageData<SysUserVo>> list(
|
||||
@MyRequestBody("sysUserFilter") SysUserDto sysUserDtoFilter,
|
||||
@MyRequestBody MyOrderParam orderParam,
|
||||
@MyRequestBody MyPageParam pageParam) {
|
||||
if (pageParam != null) {
|
||||
PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize());
|
||||
}
|
||||
SysUser sysUserFilter = SysUser.INSTANCE.toModel(sysUserDtoFilter);
|
||||
SysUser sysUserFilter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class);
|
||||
String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class);
|
||||
List<SysUser> sysUserList =
|
||||
sysUserService.getSysUserListWithRelation(sysUserFilter, orderBy);
|
||||
long totalCount = 0L;
|
||||
if (sysUserList instanceof Page) {
|
||||
totalCount = ((Page<SysUser>) sysUserList).getTotal();
|
||||
}
|
||||
// 分页连同对象数据转换copy工作,下面的方法一并完成。
|
||||
Tuple2<List<SysUserDto>, Long> responseData =
|
||||
new Tuple2<>(SysUser.INSTANCE.fromModelList(sysUserList), totalCount);
|
||||
return ResponseResult.success(MyPageUtil.makeResponseData(responseData));
|
||||
return ResponseResult.success(MyPageUtil.makeResponseData(sysUserList, SysUser.INSTANCE));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -181,7 +163,7 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @return 应答结果对象,包含对象详情。
|
||||
*/
|
||||
@GetMapping("/view")
|
||||
public ResponseResult<SysUserDto> view(@RequestParam Long userId) {
|
||||
public ResponseResult<SysUserVo> view(@RequestParam Long userId) {
|
||||
if (MyCommonUtil.existBlankArgument(userId)) {
|
||||
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
|
||||
}
|
||||
@@ -191,8 +173,8 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
if (sysUser == null) {
|
||||
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST);
|
||||
}
|
||||
SysUserDto sysUserDto = SysUser.INSTANCE.fromModel(sysUser);
|
||||
return ResponseResult.success(sysUserDto);
|
||||
SysUserVo sysUserVo = SysUser.INSTANCE.fromModel(sysUser);
|
||||
return ResponseResult.success(sysUserVo);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -202,9 +184,8 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param withDict 是否包含字典关联。
|
||||
* @return 应答结果对象,包含主对象集合。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "listByIds")
|
||||
@PostMapping("/listByIds")
|
||||
public ResponseResult<List<SysUserDto>> listByIds(
|
||||
public ResponseResult<List<SysUserVo>> listByIds(
|
||||
@RequestParam Set<Long> userIds, @RequestParam Boolean withDict) {
|
||||
return super.baseListByIds(userIds, withDict, SysUser.INSTANCE);
|
||||
}
|
||||
@@ -216,9 +197,8 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param withDict 是否包含字典关联。
|
||||
* @return 应答结果对象,包含主对象数据。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "getById")
|
||||
@PostMapping("/getById")
|
||||
public ResponseResult<SysUserDto> getById(
|
||||
public ResponseResult<SysUserVo> getById(
|
||||
@RequestParam Long userId, @RequestParam Boolean withDict) {
|
||||
return super.baseGetById(userId, withDict, SysUser.INSTANCE);
|
||||
}
|
||||
@@ -229,7 +209,6 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param userIds 主键Id集合。
|
||||
* @return 应答结果对象,包含true全部存在,否则false。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "existIds")
|
||||
@PostMapping("/existIds")
|
||||
public ResponseResult<Boolean> existIds(@RequestParam Set<Long> userIds) {
|
||||
return super.baseExistIds(userIds);
|
||||
@@ -241,7 +220,6 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param userId 主键Id。
|
||||
* @return 应答结果对象,包含true表示存在,否则false。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "existId")
|
||||
@PostMapping("/existId")
|
||||
public ResponseResult<Boolean> existId(@RequestParam Long userId) {
|
||||
return super.baseExistId(userId);
|
||||
@@ -253,33 +231,30 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param filter 过滤对象。
|
||||
* @return 删除数量。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "deleteBy")
|
||||
@PostMapping("/deleteBy")
|
||||
public ResponseResult<Integer> deleteBy(@RequestBody SysUserDto filter) throws Exception {
|
||||
return super.baseDeleteBy(filter, SysUser.INSTANCE);
|
||||
return super.baseDeleteBy(MyModelUtil.copyTo(filter, SysUser.class));
|
||||
}
|
||||
|
||||
/**
|
||||
* 复杂的查询调用,包括(in list)过滤,对象条件过滤,分组和排序等。主要用于微服务间远程过程调用。
|
||||
* 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。
|
||||
*
|
||||
* @param queryParam 查询参数。
|
||||
* @return 应答结果对象,包含符合查询过滤条件的对象结果集。
|
||||
* @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "listBy")
|
||||
@PostMapping("/listBy")
|
||||
public ResponseResult<List<SysUserDto>> listBy(@RequestBody MyQueryParam queryParam) {
|
||||
public ResponseResult<MyPageData<SysUserVo>> listBy(@RequestBody MyQueryParam queryParam) {
|
||||
return super.baseListBy(queryParam, SysUser.INSTANCE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 复杂的查询调用,包括(in list)过滤,对象条件过滤,分组和排序等。主要用于微服务间远程过程调用。
|
||||
* 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。
|
||||
*
|
||||
* @param queryParam 查询参数。
|
||||
* @return 应答结果对象,包含符合查询过滤条件的对象结果集。
|
||||
* @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "listMapBy")
|
||||
@PostMapping("/listMapBy")
|
||||
public ResponseResult<List<Map<String, Object>>> listMapBy(@RequestBody MyQueryParam queryParam) {
|
||||
public ResponseResult<MyPageData<Map<String, Object>>> listMapBy(@RequestBody MyQueryParam queryParam) {
|
||||
return super.baseListMapBy(queryParam, SysUser.INSTANCE);
|
||||
}
|
||||
|
||||
@@ -289,9 +264,8 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param queryParam 查询参数。
|
||||
* @return 应答结果对象,包含符合查询过滤条件的对象结果集。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "getBy")
|
||||
@PostMapping("/getBy")
|
||||
public ResponseResult<SysUserDto> getBy(@RequestBody MyQueryParam queryParam) {
|
||||
public ResponseResult<SysUserVo> getBy(@RequestBody MyQueryParam queryParam) {
|
||||
return super.baseGetBy(queryParam, SysUser.INSTANCE);
|
||||
}
|
||||
|
||||
@@ -301,7 +275,6 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param queryParam 查询参数。
|
||||
* @return 应答结果对象,包含结果数量。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "countBy")
|
||||
@PostMapping("/countBy")
|
||||
public ResponseResult<Integer> countBy(@RequestBody MyQueryParam queryParam) {
|
||||
return super.baseCountBy(queryParam);
|
||||
@@ -313,7 +286,6 @@ public class SysUserController extends BaseController<SysUser, SysUserDto, Long>
|
||||
* @param aggregationParam 聚合参数。
|
||||
* @return 应该结果对象,包含聚合计算后的分组Map列表。
|
||||
*/
|
||||
@ApiOperation(hidden = true, value = "aggregateBy")
|
||||
@PostMapping("/aggregateBy")
|
||||
public ResponseResult<List<Map<String, Object>>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) {
|
||||
return super.baseAggregateBy(aggregationParam);
|
||||
|
||||
@@ -15,8 +15,14 @@
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 如果有逻辑删除字段过滤,请写到这里 -->
|
||||
<sql id="filterRef">
|
||||
<!-- 这里必须加上全包名,否则当filterRef被其他Mapper.xml包含引用的时候,就会调用Mapper.xml中的该SQL片段 -->
|
||||
<include refid="com.orange.demo.upmsservice.dao.SysUserMapper.inputFilterRef"/>
|
||||
AND zz_sys_user.deleted_flag = ${@com.orange.demo.common.core.constant.GlobalDeletedFlag@NORMAL}
|
||||
</sql>
|
||||
<!-- 这里仅包含调用接口输入的主表过滤条件 -->
|
||||
<sql id="inputFilterRef">
|
||||
<if test="sysUserFilter != null">
|
||||
<if test="sysUserFilter.loginName != null and sysUserFilter.loginName != ''">
|
||||
<bind name = "safeLoginName" value = "'%' + sysUserFilter.loginName + '%'" />
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.orange.demo.common.core.annotation.RelationConstDict;
|
||||
import com.orange.demo.common.core.base.mapper.BaseModelMapper;
|
||||
import com.orange.demo.common.core.annotation.DeletedFlagColumn;
|
||||
import com.orange.demo.common.core.validator.ConstDictRef;
|
||||
import com.orange.demo.upmsinterface.dto.SysUserDto;
|
||||
import com.orange.demo.upmsinterface.vo.SysUserVo;
|
||||
import lombok.Data;
|
||||
import org.mapstruct.*;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
@@ -134,23 +134,23 @@ public class SysUser {
|
||||
private Map<String, Object> userStatusDictMap;
|
||||
|
||||
@Mapper
|
||||
public interface SysUserModelMapper extends BaseModelMapper<SysUserDto, SysUser> {
|
||||
public interface SysUserModelMapper extends BaseModelMapper<SysUserVo, SysUser> {
|
||||
/**
|
||||
* 转换Dto对象到实体对象。
|
||||
* 转换Vo对象到实体对象。
|
||||
*
|
||||
* @param sysUserDto 域对象。
|
||||
* @param sysUserVo 域对象。
|
||||
* @return 实体对象。
|
||||
*/
|
||||
@Override
|
||||
SysUser toModel(SysUserDto sysUserDto);
|
||||
SysUser toModel(SysUserVo sysUserVo);
|
||||
/**
|
||||
* 转换实体对象到Dto对象。
|
||||
* 转换实体对象到VO对象。
|
||||
*
|
||||
* @param sysUser 实体对象。
|
||||
* @return 域对象。
|
||||
*/
|
||||
@Override
|
||||
SysUserDto fromModel(SysUser sysUser);
|
||||
SysUserVo fromModel(SysUser sysUser);
|
||||
}
|
||||
public static final SysUserModelMapper INSTANCE = Mappers.getMapper(SysUserModelMapper.class);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.orange.demo.upmsservice.service;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.orange.demo.upmsservice.dao.*;
|
||||
import com.orange.demo.upmsservice.model.*;
|
||||
import com.orange.demo.upmsinterface.dto.*;
|
||||
import com.orange.demo.common.core.util.*;
|
||||
import com.orange.demo.common.core.object.*;
|
||||
import com.orange.demo.common.core.constant.GlobalDeletedFlag;
|
||||
@@ -26,7 +25,7 @@ import java.util.*;
|
||||
* @date 2020-08-08
|
||||
*/
|
||||
@Service
|
||||
public class SysUserService extends BaseService<SysUser, SysUserDto, Long> {
|
||||
public class SysUserService extends BaseService<SysUser, Long> {
|
||||
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
@@ -108,8 +107,9 @@ public class SysUserService extends BaseService<SysUser, SysUserDto, Long> {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean changePassword(Long userId, String newPass) {
|
||||
Example e = new Example(SysUser.class);
|
||||
e.createCriteria().andEqualTo(super.idFieldName, userId);
|
||||
e.createCriteria().andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL);
|
||||
e.createCriteria()
|
||||
.andEqualTo(super.idFieldName, userId)
|
||||
.andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL);
|
||||
SysUser updatedUser = new SysUser();
|
||||
updatedUser.setPassword(passwordEncoder.encode(newPass));
|
||||
return sysUserMapper.updateByExampleSelective(updatedUser, e) == 1;
|
||||
|
||||
@@ -59,9 +59,6 @@
|
||||
<Root level="${OUTPUT_LOG_LEVEL}">
|
||||
<AppenderRef ref="console"/>
|
||||
</Root>
|
||||
<Logger name="springfox.documentation" additivity="false" level="error">
|
||||
<AppenderRef ref="console"/>
|
||||
</Logger>
|
||||
<!-- AsyncLogger 是基于Disruptor的全量异步队列,性能极高,队列默认大小4096。-->
|
||||
<!-- 队列默认值可通过JVM参数设置,参考博客:https://www.jianshu.com/p/82469047acbf -->
|
||||
<AsyncLogger name="com.orange.demo" additivity="false" level="info">
|
||||
|
||||
Reference in New Issue
Block a user