- 后端:基于新的代码规范,和 mybatis-plus 框架,重构 admin 框架
							parent
							
								
									3135aad31f
								
							
						
					
					
						commit
						8e18547dda
					
				| 
						 | 
					@ -32,6 +32,11 @@
 | 
				
			||||||
            <artifactId>mybatis</artifactId>
 | 
					            <artifactId>mybatis</artifactId>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>com.baomidou</groupId>
 | 
				
			||||||
 | 
					            <artifactId>mybatis-plus-annotation</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <!-- RPC 相关  -->
 | 
					        <!-- RPC 相关  -->
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>org.apache.dubbo</groupId>
 | 
					            <groupId>org.apache.dubbo</groupId>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
package cn.iocoder.common.framework.dataobject;
 | 
					package cn.iocoder.common.framework.dataobject;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableLogic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * extends BaseDO 扩展 delete 操作
 | 
					 * extends BaseDO 扩展 delete 操作
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -11,6 +13,7 @@ public class DeletableDO extends BaseDO {
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 是否删除
 | 
					     * 是否删除
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					    @TableLogic
 | 
				
			||||||
    private Integer deleted;
 | 
					    private Integer deleted;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,6 @@
 | 
				
			||||||
    - [ ] 短信管理
 | 
					    - [ ] 短信管理
 | 
				
			||||||
        - [ ] 短信模板
 | 
					        - [ ] 短信模板
 | 
				
			||||||
        - [ ] 发送日志
 | 
					        - [ ] 发送日志
 | 
				
			||||||
    - [ ] 用户访问日志
 | 
					 | 
				
			||||||
    - [ ] 员工访问日志
 | 
					 | 
				
			||||||
    - [ ] 员工操作日志
 | 
					    - [ ] 员工操作日志
 | 
				
			||||||
 | 
					    - [ ] 访问日志
 | 
				
			||||||
    - [ ] 异常日志
 | 
					    - [ ] 异常日志
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										5
									
								
								pom.xml
								
								
								
								
							
							
						
						
									
										5
									
								
								pom.xml
								
								
								
								
							| 
						 | 
					@ -138,6 +138,11 @@
 | 
				
			||||||
                <artifactId>mybatis-spring-boot-starter</artifactId>
 | 
					                <artifactId>mybatis-spring-boot-starter</artifactId>
 | 
				
			||||||
                <version>${mybatis-spring-boot-starter.version}</version>
 | 
					                <version>${mybatis-spring-boot-starter.version}</version>
 | 
				
			||||||
            </dependency>
 | 
					            </dependency>
 | 
				
			||||||
 | 
					            <dependency>
 | 
				
			||||||
 | 
					                <groupId>com.baomidou</groupId>
 | 
				
			||||||
 | 
					                <artifactId>mybatis-plus-annotation</artifactId>
 | 
				
			||||||
 | 
					                <version>${mybatis-plus.version}</version>
 | 
				
			||||||
 | 
					            </dependency>
 | 
				
			||||||
            <dependency>
 | 
					            <dependency>
 | 
				
			||||||
                <groupId>com.baomidou</groupId>
 | 
					                <groupId>com.baomidou</groupId>
 | 
				
			||||||
                <artifactId>mybatis-plus-boot-starter</artifactId>
 | 
					                <artifactId>mybatis-plus-boot-starter</artifactId>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,24 +1,24 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.application.controller.admins;
 | 
					package cn.iocoder.mall.admin.application.controller.admins;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import cn.iocoder.common.framework.constant.MallConstants;
 | 
				
			||||||
import cn.iocoder.common.framework.vo.CommonResult;
 | 
					import cn.iocoder.common.framework.vo.CommonResult;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.AdminService;
 | 
					import cn.iocoder.mall.admin.api.AdminService;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.ResourceService;
 | 
					import cn.iocoder.mall.admin.api.ResourceService;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.RoleService;
 | 
					import cn.iocoder.mall.admin.api.RoleService;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminPageBO;
 | 
					 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.ResourceBO;
 | 
					import cn.iocoder.mall.admin.api.bo.ResourceBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.RoleBO;
 | 
					import cn.iocoder.mall.admin.api.bo.RoleBO;
 | 
				
			||||||
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
 | 
				
			||||||
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminPageBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.constant.ResourceConstants;
 | 
					import cn.iocoder.mall.admin.api.constant.ResourceConstants;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminPageDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminPageDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.convert.AdminConvert;
 | 
					import cn.iocoder.mall.admin.application.convert.AdminConvert;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.convert.ResourceConvert;
 | 
					import cn.iocoder.mall.admin.application.convert.ResourceConvert;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminMenuTreeNodeVO;
 | 
					import cn.iocoder.mall.admin.application.vo.AdminMenuTreeNodeVO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminPageVO;
 | 
					import cn.iocoder.mall.admin.application.vo.AdminPageVO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminRoleVO;
 | 
					import cn.iocoder.mall.admin.application.vo.AdminRoleVO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminVO;
 | 
					 | 
				
			||||||
import cn.iocoder.mall.admin.sdk.context.AdminSecurityContextHolder;
 | 
					import cn.iocoder.mall.admin.sdk.context.AdminSecurityContextHolder;
 | 
				
			||||||
import cn.iocoder.common.framework.constant.MallConstants;
 | 
					 | 
				
			||||||
import io.swagger.annotations.Api;
 | 
					import io.swagger.annotations.Api;
 | 
				
			||||||
import io.swagger.annotations.ApiImplicitParam;
 | 
					import io.swagger.annotations.ApiImplicitParam;
 | 
				
			||||||
import io.swagger.annotations.ApiImplicitParams;
 | 
					import io.swagger.annotations.ApiImplicitParams;
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,8 @@ import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
import java.util.*;
 | 
					import java.util.*;
 | 
				
			||||||
import java.util.stream.Collectors;
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static cn.iocoder.common.framework.vo.CommonResult.success;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@RestController
 | 
					@RestController
 | 
				
			||||||
@RequestMapping(MallConstants.ROOT_PATH_ADMIN + "/admin")
 | 
					@RequestMapping(MallConstants.ROOT_PATH_ADMIN + "/admin")
 | 
				
			||||||
@Api("管理员模块")
 | 
					@Api("管理员模块")
 | 
				
			||||||
| 
						 | 
					@ -70,7 +72,7 @@ public class AdminController {
 | 
				
			||||||
                .filter(node -> node.getPid().equals(ResourceConstants.PID_ROOT))
 | 
					                .filter(node -> node.getPid().equals(ResourceConstants.PID_ROOT))
 | 
				
			||||||
//                .sorted(Comparator.comparing(AdminMenuTreeNodeVO::getSort))
 | 
					//                .sorted(Comparator.comparing(AdminMenuTreeNodeVO::getSort))
 | 
				
			||||||
                .collect(Collectors.toList());
 | 
					                .collect(Collectors.toList());
 | 
				
			||||||
        return CommonResult.success(rootNodes);
 | 
					        return success(rootNodes);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @GetMapping("/url_resource_list")
 | 
					    @GetMapping("/url_resource_list")
 | 
				
			||||||
| 
						 | 
					@ -78,7 +80,7 @@ public class AdminController {
 | 
				
			||||||
//    @ApiModelProperty(value = "data", example = "['/admin/role/add', '/admin/role/update']") 没效果
 | 
					//    @ApiModelProperty(value = "data", example = "['/admin/role/add', '/admin/role/update']") 没效果
 | 
				
			||||||
    public CommonResult<Set<String>> urlResourceList() {
 | 
					    public CommonResult<Set<String>> urlResourceList() {
 | 
				
			||||||
        List<ResourceBO> resources = resourceService.getResourcesByTypeAndRoleIds(ResourceConstants.TYPE_URL, AdminSecurityContextHolder.getContext().getRoleIds());
 | 
					        List<ResourceBO> resources = resourceService.getResourcesByTypeAndRoleIds(ResourceConstants.TYPE_URL, AdminSecurityContextHolder.getContext().getRoleIds());
 | 
				
			||||||
        return CommonResult.success(resources.stream().map(ResourceBO::getHandler).collect(Collectors.toSet()));
 | 
					        return success(resources.stream().map(ResourceBO::getHandler).collect(Collectors.toSet()));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // =========== 管理员管理 API ===========
 | 
					    // =========== 管理员管理 API ===========
 | 
				
			||||||
| 
						 | 
					@ -90,25 +92,16 @@ public class AdminController {
 | 
				
			||||||
            @ApiImplicitParam(name = "pageNo", value = "页码,从 1 开始", example = "1"),
 | 
					            @ApiImplicitParam(name = "pageNo", value = "页码,从 1 开始", example = "1"),
 | 
				
			||||||
            @ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, example = "10"),
 | 
					            @ApiImplicitParam(name = "pageSize", value = "每页条数", required = true, example = "10"),
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    public CommonResult<AdminPageVO> page(@RequestParam(value = "nickname", required = false) String nickname,
 | 
					    public CommonResult<AdminPageVO> page(AdminPageDTO adminPageDTO) {
 | 
				
			||||||
                                          @RequestParam(value = "pageNo", defaultValue = "0") Integer pageNo,
 | 
					//        CommonResult<AdminPageBO> result = adminService.getAdminPage(new AdminPageDTO().setNickname(nickname).setPageNo(pageNo).setPageSize(pageSize));
 | 
				
			||||||
                                          @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
 | 
					        CommonResult<AdminPageBO> result = adminService.getAdminPage(adminPageDTO);
 | 
				
			||||||
        CommonResult<AdminPageBO> result = adminService.getAdminPage(new AdminPageDTO().setNickname(nickname).setPageNo(pageNo).setPageSize(pageSize));
 | 
					 | 
				
			||||||
        return AdminConvert.INSTANCE.convert(result);
 | 
					        return AdminConvert.INSTANCE.convert(result);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @PostMapping("/add")
 | 
					    @PostMapping("/add")
 | 
				
			||||||
    @ApiOperation(value = "创建管理员")
 | 
					    @ApiOperation(value = "创建管理员")
 | 
				
			||||||
    @ApiImplicitParams({
 | 
					    public CommonResult<AdminBO> add(AdminAddDTO adminAddDTO) {
 | 
				
			||||||
            @ApiImplicitParam(name = "username", value = "账号", required = true, example = "15601691300"),
 | 
					        return success(adminService.addAdmin(AdminSecurityContextHolder.getContext().getAdminId(), adminAddDTO));
 | 
				
			||||||
            @ApiImplicitParam(name = "nickname", value = "昵称", required = true, example = "小王"),
 | 
					 | 
				
			||||||
            @ApiImplicitParam(name = "password", value = "密码", required = true, example = "buzhidao"),
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
    public CommonResult<AdminVO> add(@RequestParam("username") String username,
 | 
					 | 
				
			||||||
                                     @RequestParam("nickname") String nickname,
 | 
					 | 
				
			||||||
                                     @RequestParam("password") String password) {
 | 
					 | 
				
			||||||
        AdminAddDTO adminAddDTO = new AdminAddDTO().setUsername(username).setNickname(nickname).setPassword(password);
 | 
					 | 
				
			||||||
        return AdminConvert.INSTANCE.convert2(adminService.addAdmin(AdminSecurityContextHolder.getContext().getAdminId(), adminAddDTO));
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @PostMapping("/update")
 | 
					    @PostMapping("/update")
 | 
				
			||||||
| 
						 | 
					@ -157,7 +150,7 @@ public class AdminController {
 | 
				
			||||||
        List<AdminRoleVO> result = AdminConvert.INSTANCE.convert(allRoleList);
 | 
					        List<AdminRoleVO> result = AdminConvert.INSTANCE.convert(allRoleList);
 | 
				
			||||||
        // 设置每个角色是否赋予给改管理员
 | 
					        // 设置每个角色是否赋予给改管理员
 | 
				
			||||||
        result.forEach(adminRoleVO -> adminRoleVO.setAssigned(adminRoleIdSet.contains(adminRoleVO.getId())));
 | 
					        result.forEach(adminRoleVO -> adminRoleVO.setAssigned(adminRoleIdSet.contains(adminRoleVO.getId())));
 | 
				
			||||||
        return CommonResult.success(result);
 | 
					        return success(result);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @PostMapping("/assign_role")
 | 
					    @PostMapping("/assign_role")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.application.convert;
 | 
					package cn.iocoder.mall.admin.application.convert;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.iocoder.common.framework.vo.CommonResult;
 | 
					import cn.iocoder.common.framework.vo.CommonResult;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminPageBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminPageBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.RoleBO;
 | 
					import cn.iocoder.mall.admin.api.bo.RoleBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminInfoVO;
 | 
					import cn.iocoder.mall.admin.application.vo.AdminInfoVO;
 | 
				
			||||||
import cn.iocoder.mall.admin.application.vo.AdminPageVO;
 | 
					import cn.iocoder.mall.admin.application.vo.AdminPageVO;
 | 
				
			||||||
| 
						 | 
					@ -35,4 +35,4 @@ public interface AdminConvert {
 | 
				
			||||||
    @Mappings({})
 | 
					    @Mappings({})
 | 
				
			||||||
    List<AdminRoleVO> convert(List<RoleBO> roleList);
 | 
					    List<AdminRoleVO> convert(List<RoleBO> roleList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,12 +14,16 @@ public class AdminVO {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ApiModelProperty(value = "管理员编号", required = true, example = "1")
 | 
					    @ApiModelProperty(value = "管理员编号", required = true, example = "1")
 | 
				
			||||||
    private Integer id;
 | 
					    private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ApiModelProperty(value = "登陆账号", required = true, example = "15601691300")
 | 
					    @ApiModelProperty(value = "登陆账号", required = true, example = "15601691300")
 | 
				
			||||||
    private String username;
 | 
					    private String username;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ApiModelProperty(value = "昵称", required = true, example = "小王")
 | 
					    @ApiModelProperty(value = "昵称", required = true, example = "小王")
 | 
				
			||||||
    private String nickname;
 | 
					    private String nickname;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ApiModelProperty(value = "账号状态", required = true, example = "1")
 | 
					    @ApiModelProperty(value = "账号状态", required = true, example = "1")
 | 
				
			||||||
    private Integer status;
 | 
					    private Integer status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
 | 
					    @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
 | 
				
			||||||
    private Date createTime;
 | 
					    private Date createTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,3 @@ management:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
swagger:
 | 
					swagger:
 | 
				
			||||||
  enable: true # 暂时不去掉
 | 
					  enable: true # 暂时不去掉
 | 
				
			||||||
  title: 管理员子系统
 | 
					 | 
				
			||||||
  description: 管理员子系统
 | 
					 | 
				
			||||||
  version: 1.0.0
 | 
					 | 
				
			||||||
  base-package: cn.iocoder.mall.admin.application.controller
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,4 +19,8 @@ qiniu:
 | 
				
			||||||
  bucket: onemall
 | 
					  bucket: onemall
 | 
				
			||||||
 | 
					
 | 
				
			||||||
swagger:
 | 
					swagger:
 | 
				
			||||||
  enable: false # 暂时不去掉
 | 
					  enable: true # 暂时不去掉
 | 
				
			||||||
 | 
					  title: 管理员子系统
 | 
				
			||||||
 | 
					  description: 管理员子系统
 | 
				
			||||||
 | 
					  version: 1.0.0
 | 
				
			||||||
 | 
					  base-package: cn.iocoder.mall.admin.application.controller
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,12 @@
 | 
				
			||||||
            <version>1.0-SNAPSHOT</version>
 | 
					            <version>1.0-SNAPSHOT</version>
 | 
				
			||||||
        </dependency>
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <!-- Web 相关 -->
 | 
				
			||||||
 | 
					        <dependency>
 | 
				
			||||||
 | 
					            <groupId>io.springfox</groupId>
 | 
				
			||||||
 | 
					            <artifactId>springfox-swagger2</artifactId>
 | 
				
			||||||
 | 
					        </dependency>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <!-- 工具类相关 -->
 | 
					        <!-- 工具类相关 -->
 | 
				
			||||||
        <dependency>
 | 
					        <dependency>
 | 
				
			||||||
            <groupId>org.mapstruct</groupId>
 | 
					            <groupId>org.mapstruct</groupId>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,11 +3,11 @@ package cn.iocoder.mall.admin.api;
 | 
				
			||||||
import cn.iocoder.common.framework.constant.CommonStatusEnum;
 | 
					import cn.iocoder.common.framework.constant.CommonStatusEnum;
 | 
				
			||||||
import cn.iocoder.common.framework.validator.InEnum;
 | 
					import cn.iocoder.common.framework.validator.InEnum;
 | 
				
			||||||
import cn.iocoder.common.framework.vo.CommonResult;
 | 
					import cn.iocoder.common.framework.vo.CommonResult;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminPageBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminPageBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminPageDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminPageDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.Set;
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ public interface AdminService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CommonResult<AdminPageBO> getAdminPage(AdminPageDTO adminPageDTO);
 | 
					    CommonResult<AdminPageBO> getAdminPage(AdminPageDTO adminPageDTO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CommonResult<AdminBO> addAdmin(Integer adminId, AdminAddDTO adminAddDTO);
 | 
					    AdminBO addAdmin(Integer adminId, AdminAddDTO adminAddDTO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CommonResult<Boolean> updateAdmin(Integer adminId, AdminUpdateDTO adminUpdateDTO);
 | 
					    CommonResult<Boolean> updateAdmin(Integer adminId, AdminUpdateDTO adminUpdateDTO);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,37 +0,0 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.api.bo;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import lombok.Data;
 | 
					 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import java.io.Serializable;
 | 
					 | 
				
			||||||
import java.util.Date;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * 管理员 BO
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
@Data
 | 
					 | 
				
			||||||
@Accessors(chain = true)
 | 
					 | 
				
			||||||
public class AdminBO implements Serializable {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 管理员编号
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    private Integer id;
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 登陆账号
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    private String username;
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 昵称
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    private String nickname;
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 账号状态
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    private Integer status;
 | 
					 | 
				
			||||||
    /**
 | 
					 | 
				
			||||||
     * 创建时间
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    private Date createTime;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					package cn.iocoder.mall.admin.api.bo.admin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@ApiModel("管理员 BO")
 | 
				
			||||||
 | 
					@Data
 | 
				
			||||||
 | 
					@Accessors(chain = true)
 | 
				
			||||||
 | 
					public class AdminBO implements Serializable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "管理员编号", required = true, example = "1")
 | 
				
			||||||
 | 
					    private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "登陆账号", required = true, example = "15601691300")
 | 
				
			||||||
 | 
					    private String username;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "昵称", required = true, example = "小王")
 | 
				
			||||||
 | 
					    private String nickname;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "账号状态", required = true, example = "1", dataType= "CommonStatusEnum")
 | 
				
			||||||
 | 
					    private Integer status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
 | 
				
			||||||
 | 
					    private Date createTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.api.bo;
 | 
					package cn.iocoder.mall.admin.api.bo.admin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					import lombok.experimental.Accessors;
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.api.dto;
 | 
					package cn.iocoder.mall.admin.api.dto.admin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModel;
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiModelProperty;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					import lombok.experimental.Accessors;
 | 
				
			||||||
import org.hibernate.validator.constraints.Length;
 | 
					import org.hibernate.validator.constraints.Length;
 | 
				
			||||||
| 
						 | 
					@ -8,29 +10,23 @@ import javax.validation.constraints.NotEmpty;
 | 
				
			||||||
import javax.validation.constraints.Pattern;
 | 
					import javax.validation.constraints.Pattern;
 | 
				
			||||||
import java.io.Serializable;
 | 
					import java.io.Serializable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					@ApiModel("管理员添加 DTO")
 | 
				
			||||||
 * 管理员添加 DTO
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
@Data
 | 
					@Data
 | 
				
			||||||
@Accessors(chain = true)
 | 
					@Accessors(chain = true)
 | 
				
			||||||
public class AdminAddDTO implements Serializable {
 | 
					public class AdminAddDTO implements Serializable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    @ApiModelProperty(value = "登陆账号", required = true, example = "15601691300")
 | 
				
			||||||
     * 登陆账号
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    @NotEmpty(message = "登陆账号不能为空")
 | 
					    @NotEmpty(message = "登陆账号不能为空")
 | 
				
			||||||
    @Length(min = 6, max = 16, message = "账号长度为 6-16 位")
 | 
					    @Length(min = 6, max = 16, message = "账号长度为 6-16 位")
 | 
				
			||||||
    @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")
 | 
					    @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")
 | 
				
			||||||
    private String username;
 | 
					    private String username;
 | 
				
			||||||
    /**
 | 
					
 | 
				
			||||||
     * 昵称
 | 
					    @ApiModelProperty(value = "昵称", required = true, example = "小王")
 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    @NotEmpty(message = "昵称不能为空")
 | 
					    @NotEmpty(message = "昵称不能为空")
 | 
				
			||||||
    @Length(max = 10, message = "昵称长度最大为 10 位")
 | 
					    @Length(max = 10, message = "昵称长度最大为 10 位")
 | 
				
			||||||
    private String nickname;
 | 
					    private String nickname;
 | 
				
			||||||
    /**
 | 
					
 | 
				
			||||||
     * 密码
 | 
					    @ApiModelProperty(value = "密码", required = true, example = "buzhidao")
 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    @NotEmpty(message = "密码不能为空")
 | 
					    @NotEmpty(message = "密码不能为空")
 | 
				
			||||||
    @Length(min = 6, max = 16, message = "密码长度为 6-16 位")
 | 
					    @Length(min = 6, max = 16, message = "密码长度为 6-16 位")
 | 
				
			||||||
    private String password;
 | 
					    private String password;
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.api.dto;
 | 
					package cn.iocoder.mall.admin.api.dto.admin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					import lombok.experimental.Accessors;
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.api.dto;
 | 
					package cn.iocoder.mall.admin.api.dto.admin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiImplicitParam;
 | 
				
			||||||
 | 
					import io.swagger.annotations.ApiImplicitParams;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					import lombok.experimental.Accessors;
 | 
				
			||||||
import org.hibernate.validator.constraints.Length;
 | 
					import org.hibernate.validator.constraints.Length;
 | 
				
			||||||
| 
						 | 
					@ -14,6 +16,12 @@ import java.io.Serializable;
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@Data
 | 
					@Data
 | 
				
			||||||
@Accessors(chain = true)
 | 
					@Accessors(chain = true)
 | 
				
			||||||
 | 
					@ApiImplicitParams({
 | 
				
			||||||
 | 
					        @ApiImplicitParam(name = "id", value = "管理员编号", required = true, example = "1"),
 | 
				
			||||||
 | 
					        @ApiImplicitParam(name = "username", value = "账号", required = true, example = "15601691300"),
 | 
				
			||||||
 | 
					        @ApiImplicitParam(name = "nickname", value = "昵称", required = true, example = "小王"),
 | 
				
			||||||
 | 
					        @ApiImplicitParam(name = "password", value = "密码", example = "buzhidao"),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
public class AdminUpdateDTO implements Serializable {
 | 
					public class AdminUpdateDTO implements Serializable {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,9 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.config;
 | 
					package cn.iocoder.mall.admin.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.injector.ISqlInjector;
 | 
				
			||||||
import org.mybatis.spring.annotation.MapperScan;
 | 
					import org.mybatis.spring.annotation.MapperScan;
 | 
				
			||||||
 | 
					import org.springframework.context.annotation.Bean;
 | 
				
			||||||
import org.springframework.context.annotation.Configuration;
 | 
					import org.springframework.context.annotation.Configuration;
 | 
				
			||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
 | 
					import org.springframework.transaction.annotation.EnableTransactionManagement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,4 +14,9 @@ public class DatabaseConfiguration {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 数据库连接池 Druid
 | 
					    // 数据库连接池 Druid
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Bean
 | 
				
			||||||
 | 
					    public ISqlInjector sqlInjector() {
 | 
				
			||||||
 | 
					        return new DefaultSqlInjector(); // MyBatis Plus 逻辑删除
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.convert;
 | 
					package cn.iocoder.mall.admin.convert;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.dataobject.AdminDO;
 | 
					import cn.iocoder.mall.admin.dataobject.AdminDO;
 | 
				
			||||||
import org.mapstruct.Mapper;
 | 
					import org.mapstruct.Mapper;
 | 
				
			||||||
import org.mapstruct.Mappings;
 | 
					import org.mapstruct.Mappings;
 | 
				
			||||||
| 
						 | 
					@ -27,4 +27,4 @@ public interface AdminConvert {
 | 
				
			||||||
    @Mappings({})
 | 
					    @Mappings({})
 | 
				
			||||||
    List<AdminBO> convert(List<AdminDO> adminBOs);
 | 
					    List<AdminBO> convert(List<AdminDO> adminBOs);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,17 +1,19 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.dao;
 | 
					package cn.iocoder.mall.admin.dao;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.iocoder.mall.admin.dataobject.AdminDO;
 | 
					import cn.iocoder.mall.admin.dataobject.AdminDO;
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 | 
				
			||||||
import org.apache.ibatis.annotations.Param;
 | 
					import org.apache.ibatis.annotations.Param;
 | 
				
			||||||
import org.springframework.stereotype.Repository;
 | 
					import org.springframework.stereotype.Repository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Repository
 | 
					@Repository
 | 
				
			||||||
public interface AdminMapper {
 | 
					public interface AdminMapper extends BaseMapper<AdminDO> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    AdminDO selectById(@Param("id") Integer id);
 | 
					    default AdminDO selectByUsername(@Param("username") String username) {
 | 
				
			||||||
 | 
					        return selectOne(new QueryWrapper<AdminDO>().eq("username", username));
 | 
				
			||||||
    AdminDO selectByUsername(@Param("username") String username);
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    List<AdminDO> selectListByNicknameLike(@Param("nickname") String nickname,
 | 
					    List<AdminDO> selectListByNicknameLike(@Param("nickname") String nickname,
 | 
				
			||||||
                                           @Param("offset") Integer offset,
 | 
					                                           @Param("offset") Integer offset,
 | 
				
			||||||
| 
						 | 
					@ -19,8 +21,6 @@ public interface AdminMapper {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Integer selectCountByNicknameLike(@Param("nickname") String nickname);
 | 
					    Integer selectCountByNicknameLike(@Param("nickname") String nickname);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void insert(AdminDO admin);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    int update(AdminDO admin);
 | 
					    int update(AdminDO admin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,14 @@
 | 
				
			||||||
package cn.iocoder.mall.admin.dataobject;
 | 
					package cn.iocoder.mall.admin.dataobject;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import cn.iocoder.common.framework.dataobject.DeletableDO;
 | 
					import cn.iocoder.common.framework.dataobject.DeletableDO;
 | 
				
			||||||
 | 
					import com.baomidou.mybatisplus.annotation.TableName;
 | 
				
			||||||
import lombok.Data;
 | 
					import lombok.Data;
 | 
				
			||||||
import lombok.experimental.Accessors;
 | 
					import lombok.experimental.Accessors;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 管理员实体
 | 
					 * 管理员实体
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					@TableName(value = "admin")
 | 
				
			||||||
@Data
 | 
					@Data
 | 
				
			||||||
@Accessors(chain = true)
 | 
					@Accessors(chain = true)
 | 
				
			||||||
public class AdminDO extends DeletableDO {
 | 
					public class AdminDO extends DeletableDO {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,13 +5,13 @@ import cn.iocoder.common.framework.constant.DeletedStatusEnum;
 | 
				
			||||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
 | 
					import cn.iocoder.common.framework.util.ServiceExceptionUtil;
 | 
				
			||||||
import cn.iocoder.common.framework.vo.CommonResult;
 | 
					import cn.iocoder.common.framework.vo.CommonResult;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.AdminService;
 | 
					import cn.iocoder.mall.admin.api.AdminService;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.bo.AdminPageBO;
 | 
					import cn.iocoder.mall.admin.api.bo.admin.AdminPageBO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.constant.AdminConstants;
 | 
					import cn.iocoder.mall.admin.api.constant.AdminConstants;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum;
 | 
					import cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminPageDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminPageDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
 | 
					import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
 | 
				
			||||||
import cn.iocoder.mall.admin.convert.AdminConvert;
 | 
					import cn.iocoder.mall.admin.convert.AdminConvert;
 | 
				
			||||||
import cn.iocoder.mall.admin.dao.AdminMapper;
 | 
					import cn.iocoder.mall.admin.dao.AdminMapper;
 | 
				
			||||||
import cn.iocoder.mall.admin.dao.AdminRoleMapper;
 | 
					import cn.iocoder.mall.admin.dao.AdminRoleMapper;
 | 
				
			||||||
| 
						 | 
					@ -79,10 +79,10 @@ public class AdminServiceImpl implements AdminService {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public CommonResult<AdminBO> addAdmin(Integer adminId, AdminAddDTO adminAddDTO) {
 | 
					    public AdminBO addAdmin(Integer adminId, AdminAddDTO adminAddDTO) {
 | 
				
			||||||
        // 校验账号唯一
 | 
					        // 校验账号唯一
 | 
				
			||||||
        if (adminMapper.selectByUsername(adminAddDTO.getUsername()) != null) {
 | 
					        if (adminMapper.selectByUsername(adminAddDTO.getUsername()) != null) {
 | 
				
			||||||
            return ServiceExceptionUtil.error(AdminErrorCodeEnum.ADMIN_USERNAME_EXISTS.getCode());
 | 
					            throw ServiceExceptionUtil.exception(AdminErrorCodeEnum.ADMIN_USERNAME_EXISTS.getCode());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // 保存到数据库
 | 
					        // 保存到数据库
 | 
				
			||||||
        AdminDO admin = AdminConvert.INSTANCE.convert(adminAddDTO)
 | 
					        AdminDO admin = AdminConvert.INSTANCE.convert(adminAddDTO)
 | 
				
			||||||
| 
						 | 
					@ -93,7 +93,7 @@ public class AdminServiceImpl implements AdminService {
 | 
				
			||||||
        adminMapper.insert(admin);
 | 
					        adminMapper.insert(admin);
 | 
				
			||||||
        // TODO 插入操作日志
 | 
					        // TODO 插入操作日志
 | 
				
			||||||
        // 返回成功
 | 
					        // 返回成功
 | 
				
			||||||
        return CommonResult.success(AdminConvert.INSTANCE.convert(admin));
 | 
					        return AdminConvert.INSTANCE.convert(admin);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,8 @@ mybatis-plus:
 | 
				
			||||||
  global-config:
 | 
					  global-config:
 | 
				
			||||||
    db-config:
 | 
					    db-config:
 | 
				
			||||||
      id-type: auto
 | 
					      id-type: auto
 | 
				
			||||||
 | 
					      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
 | 
				
			||||||
 | 
					      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
 | 
				
			||||||
  mapper-locations: classpath*:mapper/*.xml
 | 
					  mapper-locations: classpath*:mapper/*.xml
 | 
				
			||||||
  type-aliases-package: cn.iocoder.mall.admin.dataobject
 | 
					  type-aliases-package: cn.iocoder.mall.admin.dataobject
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,14 +7,6 @@
 | 
				
			||||||
      create_time
 | 
					      create_time
 | 
				
			||||||
    </sql>
 | 
					    </sql>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <select id="selectByUsername" parameterType="String" resultType="AdminDO">
 | 
					 | 
				
			||||||
        SELECT
 | 
					 | 
				
			||||||
            <include refid="FIELDS" />
 | 
					 | 
				
			||||||
        FROM admin
 | 
					 | 
				
			||||||
        WHERE username = #{username}
 | 
					 | 
				
			||||||
        AND deleted = 0
 | 
					 | 
				
			||||||
    </select>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <select id="selectListByNicknameLike" resultType="AdminDO">
 | 
					    <select id="selectListByNicknameLike" resultType="AdminDO">
 | 
				
			||||||
        SELECT
 | 
					        SELECT
 | 
				
			||||||
            <include refid="FIELDS" />
 | 
					            <include refid="FIELDS" />
 | 
				
			||||||
| 
						 | 
					@ -40,16 +32,6 @@
 | 
				
			||||||
        </where>
 | 
					        </where>
 | 
				
			||||||
    </select>
 | 
					    </select>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <insert id="insert" parameterType="AdminDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 | 
					 | 
				
			||||||
        INSERT INTO admin (
 | 
					 | 
				
			||||||
          username, nickname, password, status,
 | 
					 | 
				
			||||||
          create_time, deleted
 | 
					 | 
				
			||||||
        ) VALUES (
 | 
					 | 
				
			||||||
          #{username}, #{nickname}, #{password}, #{status},
 | 
					 | 
				
			||||||
          #{createTime}, #{deleted}
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
    </insert>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <select id="selectById" parameterType="Integer" resultType="AdminDO">
 | 
					    <select id="selectById" parameterType="Integer" resultType="AdminDO">
 | 
				
			||||||
        SELECT
 | 
					        SELECT
 | 
				
			||||||
            <include refid="FIELDS" />
 | 
					            <include refid="FIELDS" />
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue