- 后端:基于新的代码规范,和 mybatis-plus 框架,重构 admin 框架
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
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.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@@ -11,4 +14,9 @@ public class DatabaseConfiguration {
|
||||
|
||||
// 数据库连接池 Druid
|
||||
|
||||
@Bean
|
||||
public ISqlInjector sqlInjector() {
|
||||
return new DefaultSqlInjector(); // MyBatis Plus 逻辑删除
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package cn.iocoder.mall.admin.convert;
|
||||
|
||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
|
||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
|
||||
import cn.iocoder.mall.admin.api.bo.admin.AdminBO;
|
||||
import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
|
||||
import cn.iocoder.mall.admin.dataobject.AdminDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mappings;
|
||||
@@ -27,4 +27,4 @@ public interface AdminConvert {
|
||||
@Mappings({})
|
||||
List<AdminBO> convert(List<AdminDO> adminBOs);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
package cn.iocoder.mall.admin.dao;
|
||||
|
||||
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.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface AdminMapper {
|
||||
public interface AdminMapper extends BaseMapper<AdminDO> {
|
||||
|
||||
AdminDO selectById(@Param("id") Integer id);
|
||||
|
||||
AdminDO selectByUsername(@Param("username") String username);
|
||||
default AdminDO selectByUsername(@Param("username") String username) {
|
||||
return selectOne(new QueryWrapper<AdminDO>().eq("username", username));
|
||||
}
|
||||
|
||||
List<AdminDO> selectListByNicknameLike(@Param("nickname") String nickname,
|
||||
@Param("offset") Integer offset,
|
||||
@@ -19,8 +21,6 @@ public interface AdminMapper {
|
||||
|
||||
Integer selectCountByNicknameLike(@Param("nickname") String nickname);
|
||||
|
||||
void insert(AdminDO admin);
|
||||
|
||||
int update(AdminDO admin);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package cn.iocoder.mall.admin.dataobject;
|
||||
|
||||
import cn.iocoder.common.framework.dataobject.DeletableDO;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 管理员实体
|
||||
*/
|
||||
@TableName(value = "admin")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
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.vo.CommonResult;
|
||||
import cn.iocoder.mall.admin.api.AdminService;
|
||||
import cn.iocoder.mall.admin.api.bo.AdminBO;
|
||||
import cn.iocoder.mall.admin.api.bo.AdminPageBO;
|
||||
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.AdminConstants;
|
||||
import cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum;
|
||||
import cn.iocoder.mall.admin.api.dto.AdminAddDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.AdminPageDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.AdminUpdateDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.admin.AdminAddDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.admin.AdminPageDTO;
|
||||
import cn.iocoder.mall.admin.api.dto.admin.AdminUpdateDTO;
|
||||
import cn.iocoder.mall.admin.convert.AdminConvert;
|
||||
import cn.iocoder.mall.admin.dao.AdminMapper;
|
||||
import cn.iocoder.mall.admin.dao.AdminRoleMapper;
|
||||
@@ -79,10 +79,10 @@ public class AdminServiceImpl implements AdminService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<AdminBO> addAdmin(Integer adminId, AdminAddDTO adminAddDTO) {
|
||||
public AdminBO addAdmin(Integer adminId, AdminAddDTO adminAddDTO) {
|
||||
// 校验账号唯一
|
||||
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)
|
||||
@@ -93,7 +93,7 @@ public class AdminServiceImpl implements AdminService {
|
||||
adminMapper.insert(admin);
|
||||
// TODO 插入操作日志
|
||||
// 返回成功
|
||||
return CommonResult.success(AdminConvert.INSTANCE.convert(admin));
|
||||
return AdminConvert.INSTANCE.convert(admin);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,6 +19,8 @@ mybatis-plus:
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: auto
|
||||
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
|
||||
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
|
||||
mapper-locations: classpath*:mapper/*.xml
|
||||
type-aliases-package: cn.iocoder.mall.admin.dataobject
|
||||
|
||||
|
||||
@@ -7,14 +7,6 @@
|
||||
create_time
|
||||
</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
|
||||
<include refid="FIELDS" />
|
||||
@@ -40,16 +32,6 @@
|
||||
</where>
|
||||
</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
|
||||
<include refid="FIELDS" />
|
||||
|
||||
Reference in New Issue
Block a user