工具类从用户注册接口开始。源码:https://github.com/limingios/wxProgram.git 中的wx-springboot
返回统一工具类JSonResult 放入common工程中
package com.idig8.utils;
public class JSONResult {
// 响应业务状态
private Integer status;
// 响应消息
private String msg;
// 响应中的数据
private Object data;
private String ok; // 不使用
public static JSONResult build(Integer status, String msg, Object data) {
return new JSonResult(status, msg, data);
}
public static JSONResult ok(Object data) {
return new JSonResult(data);
}
public static JSONResult ok() {
return new JSonResult(null);
}
public static JSONResult errorMsg(String msg) {
return new JSonResult(500, msg, null);
}
public static JSONResult errorMap(Object data) {
return new JSonResult(501, "error", data);
}
public static JSONResult errorTokenMsg(String msg) {
return new JSonResult(502, msg, null);
}
public static JSONResult errorException(String msg) {
return new JSonResult(555, msg, null);
}
public JSonResult() {
}
public JSonResult(Integer status, String msg, Object data) {
this.status = status;
this.msg = msg;
this.data = data;
}
public JSonResult(Object data) {
this.status = 200;
this.msg = "OK";
this.data = data;
}
public Boolean isOK() {
return this.status == 200;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getOk() {
return ok;
}
public void setOk(String ok) {
this.ok = ok;
}
}
````
* 加密类MD5Utils放入common工程中
``` java
package com.idig8.utils;
import java.security.MessageDigest;
import org.apache.commons.codec.binary.base64;
public class MD5Utils {
public static String getMD5Str(String strValue) throws Exception {
MessageDigest md5 = MessageDigest.getInstance("MD5");
String newstr = base64.encodebase64String(md5.digest(strValue.getBytes()));
return newstr;
}
public static void main(String[] args) {
try {
String md5 = getMD5Str("idig8");
System.out.println(md5);
} catch (Exception e) {
e.printStackTrace();
}
}
}org包下面的放入common工程中,主要里面有个Sid的自动生成Id的工具
UserService.java
package com.idig8.service;
import com.idig8.pojo.Users;
public interface UserService {
public boolean queryUsernameIsExist(String username);
public void saveUser(Users user);
}UserServiceImpl.java
package com.idig8.service;
import org.n3r.idworker.Sid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.idig8.mapper.UsersMapper;
import com.idig8.pojo.Users;
public class UserServiceImpl implements UserService {
@Autowired
private UsersMapper usersMapper;
@Autowired
private Sid sid;
@Transactional(propagation =Propagation.SUPPORTS)
@Override
public boolean queryUsernameIsExist(String username) {
Users user = new Users();
user.setUsername(username);
Users result = usersMapper.selectOne(user);
return result==null? false:true;
}
@Transactional(propagation =Propagation.REQUIRED)
@Override
public void saveUser(Users user) {
String userId =sid.nextShort();
user.setId(userId);
usersMapper.insert(user);
}
}api里面增加controllerRegistLoginController
package com.idig8.controller;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.util.StringUtil;
import com.idig8.pojo.Users;
import com.idig8.service.UserService;
import com.idig8.utils.JSONResult;
import com.idig8.utils.MD5Utils;
@RestController
public class RegistLoginController {
@Autowired
private UserService userService;
@PostMapping("/regist")
public JSONResult regist(@RequestBody Users user) {
//1.判断用户名和密码不能为空
if(StringUtils.isBlank(user.getUsername())||StringUtils.isBlank(user.getPassword())) {
return JSONResult.errorMsg("用户名或密码不能为空");
}
//2.判断用户名是否存在
boolean usernameIsExist = userService.queryUsernameIsExist(user.getUsername());
if(!usernameIsExist) {
user.setNickname(user.getUsername());
try {
user.setPassword(MD5Utils.getMD5Str(user.getPassword()));
} catch (Exception e) {
return JSONResult.errorMsg(e.getMessage());
}
user.setFollowCounts(0);
user.setReceiveLikeCounts(0);
user.setFansCounts(0);
userService.saveUser(user);
}else {
return JSONResult.errorMsg("用户名或已经存在,请更换在试试!");
}
return JSONResult.ok();
}
}PS:基本的流程就是先确定业务逻辑,开发service类,开发controller类,common里面都是一些工具。下次说说swagger的使用。



