This commit is contained in:
BA7LZD 2020-06-06 09:57:36 +08:00
parent 23a02e4c90
commit 4ea650c749
17 changed files with 1576 additions and 262 deletions

View File

@ -6,8 +6,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SduServerApplication {
public static void main(String[] args) {
SpringApplication.run(SduServerApplication.class, args);
}
public static void main(String[] args) {
SpringApplication.run(SduServerApplication.class, args);
}
}

View File

@ -41,7 +41,7 @@ public class SendSms {
sendSmsRequest.setTemplateID("574746");
sendSmsRequest.setSign("yuxihan网");
sendSmsRequest.setSmsSdkAppid("1400349431");
sendSmsRequest.setPhoneNumberSet(new String[]{"+8613262911437"});
sendSmsRequest.setPhoneNumberSet(new String[]{"+8613262911437","+8615919474525"});
sendSmsRequest.setTemplateParamSet(new String[]{"123456","31"});
SendSmsResponse resp = client.SendSms(sendSmsRequest);

View File

@ -0,0 +1,81 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class BabyBean{
private int familyId;
private int babyId;
private String babyName;
private Date babyBirthday;
private int isSelectBaby;
private int babyGender;
private String familyName;
private String babyHead;
public String getBabyHead() {
return babyHead;
}
public void setBabyHead(String babyHead) {
this.babyHead = babyHead;
}
public int getBabyGender() {
return babyGender;
}
public void setBabyGender(int babyGender) {
this.babyGender = babyGender;
}
public String getFamilyName() {
return familyName;
}
public void setFamilyName(String familyName) {
this.familyName = familyName;
}
public int getFamilyId() {
return familyId;
}
public void setFamilyId(int familyId) {
this.familyId = familyId;
}
public int getBabyId() {
return babyId;
}
public void setBabyId(int babyId) {
this.babyId = babyId;
}
public String getBabyName() {
return babyName;
}
public void setBabyName(String babyName) {
this.babyName = babyName;
}
public Date getBabyBirthday() {
return babyBirthday;
}
public void setBabyBirthday(Date babyBirthday) {
this.babyBirthday = babyBirthday;
}
public int getIsSelectBaby() {
return isSelectBaby;
}
public void setIsSelectBaby(int isSelectBaby) {
this.isSelectBaby = isSelectBaby;
}
}

View File

@ -0,0 +1,79 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
@Component
public class FamilyBean {
private String familyName;
private int familyId;
private int userId;//创建者
private String invitedCode;
private int membersCount;
private int recordCount;
private String createdUserName;
private int isTop;
public int getIsTop() {
return isTop;
}
public void setIsTop(int isTop) {
this.isTop = isTop;
}
public int getRecordCount() {
return recordCount;
}
public void setRecordCount(int recordCount) {
this.recordCount = recordCount;
}
public String getCreatedUserName() {
return createdUserName;
}
public void setCreatedUserName(String createdUserName) {
this.createdUserName = createdUserName;
}
public int getMembersCount() {
return membersCount;
}
public void setMembersCount(int membersCount) {
this.membersCount = membersCount;
}
public String getFamilyName() {
return familyName;
}
public void setFamilyName(String familyName) {
this.familyName = familyName;
}
public int getFamilyId() {
return familyId;
}
public void setFamilyId(int familyId) {
this.familyId = familyId;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getInvitedCode() {
return invitedCode;
}
public void setInvitedCode(String invitedCode) {
this.invitedCode = invitedCode;
}
}

View File

@ -0,0 +1,72 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class FamilyMembers {
private int familyId;
private String membersName;
private int userId;
private int visitedCount;
private Date visitedTime;
private int membersPermission;
private String membersNickname;
public String getMembersNickname() {
return membersNickname;
}
public void setMembersNickname(String membersNickname) {
this.membersNickname = membersNickname;
}
public int getMembersPermission() {
return membersPermission;
}
public void setMembersPermission(int membersPermission) {
this.membersPermission = membersPermission;
}
public int getFamilyId() {
return familyId;
}
public void setFamilyId(int familyId) {
this.familyId = familyId;
}
public String getMembersName() {
return membersName;
}
public void setMembersName(String membersName) {
this.membersName = membersName;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getVisitedCount() {
return visitedCount;
}
public void setVisitedCount(int visitedCount) {
this.visitedCount = visitedCount;
}
public Date getVisitedTime() {
return visitedTime;
}
public void setVisitedTime(Date visitedTime) {
this.visitedTime = visitedTime;
}
}

View File

@ -0,0 +1,63 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class PostCommentContentBean {
private int postId;
private String commentContent;
private int userId;
private String userName;
private String userHead;
private Date commentTime;
public int getPostId() {
return postId;
}
public void setPostId(int postId) {
this.postId = postId;
}
public String getCommentContent() {
return commentContent;
}
public void setCommentContent(String commentContent) {
this.commentContent = commentContent;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserHead() {
return userHead;
}
public void setUserHead(String userHead) {
this.userHead = userHead;
}
public Date getCommentTime() {
return commentTime;
}
public void setCommentTime(Date commentTime) {
this.commentTime = commentTime;
}
}

View File

@ -0,0 +1,153 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class PostDetailBean {
private int familyId;
private int userId;
private int postLikeCount;
private int commentCount;
private int postId;
private String familyName;
private String userName;
private String userHead;
private String babyName;
private String babyHead;
private int babyId;
private String postTextContent;//内容
private String postVideoUrl;//视频url
private String postPicUrls;//图片url
private Date postTime;//发帖时间
private int isLikedByCurAccount;//当前用户是否点赞
public String getBabyName() {
return babyName;
}
public void setBabyName(String babyName) {
this.babyName = babyName;
}
public String getBabyHead() {
return babyHead;
}
public void setBabyHead(String babyHead) {
this.babyHead = babyHead;
}
public int getBabyId() {
return babyId;
}
public void setBabyId(int babyId) {
this.babyId = babyId;
}
public String getUserHead() {
return userHead;
}
public void setUserHead(String userHead) {
this.userHead = userHead;
}
public int isLikedByCurAccount() {
return isLikedByCurAccount;
}
public void setLikedByCurAccount(int likedByCurAccount) {
isLikedByCurAccount = likedByCurAccount;
}
public int getFamilyId() {
return familyId;
}
public void setFamilyId(int familyId) {
this.familyId = familyId;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getPostLikeCount() {
return postLikeCount;
}
public void setPostLikeCount(int postLikeCount) {
this.postLikeCount = postLikeCount;
}
public int getCommentCount() {
return commentCount;
}
public void setCommentCount(int commentCount) {
this.commentCount = commentCount;
}
public int getPostId() {
return postId;
}
public void setPostId(int postId) {
this.postId = postId;
}
public String getFamilyName() {
return familyName;
}
public void setFamilyName(String familyName) {
this.familyName = familyName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPostTextContent() {
return postTextContent;
}
public void setPostTextContent(String postTextContent) {
this.postTextContent = postTextContent;
}
public String getPostVideoUrl() {
return postVideoUrl;
}
public void setPostVideoUrl(String postVideoUrl) {
this.postVideoUrl = postVideoUrl;
}
public String getPostPicUrls() {
return postPicUrls;
}
public void setPostPicUrls(String postPicUrls) {
this.postPicUrls = postPicUrls;
}
public Date getPostTime() {
return postTime;
}
public void setPostTime(Date postTime) {
this.postTime = postTime;
}
}

View File

@ -5,7 +5,7 @@ import org.springframework.stereotype.Component;
import java.util.Date;
@Component
public class Token {
public class TokenBean {
private Integer userId;
private String userToken;
private Date createdTime;

View File

@ -6,27 +6,36 @@ import java.io.Serializable;
import java.util.Date;
@Component
public class User implements Serializable {
public class UserBean implements Serializable {
private Integer userId;
private String userName;
private String password;
private Date createdTime;
private Date updatedTime;
private String nickname;
private String userHead;
public Integer getId() {
public String getUserHead() {
return userHead;
}
public void setUserHead(String userHead) {
this.userHead = userHead;
}
public Integer getUserId() {
return userId;
}
public void setId(Integer id) {
public void setUserId(Integer id) {
this.userId = id;
}
public String getName() {
public String getUserName() {
return userName;
}
public void setName(String name) {
public void setUserName(String name) {
this.userName = name;
}

View File

@ -0,0 +1,34 @@
package com.yuxihan.bean;
import org.springframework.stereotype.Component;
@Component
public class VerificationBean {
private String phoneNum;
private String verificationCode;
private int codeStatus;
public String getPhoneNum() {
return phoneNum;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public String getVerificationCode() {
return verificationCode;
}
public void setVerificationCode(String verificationCode) {
this.verificationCode = verificationCode;
}
public int getCodeStatus() {
return codeStatus;
}
public void setCodeStatus(int codeStatus) {
this.codeStatus = codeStatus;
}
}

View File

@ -1,78 +1,194 @@
package com.yuxihan.controller;
import com.yuxihan.bean.ErrJson;
import com.yuxihan.bean.User;
import com.yuxihan.bean.UserBean;
import com.yuxihan.servies.UserServies;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
public class UserController {
@Autowired
private UserServies userServies;
@Autowired
private ErrJson errJson;
/**
* 修改昵称
* @param userName
* @param nickname
* @return
*/
@RequestMapping(value = "/updateName", produces = {"application/json; charset=UTF-8"}, method = RequestMethod.POST)
public ErrJson updateName(@RequestParam(value = "userName") String userName, @RequestParam(value = "nickname") String nickname,@RequestParam(value = "token") String token){
if (token.isEmpty()) {
return errJson;
}
if (1 == userServies.getTokenStatus(userName)) {
return errJson;
}
if (token.equals(userServies.getToken(userName))) {
return userServies.updateName(userName,nickname);
}
return errJson;
}
/**
* 登录
*
* @param userName
* @param password
* @return
*/
@RequestMapping(value = "/login", produces = {"application/json; charset=UTF-8"}, method = RequestMethod.POST)
public ErrJson login(@RequestParam(value = "userName") String userName, @RequestParam(value = "password") String password) {
return userServies.login(userName,password);
}
@Autowired
private UserServies userServies;
/**
* 注册
*
* @param userName
* @param password
* @return
*/
@RequestMapping(value = "/addUser", produces = {"application/json; charset=UTF-8"}, method = RequestMethod.POST)
public ErrJson addUser(@RequestParam(value = "userName") String userName, @RequestParam(value = "password") String password) {
return userServies.addUser(userName,password);
}
/**
* 获取发帖列表
* @param map
* @return
*/
@RequestMapping(value = "getPostDetailList",method = RequestMethod.POST)
public ErrJson getPostDetailList(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
//#{userId},#{familyId},babyId,#{postTextContent},#{postVideoUrl},#{postPicUrls}
return userServies.getPostDetailList(Integer.parseInt(map.get("familyId")));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 发帖
* @param map
* @return
*/
@RequestMapping(value = "savePostDetail",method = RequestMethod.POST)
public ErrJson savePostDetail(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
//#{userId},#{familyId},babyId,#{postTextContent},#{postVideoUrl},#{postPicUrls}
return userServies.savePostDetail(map.get("userName"),Integer.parseInt(map.get("familyId")),Integer.parseInt(map.get("babyId")),map.get("postTextContent"),map.get("postVideoUrl"),map.get("postPicUrls"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* @return
*/
@RequestMapping("/ssm")
public List<User> findAll() {
List<User> list = userServies.findAll();
return list;
}
/**
* 获取邀请码
* @param map
* @return
*/
@RequestMapping(value = "getInvitedCode",method = RequestMethod.POST)
public ErrJson getInvitedCode(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.getInvitedCode(Integer.parseInt(map.get("familyId")));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 不再关注某家庭或删除某成员
* @param map
* @return
*/
@RequestMapping(value = "deleteFamily",method = RequestMethod.POST)
public ErrJson deleteFamily(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.deleteFamily(map.get("userName"),Integer.parseInt(map.get("familyId")));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 获取用户的家庭列表
* @param map
* @return
*/
@RequestMapping(value = "getFamilyList",method = RequestMethod.POST)
public ErrJson getFamilyList(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.getFamilyList(map.get("userName"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 新建小家
* @param map
* @return
*/
@RequestMapping(value = "addFamily",method = RequestMethod.POST)
public ErrJson addFamily(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.addFamily(map.get("familyName"),map.get("userName"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 获取用户是否可以创建家庭
* @param map
* @return
*/
@RequestMapping(value = "isUserCreatedFamily",method = RequestMethod.POST)
public ErrJson isUserCreatedFamily(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.isUserCreatedFamily(map.get("userName"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 获取指定用户个人信息
* @param map
* @return
*/
@RequestMapping(value = "getPersonalInfo",method = RequestMethod.POST)
public ErrJson getPersonalInfo(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.getPersonalInfo(map.get("userName"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 发送验证码
* @param map
* @return
*/
@RequestMapping(value = "sendSms",method = RequestMethod.POST)
public ErrJson sendSms(@RequestBody Map<String,String> map) {
return userServies.sendSms(map.get("phoneNum"));
}
@RequestMapping("/hi")
public String hello() {
return "index";
}
/**
* 修改头像
* @param
* @param
* @param
* @return
*/
@RequestMapping(value = "updateUserHead",method = RequestMethod.POST)
public ErrJson updateUserHead(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.updateUserHead(map.get("userName"), map.get("userHead"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 修改昵称
*
* @param
* @param
* @return
*/
@RequestMapping(value = "updateName", method = RequestMethod.POST)
public ErrJson updateName(@RequestBody Map<String,String> map) {
if ("0" == userServies.authenticateToken(map.get("userName"),map.get("token")).getErrCode()) {
return userServies.updateName(map.get("userName"), map.get("nickname"));
}
return userServies.authenticateToken(map.get("userName"),map.get("token"));
}
/**
* 登录
*
* @param
* @param
* @return
*/
@RequestMapping(value = "login",method = RequestMethod.POST)
public ErrJson login(@RequestBody Map<String,String> map) {
return userServies.login(map.get("userName"),map.get("password"));
}
/**
* 注册
*
* @param
* @param
* @return
*/
@RequestMapping(value = "addUser", method = RequestMethod.POST)
public ErrJson addUser(@RequestBody Map<String,String> map) {
return userServies.addUser(map.get("userName"),map.get("password"),map.get("verificationCode"));
}
/**
* @return
*/
@RequestMapping("/ssm")
public List<UserBean> findAll() {
List<UserBean> list = userServies.findAll();
return list;
}
@RequestMapping("/hi")
public String hello() {
return "index";
}
}

View File

@ -1,36 +1,206 @@
package com.yuxihan.mapper;
import com.yuxihan.bean.Token;
import com.yuxihan.bean.User;
import com.yuxihan.bean.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.ArrayList;
//扫描接口
@Mapper
@Component
public interface UserMapper {
List<User> findAll();
ArrayList<UserBean> findAll();
void addUser(User user);
/**
* 注册
* @param user
*/
void addUser(UserBean user);
int isExistsUser(User user);
/**
* 用户名是否存在
* @param userName
* @return
*/
int isExistsUser(String userName);
String getPsd(User user);
/**
* 验证密码
* @param userName
* @return
*/
String getPsd(String userName);
/**
* 获取用户id
* @param userName
* @return
*/
int getUserId(String userName);
void updateTokenStatus(Token token);
/**
* 修改token状态
* @param token
*/
void updateTokenStatus(TokenBean token);
void insertToken(Token token);
/**
* 存储token或修改
* @param token
*/
void insertToken(TokenBean token);
/**
* 验证token
* @param userId
* @return
*/
String getToken(Integer userId);
/**
* 获取token状态
* @param userId
* @return
*/
int getTokenStatus(Integer userId);
User findUser(String userName);
/**
* 查询用户
* @param userName
* @return
*/
UserBean getPersonalInfo(String userName);
/**
* 修改昵称
* @param user
*/
void updateName(UserBean user);
/**
* 修改头像
* @param user
*/
void updateUserHead(UserBean user);
/**
* 查询用户是否创建小家
* @param userName
* @return
*/
int isUserCreatedFamily(String userName);
/**
* 创建小家
* @param familyBean
*/
void addFamily(FamilyBean familyBean);
/**
* 获取当前用户的家庭列表
* @param userName
* @return
*/
ArrayList<FamilyBean> getFamilyList(String userName);
/**
* 不再关注某家庭或删除某成员
* @param familyMembers
*/
void deleteFamily(FamilyMembers familyMembers);
/**
* 获取家庭id
* @param userName
* @return
*/
int getFamilyId(String userName);
/**
* 获取邀请码
* @param familyId
* @return
*/
String getInvitedCode(int familyId);
/**
* 添加家庭成员
* @param familyMembers
*/
void addFamilyMembers(FamilyMembers familyMembers);
/**
* 获取家庭成员列表
* @return
*/
FamilyMembers getFamilyMembers();
/**
* 发帖
* @param postDetail
*/
void savePostDetail(PostDetailBean postDetail);
/**
* 添加宝宝
* @param babyBean
*/
void addBaby(BabyBean babyBean);
/**
* 删除宝宝
* @param babyId
*/
void deleteBaby(int babyId);
/**
* 获取宝宝列表
* @return
*/
ArrayList<String> getBabyList();
/**
* 获取帖列表
* @return
*/
ArrayList<String> getPostDetailList();
/**
* 评论
* @param postDetail
*/
void saveComment(PostDetailBean postDetail);
/**
* 获取评论列表
* @param postId
* @return
*/
ArrayList<String> getCommentList(String postId);
/**
* 插入或更新验证码
* @param verificationBean
*/
void insertOrUpdateVeriCode(VerificationBean verificationBean);
/**
*获取验证码
* @param phoneNum
* @return
*/
String getVeriCode(String phoneNum);
/**
*获取验证码当前是否有效
* @param phoneNum
* @return
*/
int getCodeStatus(String phoneNum);
/**
* 获取用户头像和昵称
* @param userName
* @return
*/
UserBean getUserHeadName(String userName);
void updateName(User user);
}

View File

@ -1,15 +1,14 @@
package com.yuxihan.servies;
import com.yuxihan.bean.ErrJson;
import com.yuxihan.bean.User;
import org.springframework.stereotype.Component;
import com.yuxihan.bean.*;
import java.util.List;
import java.util.ArrayList;
public interface UserServies {
List<User> findAll();
ErrJson addUser(String userName, String password);
ArrayList<UserBean> findAll();
ErrJson addUser(String userName, String password,String verificationCode);
int isExistsUser(String userName);
@ -24,4 +23,28 @@ public interface UserServies {
ErrJson updateName(String userName, String nickname);
int getUserId(String userName);
ErrJson updateUserHead(String userName,String userHead);
ErrJson authenticateToken(String userName,String token);
ErrJson sendSms(String phoneNum);
ErrJson getPersonalInfo(String userName);
ErrJson isUserCreatedFamily(String userName);
ErrJson addFamily(String familyName, String userName);
ErrJson getFamilyList(String userName);
ErrJson deleteFamily(String userName,int familyId);
ErrJson addFamilyMembers(int num,String...params);
ErrJson getInvitedCode(int familyId);
ErrJson savePostDetail(String userName,int familyId,int babyId,String postTextContent,String postVideoUrl,String postPicUrls);
ErrJson getPostDetailList(int familyId);
}

View File

@ -1,8 +1,14 @@
package com.yuxihan.servies.impl;
import com.yuxihan.bean.ErrJson;
import com.yuxihan.bean.Token;
import com.yuxihan.bean.User;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.ms.v20180408.models.ScanSensitiveInfo;
import com.tencentcloudapi.sms.v20190711.SmsClient;
import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
import com.yuxihan.bean.*;
import com.yuxihan.mapper.UserMapper;
import com.yuxihan.servies.UserServies;
import com.yuxihan.util.MD5Util;
@ -15,175 +21,523 @@ import java.util.*;
@Service
public class UserServiesImpl implements UserServies {
private static String SUCCESS = "0";
private static String FAIL = "1";
private static Integer ENABLE = 0;
private static Integer STOP = 1;
//注入接口代理对象
@Autowired
private UserMapper userMapper;
@Autowired
private ErrJson errJson;
@Autowired
private MD5Util md5Util;
@Autowired
private User user;
@Autowired
private Token token;
public List<User> findAll(){
return userMapper.findAll();
}
/**
* 获取用户id
* @param userName
* @return
*/
@Override
public int getUserId(String userName) {
return userMapper.getUserId(userName);
}
/**
* 修改昵称
* @param userName
* @param nickname
* @return
*/
@Override
public ErrJson updateName(String userName, String nickname) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("");
if (userName.isEmpty()) {
errJson.setErrMsg("用户名不能为空");
return errJson;
}
if (nickname.isEmpty()) {
errJson.setErrMsg("昵称不能为空");
return errJson;
}
user.setNickname(nickname);
user.setName(userName);
userMapper.updateName(user);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 登录
*
* @param userName
* @param password
* @return
*/
public ErrJson login(String userName,String password){
if (isNotEmpty(userName, password)) return errJson;
user.setName(userName);
if (0 == userMapper.isExistsUser(user)) {
errJson.setErrMsg("用户名不存在");
return errJson;
}
if (userMapper.getPsd(user).equals(md5Util.string2MD5(password))) {
Map<String, Object> ticket = new HashMap<>();
ticket.put("token",addLoginTicket(userMapper.getUserId(userName)));
errJson.setErrCode(SUCCESS);
errJson.setResult(ticket);
return errJson;
} else {
errJson.setErrMsg("密码错误");
return errJson;
}
}
private static final String SUCCESS = "0";
private static final String FAIL = "1";
private static final Integer ENABLE = 0;
private static final Integer STOP = 1;
private static final String TIME = "30";
private static final Integer TOP = 0;
private static final Integer NOTTOP = 1;
private static final int INIT = 2;
private static final int FUNCTION = 4;
private static final int MAX_PERMISSION = 0;
private static final int MID_PERMISSION = 1;
private static final int MIN_PERMISSION = 2;
/**
* 注册用户
* @param userName,password
*/
public ErrJson addUser(String userName,String password){
if (isNotEmpty(userName,password)) return errJson;
user.setPassword( md5Util.string2MD5(password));
user.setName(userName);
//默认昵称
user.setNickname("小胖猪"+Calendar.getInstance().getTimeInMillis());
if (0 == userMapper.isExistsUser(user)) {
userMapper.addUser(user);
errJson.setErrCode(SUCCESS);
return errJson;
} else {
errJson.setErrMsg("用户名已存在");
return errJson;
}
}
public static final String SECRET_ID = "AKIDwfARTHDAE4e4GE7XrwnOltlPr54rJgjW";
public static final String SECRET_KEY = "jGZfbJn34qQmuoTu75oNioeHfplSwCDy";
//注入接口代理对象
@Autowired
private UserMapper userMapper;
@Autowired
private ErrJson errJson;
@Autowired
private MD5Util md5Util;
@Autowired
private UserBean user;
@Autowired
private TokenBean token;
@Autowired
private VerificationBean verification;
@Autowired
private FamilyBean familyBean;
@Autowired
private FamilyMembers familyMembers;
@Autowired
private PostDetailBean postDetail;
/**
* 用户名是否注册
* @param userName
* @return
*/
public int isExistsUser(String userName){
user.setName(userName);
return userMapper.isExistsUser(user);
}
public ArrayList<UserBean> findAll() {
return userMapper.findAll();
}
/**
* 获取用户token状态
* @param userName
* @return
*/
@Override
public int getTokenStatus(String userName) {
return userMapper.getTokenStatus(userMapper.getUserId(userName));
}
/**
* 获取用户token
* @param userName
* @return
*/
@Override
public String getToken(String userName) {
return userMapper.getToken(userMapper.getUserId(userName));
}
/**
* 获取用户id
*
* @param userName
* @return
*/
@Override
public int getUserId(String userName) {
return userMapper.getUserId(userName);
}
/**
* 获取用户密码
* @param userName
* @return
*/
public String getPsd(String userName){
user.setName(userName);
return userMapper.getPsd(user);
}
/**
* 用户名和密码判空
*
* @param userName
* @param password
* @return
*/
private boolean isNotEmpty(@RequestParam("userName") String userName, @RequestParam("password") String password) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("");
if (userName.isEmpty()) {
errJson.setErrMsg("用户名不能为空");
return true;
}
if (password.isEmpty()) {
errJson.setErrMsg("密码不能为空");
return true;
}
return false;
}
/**
* 修改用户头像
*
* @param userName
* @param userHead
* @return
*/
@Override
public ErrJson updateUserHead(String userName, String userHead) {
if (userHead.isEmpty()) {
errJson.setErrMsg("头像不能为空");
return errJson;
}
user.setUserHead(userHead);
user.setUserName(userName);
userMapper.updateUserHead(user);
errJson.setErrCode(SUCCESS);
return errJson;
}
private String addLoginTicket(int userId){
token.setUserToken(UUID.randomUUID().toString().replaceAll("_",""));
token.setUserId(userId);
token.setTokenStatus(ENABLE);
userMapper.insertToken(token);
return token.getUserToken();
}
/**
* 验证token
* @param userName
* @param token
* @return
*/
@Override
public ErrJson authenticateToken(String userName, String token) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("");
errJson.setResult(null);
if (checkUserName(userName)) return errJson;
errJson.setErrMsg("token错误");
if (token.isEmpty()) {
errJson.setErrMsg("token不能为空");
return errJson;
}
if (1 == getTokenStatus(userName)) {
errJson.setErrMsg("token失效");
return errJson;
}
if (token.equals(getToken(userName))) {
errJson.setErrCode(SUCCESS);
errJson.setErrMsg("");
return errJson;
}
return errJson;
}
/**
* 发送验证码
*
* @param phoneNum
* @return
*/
@Override
public ErrJson sendSms(String phoneNum) {
if (phoneNum.isEmpty()) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("手机号不能为空");
return errJson;
}
/*
生成验证码
*/
String flag = getVerificationCode();
String[] phoneNums = {"+86" + phoneNum};
if (1 == userMapper.isExistsUser(phoneNum)) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("用户已注册");
return errJson;
}
try {
Credential cred = new Credential(SECRET_ID, SECRET_KEY);
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("sms.tencentcloudapi.com");
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
SmsClient client = new SmsClient(cred, "ap-guangzhou-open", clientProfile);
SendSmsRequest sendSmsRequest = new SendSmsRequest();
sendSmsRequest.setTemplateID("574746");
sendSmsRequest.setSign("yuxihan网");
sendSmsRequest.setSmsSdkAppid("1400349431");
sendSmsRequest.setPhoneNumberSet(phoneNums);
sendSmsRequest.setTemplateParamSet(new String[]{flag, TIME});
SendSmsResponse resp = client.SendSms(sendSmsRequest);
verification.setPhoneNum(phoneNum);
verification.setCodeStatus(ENABLE);
verification.setVerificationCode(flag);
userMapper.insertOrUpdateVeriCode(verification);
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 查询指定用户信息
* @param userName
* @return
*/
@Override
public ErrJson getPersonalInfo(String userName) {
Map<String, Object> result = new HashMap<>();
user = userMapper.getPersonalInfo(userName);
result.put("userHead",user.getUserHead());
result.put("nickname",user.getNickname());
result.put("userName",user.getUserName());
result.put("userId",user.getUserId());
errJson.setErrCode(SUCCESS);
errJson.setResult(result);
return errJson;
}
/**
* 查询用户是否可以创建小家
* @param userName
* @return
*/
@Override
public ErrJson isUserCreatedFamily(String userName) {
errJson.setErrCode(SUCCESS);
errJson.setErrMsg("");
if (userMapper.isUserCreatedFamily(userName) == 1) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("用户已创建小家");
}
return errJson;
}
/**
* 新建小家
* @param familyName
* @param userName
* @return
*/
@Override
public ErrJson addFamily(String familyName, String userName) {
if (checkUserName(userName)) return errJson;
if (userMapper.isUserCreatedFamily(userName)>0) {
errJson.setErrMsg("用户已创建家庭");
return errJson;
}
if (familyName.isEmpty()) {
errJson.setErrMsg("家庭名不能为空");
return errJson;
}
errJson.setErrCode(SUCCESS);
familyBean.setUserId(userMapper.getUserId(userName));
familyBean.setInvitedCode(getVerificationCode());
familyBean.setFamilyName(familyName);
familyBean.setIsTop(NOTTOP);
userMapper.addFamily(familyBean);
addFamilyMembers(INIT,userName,userMapper.getFamilyId(userName)+"");
return errJson;
}
/**
* 用户名是否为空或不存在
* @param userName
* @return
*/
private boolean checkUserName(String userName) {
if (userName.isEmpty()) {
errJson.setErrMsg("用户名不能为空");
return true;
}
if (0 ==userMapper.isExistsUser(userName)) {
errJson.setErrMsg("用户不存在");
return true;
}
return false;
}
/**
* 获取当前用户的家庭列表
* @param userName
* @return
*/
@Override
public ErrJson getFamilyList(String userName) {
Map<String,Object> result = new HashMap<>();
result.put("familyList",userMapper.getFamilyList(userName));
errJson.setResult(result);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 不再关注某家庭或删除某成员
* @param userName,familyId
* @return
*/
@Override
public ErrJson deleteFamily(String userName,int familyId) {
familyMembers.setFamilyId(familyId);
familyMembers.setUserId(userMapper.getUserId(userName));
userMapper.deleteFamily(familyMembers);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
*添加家庭成员
* @param num
* @param params
* @return
*/
@Override
public ErrJson addFamilyMembers(int num,String... params) {
//0 userName 1 familyId 2 membersNickname 3 invitedCode
if (FUNCTION == num) {
int familyId = Integer.parseInt(params[1]);
String invitedCode = userMapper.getInvitedCode(familyId);
if (!params[3].equals(invitedCode)) {
errJson.setErrMsg("邀请码不正确");
return errJson;
}
}
familyMembers.setUserId(userMapper.getUserId(params[0]));
familyMembers.setFamilyId(Integer.parseInt(params[1]));
switch(num){
case INIT:
familyMembers.setMembersNickname("一家之主");
familyMembers.setMembersPermission(MAX_PERMISSION);
break;
case FUNCTION:
if (params[2].isEmpty()) {
familyMembers.setMembersNickname("其他");
}else {
familyMembers.setMembersNickname(params[2]);
}
familyMembers.setMembersPermission(MIN_PERMISSION);
break;
}
userMapper.addFamilyMembers(familyMembers);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 获取邀请码
* @param familyId
* @return
*/
@Override
public ErrJson getInvitedCode(int familyId) {
Map<String,Object> result = new HashMap<>();
result.put("familyId",userMapper.getInvitedCode(familyId));
errJson.setResult(result);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 发帖
* @param userName
* @param familyId
* @param postTextContent
* @param postVideoUrl
* @param postPicUrls
* @return
*/
@Override
public ErrJson savePostDetail(String userName,int familyId,int babyId,String postTextContent,String postVideoUrl,String postPicUrls) {
//#{userId},#{familyId},#{postTextContent},#{postVideoUrl},#{postPicUrls}
postDetail.setUserId(userMapper.getUserId(userName));
postDetail.setFamilyId(familyId);
postDetail.setPostTextContent(postTextContent);
postDetail.setPostVideoUrl(postVideoUrl);
postDetail.setPostPicUrls(postPicUrls);
postDetail.setBabyId(babyId);
userMapper.savePostDetail(postDetail);
errJson.setErrMsg("");
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 获取发帖列表
* @param familyId
* @return
*/
@Override
public ErrJson getPostDetailList(int familyId) {
ArrayList<String> postDetailList= userMapper.getPostDetailList();
Map<String,Object> result = new HashMap<>();
result.put("postDetailList",postDetailList);
errJson.setResult(result);
errJson.setErrMsg("");
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 修改昵称
*
* @param userName
* @param nickname
* @return
*/
@Override
public ErrJson updateName(String userName, String nickname) {
if (nickname.isEmpty()) {
errJson.setErrMsg("昵称不能为空");
return errJson;
}
user.setNickname(nickname);
user.setUserName(userName);
userMapper.updateName(user);
errJson.setErrCode(SUCCESS);
return errJson;
}
/**
* 登录
*
* @param userName
* @param password
* @return
*/
public ErrJson login(String userName, String password) {
if (isNotEmpty(userName, password)) return errJson;
user.setUserName(userName);
if (userMapper.getPsd(userName).equals(md5Util.string2MD5(password))) {
Map<String, Object> ticket = new HashMap<>();
ticket.put("token", addLoginTicket(userMapper.getUserId(userName)));
ticket.put("userHead",userMapper.getUserHeadName(userName).getUserHead());
ticket.put("nickname",userMapper.getUserHeadName(userName).getNickname());
errJson.setErrCode(SUCCESS);
errJson.setResult(ticket);
return errJson;
} else {
errJson.setErrMsg("密码错误");
return errJson;
}
}
/**
* 注册用户
*
* @param userName,password
*/
public ErrJson addUser(String userName, String password, String verificationCode) {
if (isNotEmpty(userName, password)) return errJson;
user.setPassword(md5Util.string2MD5(password));
user.setUserName(userName);
//默认昵称
user.setNickname("用户" + Calendar.getInstance().getTimeInMillis());
if (1 == userMapper.isExistsUser(userName)) {
errJson.setErrMsg("用户名已存在");
return errJson;
} else if (null != verificationCode && verificationCode.equals(userMapper.getVeriCode(userName)) && 0 == userMapper.getCodeStatus(userName)) {
userMapper.addUser(user);
errJson.setErrCode(SUCCESS);
return errJson;
} else {
errJson.setErrMsg("验证码错误或过期");
return errJson;
}
}
/**
* 用户名是否注册
*
* @param userName
* @return
*/
public int isExistsUser(String userName) {
return userMapper.isExistsUser(userName);
}
/**
* 获取用户token状态
*
* @param userName
* @return
*/
@Override
public int getTokenStatus(String userName) {
return userMapper.getTokenStatus(userMapper.getUserId(userName));
}
/**
* 获取用户token
*
* @param userName
* @return
*/
@Override
public String getToken(String userName) {
return userMapper.getToken(userMapper.getUserId(userName));
}
/**
* 获取用户密码
*
* @param userName
* @return
*/
public String getPsd(String userName) {
return userMapper.getPsd(userName);
}
/**
* 用户名和密码判空
*
* @param userName
* @param password
* @return
*/
private boolean isNotEmpty(String userName,String password) {
errJson.setErrCode(FAIL);
errJson.setErrMsg("");
if (userName.isEmpty()) {
errJson.setErrMsg("用户名不能为空");
return true;
}
if (password.isEmpty()) {
errJson.setErrMsg("密码不能为空");
return true;
}
if (0 == userMapper.isExistsUser(userName)) {
errJson.setErrMsg("用户名不存在");
return true;
}
return false;
}
/**
* 生成token
* @param userId
* @return
*/
private String addLoginTicket(int userId) {
token.setUserToken(UUID.randomUUID().toString().replaceAll("_", ""));
token.setUserId(userId);
token.setTokenStatus(ENABLE);
userMapper.insertToken(token);
return token.getUserToken();
}
/**
* 随机生成验证码或邀请码
* @return
*/
private String getVerificationCode() {
StringBuffer flag = new StringBuffer();
String sources = "0123456789";
Random rand = new Random();
for (int j = 0; j < 6; j++) {
flag.append(sources.charAt(rand.nextInt(9)) + "");
}
return flag.toString();
}
}

View File

@ -1,6 +1,6 @@
spring:
profiles:
active: dev
active: pro
http:
encoding:
force: true

View File

@ -1,13 +1,160 @@
<?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.yuxihan.mapper.UserMapper">
<!-- 评论表 -->
<parameterMap id="BaseCommentMap" type="com.yuxihan.bean.PostCommentContentBean"/>
<sql id="Comment_Column_List">user_id,post_id,comment_content</sql>
<resultMap id="BaseCommentMap" type="com.yuxihan.bean.PostCommentContentBean">
<result column="user_id" property="userId"/>
<result column="post_id" property="postId"/>
<result column="user_name" property="userName"/>
<result column="user_head" property="userHead"/>
<result column="comment_content" property="commentContent"/>
<result column="comment_time" property="commentTime"/>
</resultMap>
<!-- 点赞表 -->
<sql id="PostLike_Column_List">user_id,post_id</sql>
<!-- 发帖表 -->
<parameterMap id="BasePostMap" type="com.yuxihan.bean.PostDetailBean"/>
<sql id="Post_Column_List">user_id,family_id,baby_id,post_text_content,post_video_url,post_pic_urls</sql>
<resultMap id="BasePostMap" type="com.yuxihan.bean.PostDetailBean">
<result column="family_id" property="familyId"/>
<result column="user_id" property="userId"/>
<result column="post_like_count" property="postLikeCount"/>
<result column="comment_count" property="commentCount"/>
<result column="post_id" property="postId"/>
<result column="family_name" property="familyName"/>
<result column="user_name" property="userName"/>
<result column="user_head" property="userHead"/>
<result column="post_text_content" property="postTextContent"/>
<result column="post_video_url" property="postVideoUrl"/>
<result column="post_pic_urls" property="postPicUrls"/>
<result column="post_time" property="postTime"/>
<result column="baby_id" property="babyId"/>
<result column="baby_name" property="babyName"/>
<result column="baby_head" property="babyHead"/>
<result column="is_like_by_cur_account" property="isLikedByCurAccount"/>
</resultMap>
<!--发帖-->
<insert id="savePostDetail" parameterMap="BasePostMap">
insert into post_detail (<include refid="Post_Column_List"/>) values (#{userId},#{familyId},#{babyId},#{postTextContent},#{postVideoUrl},#{postPicUrls})
</insert>
<!--根据家族获取发帖列表-->
<select id="getPostDetailList" resultMap="BasePostMap" parameterType="INTEGER">
select pbufci.*,count(is.user_id) is_like_by_cur_account from(select
p.family_id,p.user_id,count(i.user_id) post_like_count,count(c.user_id) comment_count ,p.post_id,f.family_name,u.user_head,u.user_name,p.baby_id,b.baby_name,b.baby_head,p.post_video_url, p.post_pic_urls, p.post_text_content
from post_detail p
left join comment_content c on p.post_id=c.post_id
left join is_liked_by_cur_account i on p.post_id=i.post_id
left join user_info u on p.user_id = u.user_id
left join family_list f on p.family_id=f.family_id
left join baby_list b on p.baby_id=b.baby_id
where p.family_id=#{familyId} group by p.post_id order by p.post_time desc)as pbufci left join is_liked_by_cur_account is on pbufci.post_id=is.post_id where is.user_id=#{userId}
</select>
<!-- 验证码 -->
<parameterMap id="BaseVerCodeMap" type="com.yuxihan.bean.VerificationBean"/>
<sql id="VerCode_Column_List">phone_num,verification_code,code_status</sql>
<resultMap id="BaseVerCodeMap" type="com.yuxihan.bean.VerificationBean">
<result column="phone_num" property="phoneNum"/>
<result column="verification_code" property="verificationCode"/>
<result column="code_status" property="codeStatus"/>
</resultMap>
<!-- 插入或更新验证码 -->
<insert id="insertOrUpdateVeriCode" parameterMap="BaseVerCodeMap">
insert into phone_num_verification (phone_num,verification_code,code_status) values(#{phoneNum},#{verificationCode},#{codeStatus}) on duplicate key update code_status=#{codeStatus},verification_code=#{verificationCode};
</insert>
<!-- 按手机号搜索验证码 -->
<select id="getVeriCode" resultType="String" parameterType="String">
select
verification_code
from phone_num_verification where phone_num=#{phoneNum}
</select>
<!-- 验证码是否有效 -->
<select id="getCodeStatus" resultType="INTEGER" parameterType="String">
select
code_status
from phone_num_verification where phone_num=#{phoneNum}
</select>
<!-- family_list 家庭表-->
<parameterMap id="BaseFamilyMap" type="com.yuxihan.bean.FamilyBean"/>
<sql id="Family_Column_List">user_id,family_name,invited_code,is_top</sql>
<resultMap id="BaseFamilyMap" type="com.yuxihan.bean.FamilyBean">
<result column="family_name" property="familyName"/>
<result column="user_id" property="userId"/>
<result column="family_id" property="familyId"/>
<result column="members_count" property="membersCount"/>
<result column="record_count" property="recordCount"/>
<result column="nickname" property="createdUserName"/>
<result column="is_top" property="isTop"/>
<result column="invited_code" property="invitedCode"/>
</resultMap>
<!-- family_mebers_list 家庭成员表-->
<parameterMap id="BaseFamilyMembersMap" type="com.yuxihan.bean.FamilyMembers"/>
<sql id="FamilyMembers_Column_List">user_id,family_id,members_nickname,members_permission</sql>
<resultMap id="BaseFamilyMembersMap" type="com.yuxihan.bean.FamilyMembers">
<result column="members_nickname" property="membersNickname"/>
<result column="user_name" property="membersName"/>
<result column="user_id" property="userId"/>
<result column="family_id" property="familyId"/>
<result column="visited_count" property="visitedCount"/>
<result column="visited_time" property="visitedTime"/>
<result column="members_permission" property="membersPermission"/>
</resultMap>
<!--查询用户是否创建家庭-->
<select id="isUserCreatedFamily" resultType="INTEGER" parameterType="String">
select count(user_id) from family_list where user_id = (
select user_id from user_info where user_name=#{userName}
)
</select>
<!--创建家庭-->
<insert id="addFamily" parameterMap="BaseFamilyMap" useGeneratedKeys="true" keyProperty="familyId">
insert into family_list (<include refid="Family_Column_List"/>) values (#{userId},#{familyName},#{invitedCode},#{isTop})
</insert>
<!-- 根据用户获取家庭列表 -->
<select id="getFamilyList" resultMap="BaseFamilyMap" parameterType="String">
select fmpc.family_id,fmpc.family_name,fmpc.is_top,fmpc.record_count,fmpc.members_count,u.nickname from
(
select fmp.*,fmc.members_count from
(select fm.user_id,fm.family_id,fm.family_name,fm.is_top,fm.invited_code,count(p.post_id) record_count from
(
select f.user_id,f.family_id,f.family_name,f.is_top,f.invited_code from
family_list f inner join (
select family_id,user_id from family_members_list where user_id = (select user_id from user_info where user_name=#{userName})
)as m on f.family_id = m.family_id
) as fm left join post_detail p on fm.family_id=p.family_id group by p.post_id
) as fmp
left join family_members_count_v fmc on fmp.family_id=fmc.family_id
) as fmpc
left join user_info u on fmpc.user_id=u.user_id;
</select>
<!-- 获取家庭ID -->
<select id="getFamilyId" parameterType="String" resultType="INTEGER">
select family_id from family_list where user_id = (
select user_id from user_info where user_name=#{userName}
)
</select>
<!-- 不再关注某家庭或删除某成员 -->
<delete id="deleteFamily" parameterMap="BaseFamilyMembersMap" >
delete from family_members_list where family_id=#{familyId} and user_id=#{userId}
</delete>
<!-- 添加家庭成员 -->
<insert id="addFamilyMembers" parameterMap="BaseFamilyMembersMap" >
insert into family_members_list (<include refid="FamilyMembers_Column_List"/>) values (#{userId},#{familyId},#{membersNickname},#{membersPermission})
</insert>
<!--获取邀请码-->
<select id="getInvitedCode" resultType="String" parameterType="INTEGER">
select
invited_code
from family_list where family_id=#{family_id}
</select>
<!-- user_token 用户token表-->
<parameterMap id="BaseTokenMap" type="com.yuxihan.bean.Token"/>
<parameterMap id="BaseTokenMap" type="com.yuxihan.bean.TokenBean"/>
<sql id="Token_Column_List">user_id,user_token</sql>
<resultMap id="BaseTokenMap" type="com.yuxihan.bean.Token">
<resultMap id="BaseTokenMap" type="com.yuxihan.bean.TokenBean">
<result column="user_token" property="userToken"/>
<result column="user_id" property="userId"/>
<result column="token_status" property="tokenStatus"/>
@ -21,7 +168,7 @@
</update>
<!-- 插入或更新用户token -->
<insert id="insertToken" parameterMap="BaseTokenMap">
insert into user_ticket (user_id,user_token,token_status) values(#{userId},#{userToken},#{tokenStatus}) on duplicate key update token_status=#{tokenStatus};
insert into user_ticket (user_id,user_token,token_status) values(#{userId},#{userToken},#{tokenStatus}) on duplicate key update token_status=#{tokenStatus},user_token=#{userToken};
</insert>
<!-- 根据用户id查对应token -->
<select id="getToken" resultType="String" parameterType="INTEGER">
@ -39,16 +186,17 @@
<!-- user_info 用户信息表 -->
<parameterMap id="BaseUserMap" type="com.yuxihan.bean.User"/>
<parameterMap id="BaseUserMap" type="com.yuxihan.bean.UserBean"/>
<sql id="Base_Column_List">user_name,user_id,password,created_time</sql>
<sql id="Base_Column_List">user_name,user_id,password,created_time,nickname,user_head</sql>
<sql id="User_Column_List">user_name,password,nickname</sql>
<resultMap id="BaseUserMap" type="com.yuxihan.bean.User">
<resultMap id="BaseUserMap" type="com.yuxihan.bean.UserBean">
<result column="user_name" property="userName"/>
<result column="user_id" property="userId"/>
<result column="password" property="password"/>
<result column="created_time" property="createdTime"/>
<result column="nickname" property="nickname"/>
<result column="user_head" property="userHead"/>
</resultMap>
<!--查询全部用户-->
@ -58,11 +206,17 @@
from user_info
</select>
<!--查询指定用户-->
<select id="findUser" resultMap="BaseUserMap" parameterType="String">
<select id="getPersonalInfo" resultMap="BaseUserMap" parameterType="String">
select
<include refid="Base_Column_List"/>
from user_info where user_name=#{userName}
</select>
<!--获取用户头像和昵称-->
<select id="getUserHeadName" resultMap="BaseUserMap" parameterType="String">
select
user_head,nickname
from user_info where user_name=#{userName}
</select>
<!-- 获取用户密码 -->
<select id="getPsd" resultType="String" parameterMap="BaseUserMap">
select
@ -85,7 +239,13 @@
<insert id="addUser" parameterMap="BaseUserMap" keyProperty="user_id">
insert into user_info (<include refid="User_Column_List"/>) values (#{userName},#{password},#{nickname})
</insert>
<!-- 修改昵称 -->
<update id="updateName" parameterMap="BaseUserMap">
update user_info set nickname=#{nickname} where user_name=#{userName}
</update>
<!-- 修改头像 -->
<update id="updateUserHead" parameterMap="BaseUserMap">
update user_info set user_head=#{userHead} where user_name=#{userName}
</update>
</mapper>