From c4d8f9f7a1cb3fa0a76ccfa67c218677451e7245 Mon Sep 17 00:00:00 2001 From: xioayue Date: Thu, 30 Jun 2022 09:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86mapper=20se?= =?UTF-8?q?rvice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chjyj/szwh/Interceptor/ChInterceptor.java | 7 ++- src/main/java/cn/chjyj/szwh/bean/Admin.java | 47 ++++++++++++++ .../cn/chjyj/szwh/mapper/AdminMapper.java | 42 +++++++++++++ .../cn/chjyj/szwh/service/AdminService.java | 37 +++++++++++ .../szwh/service/impl/AdminServiceImpl.java | 40 ++++++++++++ .../resources/mapper/szwh/AdminMapper.xml | 55 ++++++++++++++++ .../cn/chjyj/szwh/mapper/AdminMapperTest.java | 62 +++++++++++++++++++ 7 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 src/main/java/cn/chjyj/szwh/bean/Admin.java create mode 100644 src/main/java/cn/chjyj/szwh/mapper/AdminMapper.java create mode 100644 src/main/java/cn/chjyj/szwh/service/AdminService.java create mode 100644 src/main/java/cn/chjyj/szwh/service/impl/AdminServiceImpl.java create mode 100644 src/main/resources/mapper/szwh/AdminMapper.xml create mode 100644 src/test/java/cn/chjyj/szwh/mapper/AdminMapperTest.java diff --git a/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java b/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java index c6aa62f..58ae5bc 100644 --- a/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java +++ b/src/main/java/cn/chjyj/szwh/Interceptor/ChInterceptor.java @@ -4,6 +4,8 @@ package cn.chjyj.szwh.Interceptor; import cn.chjyj.szwh.annotation.PassToken; import cn.chjyj.szwh.exception.ChException; import cn.chjyj.szwh.utils.JwtUtils; +import com.auth0.jwt.JWT; +import com.auth0.jwt.interfaces.DecodedJWT; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; @@ -42,8 +44,9 @@ public class ChInterceptor implements HandlerInterceptor { throw new ChException("请登录重试"); } - // 获取 token 中的 user Name - String userId = JwtUtils.getAudience(token); + DecodedJWT decode = JWT.decode(token); + //获取到里面存在的用户id + String userId = decode.getClaim("userid").asString(); //找找看是否有这个user 因为我们需要检查用户是否存在,读者可以自行修改逻辑 // todo diff --git a/src/main/java/cn/chjyj/szwh/bean/Admin.java b/src/main/java/cn/chjyj/szwh/bean/Admin.java new file mode 100644 index 0000000..2468a59 --- /dev/null +++ b/src/main/java/cn/chjyj/szwh/bean/Admin.java @@ -0,0 +1,47 @@ +package cn.chjyj.szwh.bean; + +import java.io.Serializable; + +/** + * 管理用户 + */ +public class Admin implements Serializable { + private static final long serialVersionUID = 1L; + /** + * `admin` + * id,account_name as accountName,account_id as accountId + */ + private Integer id; + /** + * 名称 + */ + private String accountName; + /** + * 用户名称 + */ + private String accountId; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getAccountName() { + return accountName; + } + + public void setAccountName(String accountName) { + this.accountName = accountName; + } + + public String getAccountId() { + return accountId; + } + + public void setAccountId(String accountId) { + this.accountId = accountId; + } +} \ No newline at end of file diff --git a/src/main/java/cn/chjyj/szwh/mapper/AdminMapper.java b/src/main/java/cn/chjyj/szwh/mapper/AdminMapper.java new file mode 100644 index 0000000..130fec6 --- /dev/null +++ b/src/main/java/cn/chjyj/szwh/mapper/AdminMapper.java @@ -0,0 +1,42 @@ +package cn.chjyj.szwh.mapper; + +import cn.chjyj.szwh.bean.Admin; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 管理员mapper + */ +@Component +public interface AdminMapper { + /** + * 根据account_id + * @param accountId 登陆账号 + * @return + */ + Admin getAdminByAccountId(String accountId); + + /** + * 管理人员列表 + * @param startRs + * @param pagesize + * @return + */ + List getAdminList(@Param("startRs") int startRs, @Param("pageSize") int pagesize); + + /** + * 增加管理员 + * @param admin + * @return + */ + int addAdmin(Admin admin); + + /** + * 更新管理员信息 + * @param admin + * @return + */ + int updateAdmin(Admin admin); +} diff --git a/src/main/java/cn/chjyj/szwh/service/AdminService.java b/src/main/java/cn/chjyj/szwh/service/AdminService.java new file mode 100644 index 0000000..57b7e83 --- /dev/null +++ b/src/main/java/cn/chjyj/szwh/service/AdminService.java @@ -0,0 +1,37 @@ +package cn.chjyj.szwh.service; + +import cn.chjyj.szwh.bean.Admin; +import java.util.List; + +/** + * 系统账号service 接口层 + */ +public interface AdminService { + /** + * 根据account_id + * @param accountId 登陆账号 + * @return + */ + Admin getAdminByAccountId(String accountId); + + /** + * 管理人员列表 + * @param page + * @return + */ + List getAdminList(int page); + + /** + * 增加管理员 + * @param admin + * @return + */ + int addAdmin(Admin admin); + + /** + * 更新管理员信息 + * @param admin + * @return + */ + int updateAdmin(Admin admin); +} diff --git a/src/main/java/cn/chjyj/szwh/service/impl/AdminServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/AdminServiceImpl.java new file mode 100644 index 0000000..bcb96da --- /dev/null +++ b/src/main/java/cn/chjyj/szwh/service/impl/AdminServiceImpl.java @@ -0,0 +1,40 @@ +package cn.chjyj.szwh.service.impl; + +import cn.chjyj.szwh.bean.Admin; +import cn.chjyj.szwh.constant.ChConstant; +import cn.chjyj.szwh.mapper.AdminMapper; +import cn.chjyj.szwh.service.AdminService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * ADMIN 接口实现层 + */ +@Service +public class AdminServiceImpl implements AdminService { + @Autowired + private AdminMapper adminMapper; + + @Override + public Admin getAdminByAccountId(String accountId) { + return adminMapper.getAdminByAccountId(accountId); + } + + @Override + public List getAdminList(int page) { + int startrs = page>0?(page-1)* ChConstant.PAGESIZE :0; + return adminMapper.getAdminList(startrs,ChConstant.PAGESIZE); + } + + @Override + public int addAdmin(Admin admin) { + return adminMapper.addAdmin(admin); + } + + @Override + public int updateAdmin(Admin admin) { + return adminMapper.updateAdmin(admin); + } +} diff --git a/src/main/resources/mapper/szwh/AdminMapper.xml b/src/main/resources/mapper/szwh/AdminMapper.xml new file mode 100644 index 0000000..98ad61d --- /dev/null +++ b/src/main/resources/mapper/szwh/AdminMapper.xml @@ -0,0 +1,55 @@ + + + + + + id,account_name as accountName,account_id as accountName,account_id as accountId + + `admin` + + + + + + + + + + insert into + + (account_name,account_id) + values ( + #{accountName}, + #{accountId} + ) + + + + + update + + + + account_name=#{accountName}, + + + account_id=#{accountId}, + + + where id=#{id}; + + + \ No newline at end of file diff --git a/src/test/java/cn/chjyj/szwh/mapper/AdminMapperTest.java b/src/test/java/cn/chjyj/szwh/mapper/AdminMapperTest.java new file mode 100644 index 0000000..acacb05 --- /dev/null +++ b/src/test/java/cn/chjyj/szwh/mapper/AdminMapperTest.java @@ -0,0 +1,62 @@ +package cn.chjyj.szwh.mapper; + +import cn.chjyj.szwh.bean.Admin; +import cn.chjyj.szwh.constant.ChConstant; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Rollback; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +import static org.junit.Assert.*; + +@SpringBootTest +@RunWith(SpringRunner.class) +@Transactional +public class AdminMapperTest { + @Autowired + private AdminMapper adminMapper; + + @Test + public void getAdminByAccountId() { + String acid="admin"; + Admin admin = adminMapper.getAdminByAccountId(acid); + System.out.println(admin.getAccountName()); + } + + + @Test + public void getAdminList() { + int startrs=0; + List admins = adminMapper.getAdminList(startrs, ChConstant.PAGESIZE); + System.out.println(admins.size()); + } + + /** + * rollback为false时候,提交数据,否则执行回滚 + */ + @Rollback + @Test + public void addAdmin() { + Admin admin = new Admin(); + admin.setAccountId("zhangsan"); + admin.setAccountName("张三"); + // 执行插入操作 + int ret = adminMapper.addAdmin(admin); + } + + @Rollback + @Test + public void updateAdmin() { + int id=1; + Admin admin = new Admin(); + admin.setId(id); + admin.setAccountName("老六"); + // 执行更新 + adminMapper.updateAdmin(admin); + } +} \ No newline at end of file