Commit 7b0d9cf4 by whl

新建bsoft-api

parent ab221255
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.bsoft</groupId>
<artifactId>bsoft-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>bsoft-api</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.bsoft</groupId>
<artifactId>bsoft-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>../bsoft-api/src/test/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<!--region mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!--endregion-->
<!--region mssql-->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.0.jre8</version>
<scope>runtime</scope>
</dependency>
<!--endregion-->
<!--region Mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.1</version>
</dependency>
<!--endregion-->
<!--region Mybatis Generator-->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<!--endregion-->
</dependencies>
</plugin>
</plugins>
</build>
</project>
package com.bsoft.api;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@MapperScan("com.bsoft.api.mapper")
@ComponentScan(basePackages = {"com.bsoft.common.config.swaggerconfig","com.bsoft.api"})
public class BsoftApiApplication {
public static void main(String[] args) {
SpringApplication.run(BsoftApiApplication.class, args);
}
}
package com.bsoft.api.common;
import com.bsoft.api.model.SysUser;
import com.bsoft.common.utils.JWTUtil;
import com.bsoft.common.utils.RedisUtil;
public class TokenUtil {
public final static long TOKEN_TIME_OUT = 2L * 60 * 60;
public final static long OLD_TOKEN_DURATION = 5L * 60;
/**
* 获取token,并将token存入redis
* @param secret
* @param user
* @return
*/
public static String getToken(String secret, SysUser user){
String time = String.valueOf(System.currentTimeMillis());
String token = JWTUtil.createTokenWithAudience(secret, time, String.valueOf(user.getId()));
RedisUtil.set(token, user, TOKEN_TIME_OUT);
return token;
}
/**
* 刷新token,并将旧token设置过期时间为5分钟
* @param oldToken
* @return
*/
public static String refresh(String oldToken){
String token = null;
SysUser user = (SysUser) RedisUtil.get(oldToken);
if(user != null && JWTUtil.verifier(oldToken, user.getPassword())){
RedisUtil.expire(oldToken, OLD_TOKEN_DURATION);
String time = String.valueOf(System.currentTimeMillis());
token = JWTUtil.createTokenWithAudience(user.getPassword(),time, String.valueOf(user.getId()));
}
return token;
}
}
package com.bsoft.api.controller;
import com.bsoft.api.service.LoginService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("login")
@Api(tags = {"登录"},produces="aa",description = "111")
public class LoginController {
@Autowired
private LoginService loginServiceImpl;
@PostMapping
@ApiOperation("登录")
@ApiImplicitParams({
@ApiImplicitParam(value = "登录名", name="loginName", required=true,paramType="query"),
@ApiImplicitParam(value = "验证码", name="code", required = true,paramType="query")})
public Object login(String loginName, String password){
return 1;
}
}
package com.bsoft.api.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "用户API",produces="produces",consumes="consumes",protocols="protocols")
@RequestMapping("/user")
@RestController
public class UserController {
}
package com.bsoft.api.mapper;
import com.bsoft.api.model.SysUser;
import java.util.List;
public interface SysUserMapper {
int deleteByPrimaryKey(Integer id);
int insert(SysUser record);
SysUser selectByPrimaryKey(Integer id);
List<SysUser> selectAll();
int updateByPrimaryKey(SysUser record);
SysUser selectByCode(String code);
}
\ No newline at end of file
package com.bsoft.api.model;
import java.util.Date;
public class SysUser {
private Integer id;
private Date createDate;
private Integer createUserid;
private Integer state;
private String userCode;
private String userName;
private String password;
private String idcard;
private String sex;
private String mobile;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public Integer getCreateUserid() {
return createUserid;
}
public void setCreateUserid(Integer createUserid) {
this.createUserid = createUserid;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getIdcard() {
return idcard;
}
public void setIdcard(String idcard) {
this.idcard = idcard;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
\ No newline at end of file
package com.bsoft.api.service.Impl;
import com.bsoft.api.common.TokenUtil;
import com.bsoft.api.model.SysUser;
import com.bsoft.api.service.LoginService;
import com.bsoft.api.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class LoginServiceImpl implements LoginService {
@Autowired
private UserService userServiceImpl;
@Override
public LoginInfo login(String logName, String password) {
LoginInfo loginInfo = new LoginInfo();
SysUser user = userServiceImpl.findByLoginName(logName);
if(user != null && user.getPassword().equals(password)){
String token = TokenUtil.getToken(password, user);
user.setPassword(null);
loginInfo.setToken(token);
loginInfo.setUser(user);
}
return loginInfo;
}
public String refreshToken(String oldToken){
return TokenUtil.refresh(oldToken);
}
}
package com.bsoft.api.service.Impl;
import com.bsoft.api.mapper.SysUserMapper;
import com.bsoft.api.model.SysUser;
import com.bsoft.api.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserServiceImpl implements UserService {
@Resource
private SysUserMapper sysUserMapper;
@Override
public SysUser findByLoginName(String loginName) {
return sysUserMapper.selectByCode(loginName);
}
}
package com.bsoft.api.service;
import com.bsoft.api.model.SysUser;
public interface LoginService {
LoginInfo login(String loginName, String password);
String refreshToken(String oldToken);
class LoginInfo {
private String token;
private SysUser user;
public LoginInfo() {
}
public LoginInfo(String token, SysUser user) {
this.token = token;
this.user = user;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public SysUser getUser() {
return user;
}
public void setUser(SysUser user) {
this.user = user;
}
}
}
package com.bsoft.api.service;
import com.bsoft.api.model.SysUser;
public interface UserService {
SysUser findByLoginName(String loginName);
}
#### \u5F00\u53D1\u73AF\u5883 ###################################################
jdbc.url=jdbc:mysql://192.168.18.55:3306/bsoft?useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true&rewriteBatchedStatements=TRUE
jdbc.username=ll
jdbc.password=123456
jdbc.driverClass=com.mysql.jdbc.Driver
swagger.enabled=true
swagger.basePackage=com.bsoft.api.controller
\ No newline at end of file
<?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="com.bsoft.api.mapper.SysUserMapper">
<resultMap id="BaseResultMap" type="com.bsoft.api.model.SysUser">
<id column="ID" jdbcType="INTEGER" property="id" />
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate" />
<result column="CREATE_USERID" jdbcType="INTEGER" property="createUserid" />
<result column="STATE" jdbcType="INTEGER" property="state" />
<result column="USER_CODE" jdbcType="VARCHAR" property="userCode" />
<result column="USER_NAME" jdbcType="VARCHAR" property="userName" />
<result column="PASSWORD" jdbcType="VARCHAR" property="password" />
<result column="IDCARD" jdbcType="VARCHAR" property="idcard" />
<result column="SEX" jdbcType="VARCHAR" property="sex" />
<result column="MOBILE" jdbcType="VARCHAR" property="mobile" />
</resultMap>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from sys_user
where ID = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.bsoft.api.model.SysUser">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into sys_user (CREATE_DATE, CREATE_USERID, STATE,
USER_CODE, USER_NAME, PASSWORD,
IDCARD, SEX, MOBILE
)
values (#{createDate,jdbcType=TIMESTAMP}, #{createUserid,jdbcType=INTEGER}, #{state,jdbcType=INTEGER},
#{userCode,jdbcType=VARCHAR}, #{userName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{idcard,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}
)
</insert>
<update id="updateByPrimaryKey" parameterType="com.bsoft.api.model.SysUser">
update sys_user
set CREATE_DATE = #{createDate,jdbcType=TIMESTAMP},
CREATE_USERID = #{createUserid,jdbcType=INTEGER},
STATE = #{state,jdbcType=INTEGER},
USER_CODE = #{userCode,jdbcType=VARCHAR},
USER_NAME = #{userName,jdbcType=VARCHAR},
PASSWORD = #{password,jdbcType=VARCHAR},
IDCARD = #{idcard,jdbcType=VARCHAR},
SEX = #{sex,jdbcType=VARCHAR},
MOBILE = #{mobile,jdbcType=VARCHAR}
where ID = #{id,jdbcType=INTEGER}
</update>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, STATE, USER_CODE, USER_NAME, PASSWORD, IDCARD,
SEX, MOBILE
from sys_user
where ID = #{id,jdbcType=INTEGER}
</select>
<select id="selectAll" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, STATE, USER_CODE, USER_NAME, PASSWORD, IDCARD,
SEX, MOBILE
from sys_user
</select>
<select id="selectByCode" resultMap="BaseResultMap">
select ID, CREATE_DATE, CREATE_USERID, STATE, USER_CODE, USER_NAME, PASSWORD, IDCARD,
SEX, MOBILE
from sys_user
where USER_CODE=#{code,jdbcType=VARCHAR}
</select>
</mapper>
\ No newline at end of file
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