Commit 8691d23c by Java-张振楠

①增加用户接口

②增加消息中心接口
③增加图片接口
④增加在Koala Cloud上的配置
parent 6088fe09
package com.thinkgem.jeesite.modules.img.api;
import com.thinkgem.jeesite.common.baseBean.Response;
import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.img.bean.ImgRequest;
import com.thinkgem.jeesite.modules.img.service.ImgService;
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;
import java.util.HashMap;
import java.util.Map;
/**
* 图片
*/
@RestController
@RequestMapping("/api/img")
public class ImgController {
@Autowired
private ImgService imgService;
/**
* 上传图片
*
* @param request
* @return
*/
@PostMapping("/upload")
public Response uploadImg(ImgRequest request) {
Response resp = new Response();
try {
// 判断业务入参是否为空
if (StringUtils.isBlank(request.getSubMerchantCode()) || StringUtils.isBlank(request.getImgExt()) || StringUtils.isBlank(request.getImgBase())) {
resp.setStatus(ComCode.STATUS_CODE_4001);
resp.setMessage(ComCode.STATUS_CODE_4001_DESC);
return resp;
}
Map<String, String> map = new HashMap<>();
map.put("imgName", imgService.uploadImg(request));
resp.setData(map);
resp.setStatus(ComCode.STATUS_CODE_2000);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
} catch (Exception e) {
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setError(e.getMessage());
}
return resp;
}
}
package com.thinkgem.jeesite.modules.img.bean;
import com.thinkgem.jeesite.common.baseBean.Request;
public class ImgRequest extends Request {
private String imgExt; // 图片扩展名
private String imgBase; // 图片的base64
public String getImgExt() {
return imgExt;
}
public void setImgExt(String imgExt) {
this.imgExt = imgExt;
}
public String getImgBase() {
return imgBase;
}
public void setImgBase(String imgBase) {
this.imgBase = imgBase;
}
}
package com.thinkgem.jeesite.modules.img.dao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
@MyBatisDao
public interface ImgDao {
}
package com.thinkgem.jeesite.modules.img.service;
import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.modules.img.bean.ImgRequest;
import com.thinkgem.jeesite.modules.img.dao.ImgDao;
import com.thinkgem.jeesite.modules.img.util.ImgUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
/**
* 图片
*/
@Service
@Transactional(readOnly = true)
public class ImgService {
@Autowired
private ImgDao imgDao;
public String uploadImg(ImgRequest request) {
//将base64转为图片并保存到路径中
String imgName = checkImgExist(request.getImgExt());
ImgUtils.generateImage(request.getImgBase(), Global.getConfig("image.save.url") + imgName);
//返回图片的的地址
return Global.getConfig("sys.pre.url") + Global.getConfig("image.return.url") + imgName;
}
/**
* 判断图片是否已存在
*
* @param ext 图片扩展名
* @return 图片名
*/
public String checkImgExist(String ext) {
String imgName;
boolean isExist = true;
do {
imgName = IdGen.randomBase62(32) + "." + ext;
File file = new File(Global.getConfig("image.save.url") + imgName);
if (!file.exists()) {
isExist = false;
}
} while (isExist);
return imgName;
}
}
package com.thinkgem.jeesite.modules.messageCenter.api;
import com.thinkgem.jeesite.common.baseBean.Response;
import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.modules.messageCenter.bean.ArticleRequest;
import com.thinkgem.jeesite.modules.messageCenter.service.ArticleApiService;
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("/api/article")
public class ArticleApiController {
@Autowired
private ArticleApiService articleApiService;
/**
* 获取消息列表
*
* @param request
* @return
*/
@PostMapping("/getArticles")
public Response getArticles(ArticleRequest request) {
Response resp = new Response();
try {
resp.setData(articleApiService.getArticles(request));
resp.setStatus(ComCode.STATUS_CODE_2000);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
} catch (Exception e) {
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setError(e.getMessage());
}
return resp;
}
/**
* 获取消息详情
*
* @param request
* @return
*/
@PostMapping("/getArticleDetail")
public Response getArticleDetail(ArticleRequest request) {
Response resp = new Response();
try {
resp.setData(articleApiService.getArticleDetail(request));
resp.setStatus(ComCode.STATUS_CODE_2000);
resp.setMessage(ComCode.STATUS_CODE_2000_DESC);
} catch (Exception e) {
resp.setStatus(ComCode.STATUS_CODE_9998);
resp.setMessage(ComCode.STATUS_CODE_9998_DESC);
resp.setError(e.getMessage());
}
return resp;
}
}
package com.thinkgem.jeesite.modules.messageCenter.bean;
import com.thinkgem.jeesite.common.baseBean.Request;
public class ArticleRequest extends Request {
private int begin; // 起始条数
private String articleId; // 消息id
public String getArticleId() {
return articleId;
}
public void setArticleId(String articleId) {
this.articleId = articleId;
}
public int getBegin() {
return this.getPageSize() * (this.getPageNum() - 1);
}
}
package com.thinkgem.jeesite.modules.messageCenter.dao;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.messageCenter.bean.ArticleRequest;
import com.thinkgem.jeesite.modules.messageCenter.entity.ArticleEntity;
import java.util.List;
@MyBatisDao
public interface ArticleApiDao {
List<ArticleEntity> getArticles(ArticleRequest request);
ArticleEntity getArticleDetail(ArticleRequest request);
}
package com.thinkgem.jeesite.modules.messageCenter.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class ArticleEntity extends BaseEntity implements Serializable {
private String title; // 标题
private String image; // 图片
@JsonIgnore
private String keywords; // 关键字
@JsonIgnore
private String description; // 摘要
private String publishDate; // 发布日期
@JsonIgnore
private String weight; // 权重
@JsonIgnore
private String hits; // 点击数
@JsonIgnore
private String is_flow; // 是否滚动通知
@JsonIgnore
private String is_tip; // 是否弹窗通知
private String content; // 内容
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getKeywords() {
return keywords;
}
public void setKeywords(String keywords) {
this.keywords = keywords;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPublishDate() {
return publishDate;
}
public void setPublishDate(String publishDate) {
this.publishDate = publishDate;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getHits() {
return hits;
}
public void setHits(String hits) {
this.hits = hits;
}
public String getIs_flow() {
return is_flow;
}
public void setIs_flow(String is_flow) {
this.is_flow = is_flow;
}
public String getIs_tip() {
return is_tip;
}
public void setIs_tip(String is_tip) {
this.is_tip = is_tip;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
package com.thinkgem.jeesite.modules.messageCenter.service;
import com.thinkgem.jeesite.modules.messageCenter.bean.ArticleRequest;
import com.thinkgem.jeesite.modules.messageCenter.dao.ArticleApiDao;
import com.thinkgem.jeesite.modules.messageCenter.entity.ArticleEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 首页通知
*/
@Service
@Transactional(readOnly = true)
public class ArticleApiService {
@Autowired
private ArticleApiDao articleApiDao;
public List<ArticleEntity> getArticles(ArticleRequest request) throws Exception {
return articleApiDao.getArticles(request);
}
public ArticleEntity getArticleDetail(ArticleRequest request) throws Exception {
return articleApiDao.getArticleDetail(request);
}
}
package com.thinkgem.jeesite.modules.user.bean;
import com.thinkgem.jeesite.common.baseBean.Request;
public class IdentityCodeRequest extends Request {
private String function; // 请求验证码的功能
private String mobile; // 手机号
public String getFunction() {
return function;
}
public void setFunction(String functioin) {
this.function = functioin;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
package com.thinkgem.jeesite.modules.user.bean;
import com.thinkgem.jeesite.common.baseBean.Request;
import java.util.List;
public class UserRequest extends Request {
private String mobile; // 电话号码
private String password; // 密码
private String newPassword; // 新密码 用于注册功能、忘记密码功能、修改密码功能
private String recommendedMobile; // 推荐人手机号
private String identityCode; // 验证码
private String function; // 获取验证码的功能 1注册 2验证码登录 3忘记密码/修改密码 4实名认证 5添加储蓄卡 6添加信用卡
private String cardType; // 银行卡类型 D储蓄卡 C信用卡
private List<String> cardCodes; // 银行卡code
private String cardNo; // 卡号
private String cardMobile; // 预留手机号
private String belongBank; // 所属银行
private String cardBank; // 开户支行
private String cardPlace; // 开户地址
private String feedback; // 反馈意见
private String realName; // 真实姓名
private String idCard; // 身份证号
private String idCardPlace; // 身份证地址
private String idCardFront; // 身份证正面
private String idCardBack; // 身份证反面
private String idCardHold; // 手持身份证
private String debitCard; // 结算卡正面
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNewPassword() {
return newPassword;
}
public void setNewPassword(String newPassword) {
this.newPassword = newPassword;
}
public String getRecommendedMobile() {
return recommendedMobile;
}
public void setRecommendedMobile(String recommendedMobile) {
this.recommendedMobile = recommendedMobile;
}
public String getIdentityCode() {
return identityCode;
}
public void setIdentityCode(String identityCode) {
this.identityCode = identityCode;
}
public String getFunction() {
return function;
}
public void setFunction(String function) {
this.function = function;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public List<String> getCardCodes() {
return cardCodes;
}
public void setCardCodes(List<String> cardCodes) {
this.cardCodes = cardCodes;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getCardMobile() {
return cardMobile;
}
public void setCardMobile(String cardMobile) {
this.cardMobile = cardMobile;
}
public String getBelongBank() {
return belongBank;
}
public void setBelongBank(String belongBank) {
this.belongBank = belongBank;
}
public String getCardBank() {
return cardBank;
}
public void setCardBank(String cardBank) {
this.cardBank = cardBank;
}
public String getCardPlace() {
return cardPlace;
}
public void setCardPlace(String cardPlace) {
this.cardPlace = cardPlace;
}
public String getFeedback() {
return feedback;
}
public void setFeedback(String feedback) {
this.feedback = feedback;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getIdCardPlace() {
return idCardPlace;
}
public void setIdCardPlace(String idCardPlace) {
this.idCardPlace = idCardPlace;
}
public String getIdCardFront() {
return idCardFront;
}
public void setIdCardFront(String idCardFront) {
this.idCardFront = idCardFront;
}
public String getIdCardBack() {
return idCardBack;
}
public void setIdCardBack(String idCardBack) {
this.idCardBack = idCardBack;
}
public String getIdCardHold() {
return idCardHold;
}
public void setIdCardHold(String idCardHold) {
this.idCardHold = idCardHold;
}
public String getDebitCard() {
return debitCard;
}
public void setDebitCard(String debitCard) {
this.debitCard = debitCard;
}
}
package com.thinkgem.jeesite.modules.user.dao;
import com.thinkgem.jeesite.common.baseBean.Request;
import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.user.bean.UserRequest;
import com.thinkgem.jeesite.modules.user.entity.*;
import java.util.List;
@MyBatisDao
public interface UserApiDao {
UserEntity getUserInfo(Request request);
void saveIdentifyCode(IdentityCodeEntity identityCodeEntity);
IdentityCodeEntity getIdentifyCode(UserRequest request);
UserEntity checkRecommend(UserRequest request);
UserEntity checkMobile(UserRequest request);
void signUp(UserEntity userEntity);
void resetPassword(UserEntity request);
UserEntity getUserInfoByPassword(UserRequest request);
UserDetailEntity getUserDetailByCode(UserEntity code);
CardEntity getCardInfoByCode(UserEntity userEntity);
List<CardEntity> getCardsInfo(UserRequest request);
void removeCards(UserRequest request);
void addNewCard(CardEntity cardEntity);
void addFeedback(FeedbackEntity feedbackEntity);
AboutUsEntity getAboutUsInfo(UserRequest request);
void saveUserDetail(UserDetailEntity userDetailEntity);
void updateUserInfo(UserEntity userEntity);
}
package com.thinkgem.jeesite.modules.user.entity;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class AboutUsEntity extends BaseEntity implements Serializable {
private String aboutInfo; // 关于
public String getAboutInfo() {
return aboutInfo;
}
public void setAboutInfo(String aboutInfo) {
this.aboutInfo = aboutInfo;
}
}
package com.thinkgem.jeesite.modules.user.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class CardEntity extends BaseEntity implements Serializable {
@JsonIgnore
private String userCode; // 用户code
private String cardType; // 银行卡类型 D储蓄卡 C信用卡
private String cardNo; // 卡号
@JsonIgnore
private String cardMobile; // 预留手机号
@JsonIgnore
private String belongBank; // 所属银行
@JsonIgnore
private String cardBank; // 开户支行
@JsonIgnore
private String cardPlace; // 开户地点
private String isDebit; // 是否是结算卡 Y是 N否
private String delFlag; // 删除标记 0未删除 1已删除
public CardEntity() {
}
public CardEntity(String code, String userCode, String cardType, String cardNo, String cardMobile, String belongBank, String cardBank, String cardPlace, String isDebit) {
this.setCode(code);
this.userCode = userCode;
this.cardType = cardType;
this.cardNo = cardNo;
this.cardMobile = cardMobile;
this.belongBank = belongBank;
this.cardBank = cardBank;
this.cardPlace = cardPlace;
this.isDebit = isDebit;
this.delFlag = "0";
this.setCreatedUser("sys");
this.setModifiedUser("sys");
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getCardType() {
return cardType;
}
public void setCardType(String cardType) {
this.cardType = cardType;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getCardMobile() {
return cardMobile;
}
public void setCardMobile(String cardMobile) {
this.cardMobile = cardMobile;
}
public String getBelongBank() {
return belongBank;
}
public void setBelongBank(String belongBank) {
this.belongBank = belongBank;
}
public String getCardBank() {
return cardBank;
}
public void setCardBank(String cardBank) {
this.cardBank = cardBank;
}
public String getCardPlace() {
return cardPlace;
}
public void setCardPlace(String cardPlace) {
this.cardPlace = cardPlace;
}
public String getIsDebit() {
return isDebit;
}
public void setIsDebit(String isDebit) {
this.isDebit = isDebit;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
}
package com.thinkgem.jeesite.modules.user.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class FeedbackEntity extends BaseEntity implements Serializable {
@JsonIgnore
private String userCode; // 用户code
private String feedback; // 反馈意见
public FeedbackEntity() {
}
public FeedbackEntity(String code, String userCode, String feedback) {
this.setCode(code);
this.userCode = userCode;
this.feedback = feedback;
this.setCreatedUser("sys");
this.setModifiedUser("sys");
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getFeedback() {
return feedback;
}
public void setFeedback(String feedback) {
this.feedback = feedback;
}
}
package com.thinkgem.jeesite.modules.user.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class IdentityCodeEntity extends BaseEntity implements Serializable {
@JsonIgnore
private String function; // 获取验证码的功能 1注册 2验证码登录 3忘记密码/修改密码 4实名认证 5添加储蓄卡 6添加信用卡
@JsonIgnore
private String mobile; // 手机号
private String identityCode; // 验证码
public IdentityCodeEntity() {
}
public IdentityCodeEntity(String code, String function, String mobile, String identityCode) {
setCode(code);
this.function = function;
this.mobile = mobile;
this.identityCode = identityCode;
}
public String getFunction() {
return function;
}
public void setFunction(String function) {
this.function = function;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getIdentityCode() {
return identityCode;
}
public void setIdentityCode(String identityCode) {
this.identityCode = identityCode;
}
}
package com.thinkgem.jeesite.modules.user.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class UserDetailEntity extends BaseEntity implements Serializable {
@JsonIgnore
private String userCode; // 用户code
private String realName; // 真实姓名
private String idCard; // 身份证号
private String idCardPlace; // 身份证地址
private String idCardFront; // 身份证正面
private String idCardBack; // 身份证反面
private String idCardHold; // 手持身份证
private String debitCard; // 结算卡正面
private CardEntity card; // 结算卡信息
public UserDetailEntity() {
}
public UserDetailEntity(String code, String userCode, String realName, String idCard, String idCardPlace, String idCardFront, String idCardBack, String idCardHold, String debitCard) {
this.setCode(code);
this.userCode = userCode;
this.realName = realName;
this.idCard = idCard;
this.idCardPlace = idCardPlace;
this.idCardFront = idCardFront;
this.idCardBack = idCardBack;
this.idCardHold = idCardHold;
this.debitCard = debitCard;
this.setCreatedUser("sys");
this.setModifiedUser("sys");
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getIdCardPlace() {
return idCardPlace;
}
public void setIdCardPlace(String idCardPlace) {
this.idCardPlace = idCardPlace;
}
public String getIdCardFront() {
return idCardFront;
}
public void setIdCardFront(String idCardFront) {
this.idCardFront = idCardFront;
}
public String getIdCardBack() {
return idCardBack;
}
public void setIdCardBack(String idCardBack) {
this.idCardBack = idCardBack;
}
public String getIdCardHold() {
return idCardHold;
}
public void setIdCardHold(String idCardHold) {
this.idCardHold = idCardHold;
}
public String getDebitCard() {
return debitCard;
}
public void setDebitCard(String debitCard) {
this.debitCard = debitCard;
}
public CardEntity getCard() {
return card;
}
public void setCard(CardEntity card) {
this.card = card;
}
}
package com.thinkgem.jeesite.modules.user.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkgem.jeesite.common.baseBean.BaseEntity;
import java.io.Serializable;
public class UserEntity extends BaseEntity implements Serializable {
private String nickname; // 昵称 注册时默认为等级_手机号
@JsonIgnore
private String subMerchantId; // 子商户id
private String level; // 等级 S管理员 A王者 B钻石 C黄金 D白银 E青铜
private String mobile; // 电话
@JsonIgnore
private String password; // 密码
private String avatar; // 头像
@JsonIgnore
private String recommendedMobile; // 推荐人手机号
@JsonIgnore
private String recommendedPath; // 推荐人路径
@JsonIgnore
private String belongTo; // 归属 B佰邦达 S盛世互通
private String status; // 状态 0未实名 1审核中 2已实名
private UserDetailEntity userDetail; // 用户详情
public UserEntity() {
}
public UserEntity(String code, String subMerchantId, String mobile, String password, String recommendedMobile, String recommendedPath, String belongTo) {
this.setCode(code);
this.nickname = "E_" + mobile;
this.subMerchantId = subMerchantId;
this.level = "E";
this.mobile = mobile;
this.password = password;
this.avatar = "";
this.recommendedMobile = recommendedMobile;
this.recommendedPath = recommendedPath;
this.belongTo = belongTo;
this.status = "0";
this.setCreatedUser("sys");
this.setModifiedUser("sys");
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getSubMerchantId() {
return subMerchantId;
}
public void setSubMerchantId(String subMerchantId) {
this.subMerchantId = subMerchantId;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public String getRecommendedMobile() {
return recommendedMobile;
}
public void setRecommendedMobile(String recommendedMobile) {
this.recommendedMobile = recommendedMobile;
}
public String getRecommendedPath() {
return recommendedPath;
}
public void setRecommendedPath(String recommendedPath) {
this.recommendedPath = recommendedPath;
}
public String getBelongTo() {
return belongTo;
}
public void setBelongTo(String belongTo) {
this.belongTo = belongTo;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public UserDetailEntity getUserDetail() {
return userDetail;
}
public void setUserDetail(UserDetailEntity userDetail) {
this.userDetail = userDetail;
}
}
package com.thinkgem.jeesite.modules.user.service;
import com.thinkgem.jeesite.common.baseBean.Request;
import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.common.constant.ComCode;
import com.thinkgem.jeesite.common.utils.DateUtils;
import com.thinkgem.jeesite.common.utils.IdGen;
import com.thinkgem.jeesite.common.utils.MD5;
import com.thinkgem.jeesite.modules.user.bean.IdentityCodeRequest;
import com.thinkgem.jeesite.modules.user.bean.UserRequest;
import com.thinkgem.jeesite.modules.user.dao.UserApiDao;
import com.thinkgem.jeesite.modules.user.entity.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
/**
* 前端用户相关
*/
@Service
@Transactional(readOnly = true)
public class UserApiService {
@Autowired
private UserApiDao userDao;
public UserEntity getUserInfo(UserRequest request) {
return userDao.getUserInfo(request);
}
@Transactional(readOnly = false)
public String getIdentifyCode(IdentityCodeRequest request) {
// 生成验证码
String identifyCode = IdGen.randomBase62(6).toUpperCase();
// TODO 发送验证码
// 验证码入库
IdentityCodeEntity identityCodeEntity = new IdentityCodeEntity(IdGen.randomBase62(64), request.getFunction(), request.getMobile(), identifyCode);
userDao.saveIdentifyCode(identityCodeEntity);
// 返回验证码
return identifyCode;
}
public IdentityCodeEntity getIdentifyCode(UserRequest request) {
return userDao.getIdentifyCode(request);
}
public boolean checkIdentifyCodeExpired(IdentityCodeEntity identityCodeEntity) throws ParseException {
Date now = new Date();
Date created = ComCode.YYYYMMDD_HHMMSS.parse(identityCodeEntity.getCreated());
// 验证码半小时内有效
if ((now.getTime() - created.getTime()) < (30 * ComCode.seconds * ComCode.mills)) {
return true;
}
return false;
}
public UserEntity checkRecommend(UserRequest request) {
return userDao.checkRecommend(request);
}
public UserEntity checkMobile(UserRequest request) {
return userDao.checkMobile(request);
}
@Transactional(readOnly = false)
public UserEntity signUp(UserRequest request) {
// 申请子商户号
String subMerchantId = "subMerchantId" + DateUtils.formatDateTime(new Date());
// 保存用户信息
String code = IdGen.randomBase62(64);
UserEntity recommend = userDao.checkRecommend(request);
UserEntity userEntity = new UserEntity(code, subMerchantId, request.getMobile(), MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"), request.getRecommendedMobile(), recommend.getRecommendedPath() + recommend.getId() + ",", recommend.getBelongTo());
userDao.signUp(userEntity);
return userDao.getUserInfo(new Request(code));
}
@Transactional(readOnly = false)
public void resetPassword(UserRequest request) {
// 根据手机号查询用户信息,因为Controller层判断过用户信息,因此此处一定可以查到用户信息
UserEntity userEntity = userDao.checkMobile(request);
userEntity.setPassword(MD5.sign(request.getNewPassword(), ComCode.signCode, "utf-8"));
// 重置密码
userDao.resetPassword(userEntity);
}
public UserEntity getUserInfoByPassword(UserRequest request) {
request.setPassword(MD5.sign(request.getPassword(), ComCode.signCode, "utf-8"));
return userDao.getUserInfoByPassword(request);
}
public UserEntity getUserInfoByIdentifyCode(UserRequest request) {
// Controller层判断过验证码信息,因此直接根据手机号查询用户信息即可
return userDao.checkMobile(request);
}
public UserEntity getUserDetailInfo(UserEntity userEntity) {
// 根据用户code获取用户详情
UserDetailEntity userDetailEntity = userDao.getUserDetailByCode(userEntity);
userEntity.setUserDetail(userDetailEntity);
// 获取用户结算卡信息
CardEntity cardEntity = userDao.getCardInfoByCode(userEntity);
userEntity.getUserDetail().setCard(cardEntity);
return userEntity;
}
public List<CardEntity> getCardsInfo(UserRequest request) {
return userDao.getCardsInfo(request);
}
@Transactional(readOnly = false)
public void removeCards(UserRequest request) {
userDao.removeCards(request);
}
@Transactional(readOnly = false)
public void addNewCard(UserRequest request) {
String code = IdGen.randomBase62(64);
CardEntity cardEntity = new CardEntity(code, request.getSubMerchantCode(), request.getCardType(), request.getCardNo(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "N");
userDao.addNewCard(cardEntity);
}
@Transactional(readOnly = false)
public void addFeedback(UserRequest request) {
String code = IdGen.randomBase62(64);
FeedbackEntity feedbackEntity = new FeedbackEntity(code, request.getSubMerchantCode(), request.getFeedback());
userDao.addFeedback(feedbackEntity);
}
public AboutUsEntity getAboutUsInfo(UserRequest request) {
return userDao.getAboutUsInfo(request);
}
@Transactional(readOnly = false)
public void certification(UserRequest request) {
// 更新用户详情
UserDetailEntity userDetailEntity = new UserDetailEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), request.getRealName(), request.getIdCard(), request.getIdCardPlace(), request.getIdCardFront().replace(Global.getConfig("sys.pre.url"), ""), request.getIdCardBack().replace(Global.getConfig("sys.pre.url"), ""), request.getIdCardHold().replace(Global.getConfig("sys.pre.url"), ""), request.getDebitCard().replace(Global.getConfig("sys.pre.url"), ""));
userDao.saveUserDetail(userDetailEntity);
// 更新银行卡详情
CardEntity cardEntity = new CardEntity(IdGen.randomBase62(64), request.getSubMerchantCode(), "D", request.getCardNo(), request.getCardMobile(), request.getBelongBank(), request.getCardBank(), request.getCardPlace(), "Y");
userDao.addNewCard(cardEntity);
// 更新用户状态
UserEntity userEntity = new UserEntity();
userEntity.setCode(request.getSubMerchantCode());
userEntity.setStatus("1");
userDao.updateUserInfo(userEntity);
}
}
<?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.thinkgem.jeesite.modules.messageCenter.dao.ArticleApiDao">
<select id="getArticles" resultType="com.thinkgem.jeesite.modules.messageCenter.entity.ArticleEntity">
SELECT
a.id,
a.title,
a.image,
a.keywords,
a.description,
DATE_FORMAT(a.create_date,'%Y-%m-%d') AS publishDate,
a.weight,
a.hits,
a.is_flow,
a.is_tip,
a.create_date AS created,
a.create_by AS createdUser,
a.update_date AS modified,
a.update_by AS modifiedUser
FROM
cms_article a
WHERE
a.is_flow = 'N'
AND a.is_tip = 'N'
ORDER BY
a.create_date DESC,
a.weight DESC
LIMIT #{begin},#{pageSize}
</select>
<select id="getArticleDetail" resultType="com.thinkgem.jeesite.modules.messageCenter.entity.ArticleEntity">
SELECT
a.id,
a.title,
a.image,
a.keywords,
a.description,
DATE_FORMAT(a.create_date,'%Y-%m-%d') AS publishDate,
a.weight,
a.hits,
a.is_flow,
a.is_tip,
a.create_date AS created,
a.create_by AS createdUser,
a.update_date AS modified,
a.update_by AS modifiedUser,
b.content
FROM
cms_article a
LEFT JOIN cms_article_data b ON a.id = b.id
WHERE
a.id = #{articleId}
ORDER BY
a.create_date DESC,
a.weight DESC
</select>
</mapper>
\ No newline at end of file
...@@ -12,9 +12,12 @@ ...@@ -12,9 +12,12 @@
#mysql database setting #mysql database setting
jdbc.type=mysql jdbc.type=mysql
jdbc.driver=com.mysql.jdbc.Driver jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/youka?useUnicode=true&characterEncoding=utf-8 #jdbc.url=jdbc:mysql://localhost:3306/youka?useUnicode=true&characterEncoding=utf-8
jdbc.username=root #jdbc.username=root
jdbc.password=admin #jdbc.password=admin
jdbc.url=jdbc:mysql://mysql.zhennan-test.svc:3306/mydb?useUnicode=true&characterEncoding=utf-8
jdbc.username=myuser
jdbc.password=mypassword
#mssql database settings #mssql database settings
#jdbc.type=mssql #jdbc.type=mssql
...@@ -126,6 +129,7 @@ activiti.form.server.url= ...@@ -126,6 +129,7 @@ activiti.form.server.url=
#路径前缀 #路径前缀
sys.pre.url=http://localhost:8080/ sys.pre.url=http://localhost:8080/
#图片文件保存地址 #图片文件保存地址
image.save.url=D:/youka/images/ #image.save.url=D:/youka/images/
image.save.url=/youka/image
#图片返回路径 #图片返回路径
image.return.url=images/ image.return.url=images/
\ 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