Commit 93408b02 authored by wzp's avatar wzp

机构管理日志

parent 29f30b14
......@@ -4,6 +4,7 @@ public enum OperType {
/**
*
*/
查询,
添加,
修改,
删除,
......
package cn.wisenergy.chnmuseum.party.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.wisenergy.chnmuseum.party.model.TUserRoleLink;
/**
* <pre>
* 用户角色关联 Mapper 接口
* </pre>
*
* @author Danny Lee
* @since 2021-03-22
*/
public interface TUserRoleLinkMapper extends BaseMapper<TUserRoleLink> {
}
package cn.wisenergy.chnmuseum.party.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.wisenergy.chnmuseum.party.model.TUserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <pre>
......
package cn.wisenergy.chnmuseum.party.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotations.Version;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.TableField;
/**
* <p>
* 用户角色关联
* </p>
*
* @author Danny Lee
* @since 2021-03-22
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("t_user_role_link")
@ApiModel(value = "用户角色关联", description = "用户角色关联")
public class TUserRoleLink implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID")
@TableId(value = "id", type = IdType.ASSIGN_ID)
@NotNull(message = "IDID不能为空", groups = {Update.class})
private String id;
@ApiModelProperty("用户名")
@TableField("user_id")
@NotBlank(message = "用户名不能为空", groups = {Add.class, Update.class})
private String userId;
@TableField("role_id")
@NotBlank(message = "不能为空", groups = {Add.class, Update.class})
private String roleId;
@ApiModelProperty("0:未删除,1:已删除")
@TableField("is_deleted")
private Boolean isDeleted;
}
package cn.wisenergy.chnmuseum.party.service;
import cn.wisenergy.chnmuseum.party.model.TUserRoleLink;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户角色关联 服务接口
* </p>
*
* @author Danny Lee
* @since 2021-03-22
*/
public interface TUserRoleLinkService extends IService<TUserRoleLink> {
}
package cn.wisenergy.chnmuseum.party.service.impl;
import cn.wisenergy.chnmuseum.party.model.TUserRoleLink;
import cn.wisenergy.chnmuseum.party.mapper.TUserRoleLinkMapper;
import cn.wisenergy.chnmuseum.party.service.TUserRoleLinkService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
/**
* <pre>
* 用户角色关联 服务实现类
* </pre>
*
* @author Danny Lee
* @since 2021-03-22
*/
@Slf4j
@Service
public class TUserRoleLinkServiceImpl extends ServiceImpl<TUserRoleLinkMapper, TUserRoleLink> implements TUserRoleLinkService {
@Autowired
private TUserRoleLinkMapper tUserRoleMapper;
}
......@@ -9,7 +9,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
/**
import javax.annotation.Resource;
/**+
* <pre>
* 用户角色关联 服务实现类
* </pre>
......@@ -21,7 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
@Service
public class TUserRoleServiceImpl extends ServiceImpl<TUserRoleMapper, TUserRole> implements TUserRoleService {
@Autowired
@Resource
private TUserRoleMapper tUserRoleMapper;
}
package cn.wisenergy.chnmuseum.party.web.controller;
import cn.wisenergy.chnmuseum.party.common.log.MethodLog;
import cn.wisenergy.chnmuseum.party.common.log.OperModule;
import cn.wisenergy.chnmuseum.party.common.log.OperType;
import cn.wisenergy.chnmuseum.party.common.util.DateUtil80;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
......@@ -54,6 +57,7 @@ public class TOrganController extends BaseController {
@PostMapping("/add")
@RequiresPermissions("/organ/add")
@ApiOperation(value = "添加机构", notes = "添加机构")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.添加)
public Map<String, Object> add(TOrgan organ) {
organ.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
organ.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
......@@ -71,6 +75,7 @@ public class TOrganController extends BaseController {
@PutMapping("/update")
@RequiresPermissions("/organ/update")
@ApiOperation(value = "update", notes = "修改机构信息")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.修改)
public Map<String, Object> updateTOrgan(TOrgan tOrgan) {
tOrgan.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
boolean flag = tOrganService.updateById(tOrgan);
......@@ -101,6 +106,7 @@ public class TOrganController extends BaseController {
@DeleteMapping("/delete")
@RequiresPermissions("/organ/delete")
@ApiOperation(value = "根据ID删除机构", notes = "根据ID删除机构")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.删除)
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String")
})
......@@ -119,6 +125,7 @@ public class TOrganController extends BaseController {
@GetMapping("/getList")
@RequiresPermissions("/organ/getList")
@ApiOperation(value = "获取机构全部列表(无分页)", notes = "获取机构全部列表(无分页)")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.查询)
public Map<String, Object> getTOrganList() {
List<TOrgan> tOrganList = tOrganService.list(Wrappers.<TOrgan>lambdaQuery().eq(TOrgan::getIsDeleted, 0));
return getResult(tOrganList);
......@@ -134,6 +141,7 @@ public class TOrganController extends BaseController {
@PostMapping("/getPageList")
@RequiresPermissions("/organ/getPageList")
@ApiOperation(value = "获取机构分页列表", notes = "获取机构分页列表")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.查询)
public Map<String, Object> getTOrganPageList(GenericPageParam genericPageParam) {
LambdaQueryWrapper<TOrgan> queryWrapper = new LambdaQueryWrapper<>();
// 对名称或编码模糊查询
......@@ -154,6 +162,7 @@ public class TOrganController extends BaseController {
@ApiOperation(value = "获取机构详情", notes = "获取机构详情")
@GetMapping("/getById")
@RequiresPermissions("/organ/getById")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.查询)
public Map<String, Object> getById(String id) {
TOrgan tOrgan = tOrganService.getById(id);
return getResult(tOrgan);
......@@ -163,6 +172,7 @@ public class TOrganController extends BaseController {
@GetMapping("/getTree")
@RequiresPermissions("/organ/getTree")
@ApiOperation(value = "获取机构树", notes = "获取机构树")
@MethodLog(operModule = OperModule.机构管理,operType = OperType.查询)
public Map<String, Object> getTree() {
List<TOrgan> tOrganList = tOrganService.getTree();
return getResult(tOrganList);
......
......@@ -87,101 +87,101 @@ public class TUserController extends BaseController {
// }
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
// }
//新增
@OperationLog("新增成员")
@ApiOperation(value = "新增成员")
@RequestMapping(value = "/add", method = RequestMethod.POST)
@RequiresPermissions("/user/add")
public ResponseEntity<Map<String, Object>> add(@RequestBody TUser user) {
Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
try {
if (StringUtils.isBlank(user.getUserName())) {
resultMap.put("status", 400);
resultMap.put("message", "账号不能为空!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
} else {
user.setUserName(StringUtils.trimToNull(user.getUserName()));
}
if (StringUtils.isBlank(user.getPassword())) {
resultMap.put("status", 400);
resultMap.put("message", "密码不能为空!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
} else {
user.setPassword(StringUtils.trimToNull(user.getPassword()));
}
if (StringUtils.isBlank(user.getRealName())) {
resultMap.put("status", 400);
resultMap.put("message", "姓名不能为空!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
} else {
user.setRealName(StringUtils.trimToNull(user.getRealName()));
}
if (user.getRoleList()==null||user.getRoleList().size()<1) {
resultMap.put("status", 400);
resultMap.put("message", "请选择角色!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
}
if (StringUtils.isBlank(user.getOrgId())) {
resultMap.put("status", 400);
resultMap.put("message", "请选择机构!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
}
QueryWrapper<TUser> ew = new QueryWrapper<>();
if (StringUtils.isNoneBlank(user.getUserName())) {
user.setUserName(user.getUserName().trim());
ew.eq("is_deleted", 0);
ew.eq("username", user.getUserName());
TUser one = this.userService.getOne(ew);
if (one != null) {
resultMap.put("status", 400);
resultMap.put("message", "账号已存在!");
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
}
}
byte[] passwordSalt = SecureRandomSaltService.generateSalt();
byte[] passwordHash = SHA256PasswordEncryptionService
.createPasswordHash(user.getPassword(), passwordSalt);
user.setPasswordSalt(passwordSalt);
user.setPasswordHash(passwordHash);
user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
user.setUpdateTime(user.getCreateTime());
boolean ret = this.userService.save(user);
List<Role> list = user.getRoleList();
List<TUserRole> list1 = new ArrayList<>();
for (Role role : list) {
TUserRole entity = new TUserRole();
entity.setUserId(user.getId());
entity.setRoleId(role.getId());
entity.setIsDeleted(false);
list1.add(entity);
}
this.tUserRoleService.saveBatch(list1);
if (!ret) {
// 新增失败, 500
resultMap.put("status", 500);
resultMap.put("message", "服务器忙");
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(resultMap);
}
resultMap.put("status", 201);
resultMap.put("message", "添加成功");
// 201
return ResponseEntity.status(HttpStatus.CREATED).body(resultMap);
} catch (Exception e) {
resultMap.put("status", 500);
resultMap.put("message", "服务器忙");
logger.error("新增成员错误!", e);
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
}
//
// //新增
// @OperationLog("新增成员")
// @ApiOperation(value = "新增成员")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
// @RequiresPermissions("/user/add")
// public ResponseEntity<Map<String, Object>> add(@RequestBody TUser user) {
// Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
// try {
// if (StringUtils.isBlank(user.getUserName())) {
// resultMap.put("status", 400);
// resultMap.put("message", "账号不能为空!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// } else {
// user.setUserName(StringUtils.trimToNull(user.getUserName()));
// }
// if (StringUtils.isBlank(user.getPassword())) {
// resultMap.put("status", 400);
// resultMap.put("message", "密码不能为空!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// } else {
// user.setPassword(StringUtils.trimToNull(user.getPassword()));
// }
// if (StringUtils.isBlank(user.getRealName())) {
// resultMap.put("status", 400);
// resultMap.put("message", "姓名不能为空!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// } else {
// user.setRealName(StringUtils.trimToNull(user.getRealName()));
// }
//
// if (user.getRoleList()==null||user.getRoleList().size()<1) {
// resultMap.put("status", 400);
// resultMap.put("message", "请选择角色!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// }
// if (StringUtils.isBlank(user.getOrgId())) {
// resultMap.put("status", 400);
// resultMap.put("message", "请选择机构!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// }
//
// QueryWrapper<TUser> ew = new QueryWrapper<>();
// if (StringUtils.isNoneBlank(user.getUserName())) {
// user.setUserName(user.getUserName().trim());
// ew.eq("is_deleted", 0);
// ew.eq("username", user.getUserName());
// TUser one = this.userService.getOne(ew);
// if (one != null) {
// resultMap.put("status", 400);
// resultMap.put("message", "账号已存在!");
// return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(resultMap);
// }
// }
//
// byte[] passwordSalt = SecureRandomSaltService.generateSalt();
// byte[] passwordHash = SHA256PasswordEncryptionService
// .createPasswordHash(user.getPassword(), passwordSalt);
// user.setPasswordSalt(passwordSalt);
// user.setPasswordHash(passwordHash);
// user.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis()));
// user.setUpdateTime(user.getCreateTime());
//
// boolean ret = this.userService.save(user);
//
// List<Role> list = user.getRoleList();
// List<TUserRole> list1 = new ArrayList<>();
// for (Role role : list) {
// TUserRole entity = new TUserRole();
// entity.setUserId(user.getId());
// entity.setRoleId(role.getId());
// entity.setIsDeleted(false);
// list1.add(entity);
// }
//
// this.tUserRoleService.saveBatch(list1);
//
// if (!ret) {
// // 新增失败, 500
// resultMap.put("status", 500);
// resultMap.put("message", "服务器忙");
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
// .body(resultMap);
// }
// resultMap.put("status", 201);
// resultMap.put("message", "添加成功");
// // 201
// return ResponseEntity.status(HttpStatus.CREATED).body(resultMap);
// } catch (Exception e) {
// resultMap.put("status", 500);
// resultMap.put("message", "服务器忙");
// logger.error("新增成员错误!", e);
// }
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resultMap);
// }
//
// // 编辑用户信息
......
package cn.wisenergy.chnmuseum.party.web.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController;
import cn.wisenergy.chnmuseum.party.model.TUserRoleLink;
import cn.wisenergy.chnmuseum.party.service.TUserRoleLinkService;
import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;
/**
* <pre>
* 用户角色关联 前端控制器
* </pre>
*
* @author Danny Lee
* @since 2021-03-22
*/
@Slf4j
@RestController
@RequestMapping("/tUserRoleLink")
@Api(tags = {"用户角色关联操作接口"})
public class TUserRoleLinkController extends BaseController {
@Resource
private TUserRoleLinkService tUserRoleLinkService;
@PostMapping("/batchSave")
@RequiresPermissions("t:user:role:batch:save")
@ApiOperation(value = "批量添加用户角色关联", notes = "批量添加用户角色关联")
public Map<String, Object> batchSaveTUserRoleLink(@Validated(value = {Add.class}) List<TUserRoleLink> tUserRoleLinkList) {
// 保存业务节点信息
boolean result = tUserRoleLinkService.saveBatch(tUserRoleLinkList);
// 返回操作结果
if (result) {
return getSuccessResult();
} else {
// 保存失败
return getFailResult();
}
}
@PostMapping("/save")
@RequiresPermissions("t:user:role:save")
@ApiOperation(value = "添加用户角色关联", notes = "添加用户角色关联")
public Map<String, Object> saveTUserRoleLink(@Validated(value = {Add.class}) TUserRoleLink tUserRoleLink) {
// 保存业务节点信息
boolean result = tUserRoleLinkService.save(tUserRoleLink);
// 返回操作结果
if (result) {
return getSuccessResult();
} else {
// 保存失败
return getFailResult();
}
}
@PutMapping("/update")
@RequiresPermissions("t:user:role:update")
@ApiOperation(value = "修改用户角色关联信息", notes = "修改用户角色关联信息")
public Map<String, Object> updateTUserRoleLink(@Validated(value = {Update.class}) TUserRoleLink tUserRole) {
boolean flag = tUserRoleLinkService.updateById(tUserRole);
if (flag) {
return getSuccessResult();
}
return getFailResult();
}
@PutMapping("/updateAuditStatus/{id}")
@RequiresPermissions("t:user:role:update:audit:status")
@ApiOperation(value = "更新用户角色关联审核状态", notes = "更新用户角色关联审核状态")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "status", value = "状态", paramType = "query", dataType = "String")
})
public Map<String, Object> updateStatus(@NotNull(message = "用户角色关联ID不能为空") @PathVariable("id") String id, @RequestParam("status") AuditStatusEnum status) {
UpdateWrapper<TUserRoleLink> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id", id);
updateWrapper.eq("audit_status", status.name());
boolean flag = tUserRoleLinkService.update(updateWrapper);
if (flag) {
return getSuccessResult();
}
return getFailResult();
}
@DeleteMapping("/delete/{id}")
@RequiresPermissions("t:user:role:delete")
@ApiOperation(value = "根据ID删除用户角色关联", notes = "根据ID删除用户角色关联")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String")
})
public Map<String, Object> deleteTUserRoleLink(@PathVariable("id") String id) {
boolean result = tUserRoleLinkService.removeById(id);
if (result) {
return getSuccessResult();
}
return getFailResult();
}
@GetMapping("/getList")
@RequiresPermissions("t:user:role:list")
@ApiOperation(value = "获取用户角色关联全部列表(无分页)", notes = "获取用户角色关联全部列表(无分页)")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "auditStatus", value = "审核状态", paramType = "query", dataType = "String")
})
public Map<String, Object> getTUserRoleLinkList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FINAL", required = false) AuditStatusEnum auditStatus) {
List<TUserRoleLink> tUserRoleLinkList = tUserRoleLinkService.list(Wrappers.<TUserRoleLink>lambdaQuery().eq(TUserRoleLink::getAuditStatus, auditStatus.name()));
return getResult(tUserRoleLinkList);
}
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String")
})
@PostMapping("/getPageList")
@RequiresPermissions("t:user:role:page")
@ApiOperation(value = "获取用户角色关联分页列表", notes = "获取用户角色关联分页列表")
public Map<String, Object> getTUserRoleLinkPageList(GenericPageParam genericPageParam) {
LambdaQueryWrapper<TUserRoleLink> queryWrapper = new LambdaQueryWrapper<>();
// 对名称或编码模糊查询
if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) {
queryWrapper.like(TUserRoleLink::getName, genericPageParam.getNameOrCode());
}
// 根据创建时间区间检索
if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) {
queryWrapper.ge(TUserRoleLink::getCreateTime, genericPageParam.getStartDate().atTime(0, 0, 0))
.le(TUserRoleLink::getCreateTime, genericPageParam.getEndDate().atTime(23, 59, 59));
}
// 设置排序规则
queryWrapper.orderByDesc(TUserRoleLink::getCreateTime);
// 设置查询内容
queryWrapper.select(
TUserRoleLink::getId,
TUserRoleLink::getName,
TUserRoleLink::getAuditStatus,
TUserRoleLink::getCreateTime,
TUserRoleLink::getUpdateTime);
Page<TUserRoleLink> page = this.tUserRoleLinkService.page(getPage(), queryWrapper);
for (TUserRoleLink tUserRoleLink : page.getRecords()) {
}
return getResult(page);
}
@ApiOperation(value = "获取用户角色关联详情", notes = "获取用户角色关联详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path")
})
@GetMapping("/get/{id}")
@RequiresPermissions("t:user:role:get:id")
public Map<String, Object> getById(@PathVariable("id") String id) {
TUserRoleLink tUserRoleLink = tUserRoleLinkService.getById(id);
return getResult(tUserRoleLink);
}
}
<?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="cn.wisenergy.chnmuseum.party.mapper.TUserRoleLinkMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.wisenergy.chnmuseum.party.model.TUserRoleLink">
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="role_id" property="roleId" />
<result column="is_deleted" property="isDeleted" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, user_id, role_id, is_deleted
</sql>
</mapper>
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