提交 986bb5c9 authored 作者: liupengfei's avatar liupengfei

--no commit message

上级 0621e62d
package com.zrqx.member.bg.emember.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -20,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.form.member.bg.emember.SaveOrUpdateEMemberForm;
import com.zrqx.core.model.member.ExpertMember;
import com.zrqx.core.util.bean.Copy;
......@@ -28,6 +23,9 @@ import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.member.bg.member.EMemberVO;
import com.zrqx.member.bg.emember.service.ExpertMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* 专家用户信息 Controller
*/
......@@ -72,7 +70,7 @@ public class ExpertMemberController {
public CallBack<Boolean> update( @RequestBody ExpertMember entity) {
ExpertMember member = service.selectByPrimaryKey(entity.getId());
if(member == null) {
throw new ParameterValidateException("用户id错误!");
throw new BaseException("用户id错误!");
}
BeanUtils.copyProperties(entity, member);
if(service.updateByPrimaryKey(member)) {
......
......@@ -5,7 +5,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.member.bg.emember.SaveOrUpdateEMemberForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.ExpertMember;
......@@ -30,7 +30,7 @@ public class ExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Intege
@Override
public void saveOrUpdate(SaveOrUpdateEMemberForm form) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
Member m = new Member();
ExpertMember em = new ExpertMember();
......@@ -40,7 +40,7 @@ public class ExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Intege
//新增
synchronized(this) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
m.setLevel(1);
m.setCreateTime(DateUtils.getDate());
......@@ -60,7 +60,7 @@ public class ExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Intege
//修改
synchronized(this) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
Member old = mmapper.selectByPrimaryKey(m.getId());
m.setCreateTime(old.getCreateTime());
......
package com.zrqx.member.bg.member.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -23,14 +19,10 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import tk.mybatis.mapper.entity.Example;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.enums.StatusEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.form.member.bg.member.QueryMemberForm;
import com.zrqx.core.form.member.bg.member.SaveMemberForm;
import com.zrqx.core.model.member.Member;
......@@ -44,6 +36,11 @@ import com.zrqx.core.vo.member.bg.member.MemberListVO;
import com.zrqx.member.bg.member.service.MemberService;
import com.zrqx.member.bg.member.service.PayInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import tk.mybatis.mapper.entity.Example;
/**
* 用户基础信息 Controller
*/
......@@ -89,7 +86,7 @@ public class MemberController {
//@PostMapping(value = MemberRequestPath.SAVE)
public CallBack<Integer> insert( @RequestBody Member entity) {
if(service.isExistByAccount(entity.getId(),entity.getAccount())) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
entity.setCreateTime(new Date());
if(service.insertSelective(entity)) {
......@@ -113,11 +110,11 @@ public class MemberController {
//@PostMapping(value = MemberRequestPath.UPDATE)
public CallBack<Boolean> update(@RequestBody Member entity) {
if(service.isExistByAccount(entity.getId(),entity.getAccount())) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
Member member = service.selectByPrimaryKey(entity.getId());
if(member == null) {
throw new ParameterValidateException("用户id错误!");
throw new BaseException("用户id错误!");
}
BeanUtils.copyProperties(entity, member);
if(service.updateByPrimaryKey(member)) {
......@@ -130,7 +127,7 @@ public class MemberController {
public CallBack<Member> getById(@PathVariable Integer oid) {
Member member = service.selectByPrimaryKey(oid);
if(member == null) {
throw new ParameterValidateException("用户id错误!");
throw new BaseException("用户id错误!");
}
return CallBack.success(member);
}
......@@ -189,7 +186,7 @@ public class MemberController {
public CallBack<Boolean> updateStatus(@ApiParam(value = "用户状态 0 禁用 1启用") @PathVariable("value") Integer value,
@ApiParam(value = "用户id集合") @RequestBody List<Integer> ids) {
if (!StatusEnum.isExist(value)) {
throw new ParameterValidateException("会员状态参数不正确!");
throw new BaseException("会员状态参数不正确!");
}
Example example = service.createExample();
example.createCriteria().andIn("id", ids);
......
......@@ -19,8 +19,6 @@ import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.form.member.bg.member.QueryMemberForm;
import com.zrqx.core.form.member.bg.omember.QueryOrganMemberForm;
import com.zrqx.core.model.member.Member;
import com.zrqx.core.util.encry.MD5Util;
......@@ -28,7 +26,6 @@ import com.zrqx.core.util.excelutil.ExcelUtil;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.member.bg.member.ExcelMemberExportVo;
import com.zrqx.core.vo.member.bg.member.ExcelOrganMemberExportVo;
import com.zrqx.core.vo.member.bg.member.OrganMemberListVO;
import com.zrqx.core.vo.member.bg.member.OrganMemberVO;
......@@ -69,7 +66,7 @@ public class OrganMemberController {
public CallBack<OrganMemberVO> getById(@PathVariable Integer oid) {
OrganMemberVO member = service.getById(oid);
if(member == null) {
throw new ParameterValidateException("用户id错误!");
throw new BaseException("用户id错误!");
}
return CallBack.success(member);
}
......
package com.zrqx.member.bg.organ.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -18,10 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
import com.github.pagehelper.PageHelper;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
......@@ -37,7 +32,11 @@ import com.zrqx.core.vo.member.bg.organ.OrganVO;
import com.zrqx.core.vo.resource.diytype.DiyTypeOneVO;
import com.zrqx.member.bg.client.resource.ResourceClient;
import com.zrqx.member.bg.organ.service.OrganService;
import com.zrqx.member.commons.redis.Redis;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
/**
* 机构 Controller
*/
......
......@@ -4,7 +4,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -15,13 +14,10 @@ import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.form.member.bg.pmember.SaveOrUpdatePMemberForm;
import com.zrqx.core.model.member.Member;
import com.zrqx.core.model.member.PersonalMember;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.member.bg.member.PMemberVO;
import com.zrqx.member.bg.member.service.MemberService;
import com.zrqx.member.bg.pmember.service.PersonalMemberService;
import io.swagger.annotations.Api;
......@@ -62,7 +58,7 @@ public class PersonalMemberController {
public CallBack<Boolean> update( @RequestBody PersonalMember entity) {
PersonalMember member = service.selectByPrimaryKey(entity.getId());
if(member == null) {
throw new ParameterValidateException("用户id错误!");
throw new BaseException("用户id错误!");
}
BeanUtils.copyProperties(entity, member);
if(service.updateByPrimaryKey(member)) {
......
......@@ -5,7 +5,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.member.bg.pmember.SaveOrUpdatePMemberForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.Member;
......@@ -33,10 +33,10 @@ public class PersonalMemberServiceImpl extends BaseServiceImpl<PersonalMember, I
@Override
public void saveOrUpdate(SaveOrUpdatePMemberForm form) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
if(mmapper.isExistPhone(form.getId(),form.getPhone()) > 0) {
throw new BusinessValidateException("手机号已存在!");
throw new BaseException("手机号已存在!");
}
Member m = new Member();
PersonalMember pm = new PersonalMember();
......@@ -46,10 +46,10 @@ public class PersonalMemberServiceImpl extends BaseServiceImpl<PersonalMember, I
// 新增
synchronized (this) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
if(mmapper.isExistPhone(form.getId(),form.getPhone()) > 0) {
throw new BusinessValidateException("手机号已存在!");
throw new BaseException("手机号已存在!");
}
m.setLevel(0);
m.setCreateTime(DateUtils.getDate());
......@@ -68,10 +68,10 @@ public class PersonalMemberServiceImpl extends BaseServiceImpl<PersonalMember, I
// 修改
synchronized (this) {
if(mmapper.isExist(form.getId(),form.getAccount()) > 0) {
throw new BusinessValidateException("用户已存在!");
throw new BaseException("用户已存在!");
}
if(mmapper.isExistPhone(form.getId(),form.getPhone()) > 0) {
throw new BusinessValidateException("手机号已存在!");
throw new BaseException("手机号已存在!");
}
Member old = mmapper.selectByPrimaryKey(m.getId());
m.setCreateTime(old.getCreateTime());
......
package com.zrqx.member.commons.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* 访问地址
* http://ip:port/swagger-ui.html
最常用的5个注解
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiModelProperty:用对象接收参数时,描述对象的一个字段
其它若干
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiClass
@ApiError
@ApiErrors
@ApiParamImplicit
@ApiParamsImplicit
*/
@EnableSwagger2
@Configuration
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//为当前包路径
.apis(RequestHandlerSelectors.basePackage("com.zrqx"))
.paths(PathSelectors.any())
.build();
}
//构建 api文档的详细信息函数
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("member 测试使用 Swagger2 构建RESTful API")
//描述
.description("sysUser服务 API 描述")
//创建人
.contact(new Contact("陈新昌", "www.baidu.com", "cxinchang@126.com"))
//版本号
.version("3.0")
.build();
}
}
\ No newline at end of file
package com.zrqx.member.commons.interceptor;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.validation.BindException;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.LoginValidateException;
import com.zrqx.core.exception.ParameterValidateException;
import com.zrqx.core.util.response.CallBack;
/**
*controller 异常处理
* @ClassName: CustomExceptionHandler
* @Description: TODO(这里用一句话描述这个类的作用)
* @author 杨振广
* @date 2016-7-14 上午9:45:40
*
*/
@ControllerAdvice
public class CustomExceptionHandler {
private final static Logger logger = LoggerFactory.getLogger(CustomExceptionHandler.class);
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object handlerException(HttpServletRequest request,HttpServletResponse response,Exception e){
e.printStackTrace();
StackTraceElement[] s = e.getStackTrace();
StringBuffer stes = new StringBuffer(s.length*2);
for (StackTraceElement stackTraceElement : s) {
stes.append(stackTraceElement.toString());
stes.append("<br/>");
}
String info = "异常时间:"+new Date().toLocaleString()+"\n请求地址:"+request.getRequestURI()+"\n参数:"+request.getQueryString()+"\n"+e.getMessage();
logger.error(info+"\n"+stes.toString());
request.setAttribute("error",info);
request.setAttribute("errorInfo",e.getStackTrace());
return CallBack.fail(e.getMessage());
}
/**
* 参数验证异常处理
* @Title: handlerException
* @Description:
* @param request
* @param response
* @param e BindException
* @return
* @author lpf
* @date: 2018年5月9日 下午5:01:58
*/
@ExceptionHandler(BindException.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object handlerException(HttpServletRequest request,HttpServletResponse response,BindException e) {
List<ObjectError> errors = e.getAllErrors();
StringBuffer msg = new StringBuffer();
for (ObjectError objectError : errors) {
msg.append(objectError.getDefaultMessage());
msg.append(",");
}
msg.deleteCharAt(msg.length()-1);
return CallBack.fail(msg.toString());
}
/**
* 执行异常处理
* @Description:
* @param e BaseException
* @return
* @date: 2018年5月9日 下午5:01:58
*
*/
@ExceptionHandler(BaseException.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object myException(BaseException e) {
return CallBack.fail(e.getCode(),e.getData(),e.getMessage());
}
/**
* 业务验证异常
* @param e
* @return
* @author ycw
* @date: 2018年12月26日 上午9:22:33
*/
@ExceptionHandler(BusinessValidateException.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object myException(BusinessValidateException e) {
return CallBack.fail(e.getCode(),null,e.getMessage());
}
/**
* 参数验证异常
* @param e
* @return
* @author ycw
* @date: 2018年12月26日 上午9:22:33
*/
@ExceptionHandler(ParameterValidateException.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object myException(ParameterValidateException e) {
return CallBack.fail(e.getCode(),null,e.getMessage());
}
/**
* 登陆验证异常
* @param e
* @return
* @author ycw
* @date: 2018年12月26日 上午9:22:33
*/
@ExceptionHandler(LoginValidateException.class)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public Object myException(LoginValidateException e) {
return CallBack.fail(e.getCode(),null,e.getMessage());
}
}
\ No newline at end of file
package com.zrqx.member.commons.interceptor;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.aop.Advisor;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource;
import org.springframework.transaction.interceptor.RollbackRuleAttribute;
import org.springframework.transaction.interceptor.RuleBasedTransactionAttribute;
import org.springframework.transaction.interceptor.TransactionAttribute;
import org.springframework.transaction.interceptor.TransactionInterceptor;
/**
* Created by guozp on 2017/8/28.
*/
@Aspect
//@Component 事务依然生效
@Configuration
public class TxAdviceInterceptor {
private static final int TX_METHOD_TIMEOUT = 5;
private static final String AOP_POINTCUT_EXPRESSION = "execution(* com.zrqx..service..*Impl.*(..))";
@Autowired
private PlatformTransactionManager transactionManager;
// 其中 dataSource 框架会自动为我们注入
@Bean(name = "transactionManager")
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
@Bean
public TransactionInterceptor txAdvice() {
NameMatchTransactionAttributeSource source = new NameMatchTransactionAttributeSource();
/*只读事务,不做更新操作*/
RuleBasedTransactionAttribute readOnlyTx = new RuleBasedTransactionAttribute();
readOnlyTx.setReadOnly(true);
readOnlyTx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED );
/*当前存在事务就使用当前事务,当前不存在事务就创建一个新的事务*/
RuleBasedTransactionAttribute requiredTx = new RuleBasedTransactionAttribute();
requiredTx.setRollbackRules(
Collections.singletonList(new RollbackRuleAttribute(Exception.class)));
requiredTx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
requiredTx.setTimeout(TX_METHOD_TIMEOUT);
Map<String, TransactionAttribute> txMap = new HashMap<>();
txMap.put("add*", requiredTx);
txMap.put("save*", requiredTx);
txMap.put("insert*", requiredTx);
txMap.put("update*", requiredTx);
txMap.put("delete*", requiredTx);
txMap.put("get*", readOnlyTx);
txMap.put("query*", readOnlyTx);
source.setNameMap( txMap );
TransactionInterceptor txAdvice = new TransactionInterceptor(transactionManager, source);
return txAdvice;
}
@Bean
public Advisor txAdviceAdvisor() {
AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
pointcut.setExpression(AOP_POINTCUT_EXPRESSION);
return new DefaultPointcutAdvisor(pointcut, txAdvice());
//return new DefaultPointcutAdvisor(pointcut, txAdvice);
}
}
\ No newline at end of file
package com.zrqx.member.commons.redis;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.member.fg.permissions.LoginMemberInfo;
import com.zrqx.core.model.sysuser.user.User;
import com.zrqx.core.util.JsonUtil.JsonUtil;
/**
* Redis消息管理 ,调用时不能用多线程调用
* @author lpf
* @date 2018年6月5日上午10:03:01
*/
@Component
public class Redis {
private static final String FG_TOKEN = "y-token";
private static final String BG_TOKEN = "x-token";
@Autowired
StringRedisTemplate stringRedisTemplate;
/**
* redis 1.0 动态变更数据库
*/
public void updateDatebase(int num) {
JedisConnectionFactory jedisConnectionFactory = (JedisConnectionFactory) stringRedisTemplate.getConnectionFactory();
jedisConnectionFactory.setDatabase(num);
stringRedisTemplate.setConnectionFactory(jedisConnectionFactory);
}
/**
* 获取后台登录用户信息
*
* @return
*/
public User getUser() {
return getInfoObjectRedis(getBgToken(), User.class);
}
/**
* 获取前台登录用户信息
*
* @return
*/
public LoginMemberInfo getMember() {
return getInfoObjectRedis(getFgToken(), LoginMemberInfo.class);
}
public String fmtObj(Object obj) throws IOException {
return obj instanceof String ? obj.toString():JsonUtil.bean2Json(obj);
}
/**
* 添加到redis
* @param token
* Key
* @param obj
* Value
* @param timeout
* 过期时间
* @param unit
* TimeUnitEnum 时间格式
* @throws IOException
*/
public void set(String token, Object obj, long timeout,TimeUnit unit) throws IOException {
stringRedisTemplate.opsForValue().set(token,fmtObj(obj),timeout,unit);
}
public void set(String token, Object obj, long timeout) throws IOException {
stringRedisTemplate.opsForValue().set(token,fmtObj(obj),timeout,TimeUnit.SECONDS);
}
/**
* 添加到redis
* @param token Key
* @param obj Value
* @throws IOException
*/
public void set(String token,Object obj) throws IOException{
stringRedisTemplate.opsForValue().set(token,fmtObj(obj));
}
/**
* 根据key删除redis中的数据
* @param key
* @throws IOException
*/
public void delete(String key) throws IOException{
stringRedisTemplate.delete(key);
}
/**
* 根据key查询redis中的数据
*
* @param token
* @return
*/
public String get(String token) {
return stringRedisTemplate.opsForValue().get(token);
}
public <T> T getInfoObjectRedis(String key,Class<T> objClass){
try {
String userInfo = get(key);
if(StringUtils.isEmpty(userInfo)) {
throw new BaseException(ResponseCodeEnum.NO_LOGIN);
}
return JsonUtil.json2Bean(userInfo, objClass);
} catch (Exception e) {
throw new BaseException("获取用户信息错误!"+e.getMessage());
}
}
public static String getToken(String tokenName){
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
Enumeration<String> headerNames = request.getHeaderNames();
String token = null;
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
//TODO--前台获取token
if(key.toLowerCase().equals(tokenName)){
token=request.getHeader(key);
}
}
if (token == null) {
throw new BaseException(ResponseCodeEnum.NO_LOGIN);
}
return token;
}
public static String getBgToken(){
return getToken(BG_TOKEN);
}
public static String getFgToken(){
return getToken(FG_TOKEN);
}
public List<String> getAllToken(){
Set<String> keys = stringRedisTemplate.keys("*");
List<String> keyList = new ArrayList<String>();
for (String key : keys) {
keyList.add(key);
}
return keyList;
}
}
......@@ -5,7 +5,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zrqx.core.exception.BusinessValidateException;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.form.member.bg.emember.SaveOrUpdateEMemberForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.ExpertMember;
......@@ -29,7 +29,7 @@ public class FgExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Inte
@Override
public void saveOrUpdate(SaveOrUpdateEMemberForm form) {
if(mmapper.isExist(form.getId(),form.getAccount(),null) > 0) {
throw new BusinessValidateException("该账号已被注册!");
throw new BaseException("该账号已被注册!");
}
Member m = new Member();
ExpertMember em = new ExpertMember();
......@@ -39,7 +39,7 @@ public class FgExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Inte
//新增
synchronized(this) {
if(mmapper.isExist(form.getId(),form.getAccount(),null) > 0) {
throw new BusinessValidateException("该账号已被注册!");
throw new BaseException("该账号已被注册!");
}
m.setLevel(1);
m.setCreateTime(DateUtils.getDate());
......@@ -59,7 +59,7 @@ public class FgExpertMemberServiceImpl extends BaseServiceImpl<ExpertMember,Inte
//修改
synchronized(this) {
if(mmapper.isExist(form.getId(),form.getAccount(),null) > 0) {
throw new BusinessValidateException("该账号已被注册!");
throw new BaseException("该账号已被注册!");
}
Member old = mmapper.selectByPrimaryKey(m.getId());
m.setCreateTime(old.getCreateTime());
......
package com.zrqx.member.fg.permissions;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
......@@ -11,6 +8,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
......@@ -30,9 +28,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import sun.misc.BASE64Encoder;
import tk.mybatis.mapper.entity.Example;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.member.ChannelEnum;
import com.zrqx.core.exception.BaseException;
......@@ -56,7 +52,6 @@ import com.zrqx.core.util.datatype.VerifyUtil;
import com.zrqx.core.util.encry.MD5Util;
import com.zrqx.core.util.ip.CusAccessObjectUtil;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.member.commons.redis.Redis;
import com.zrqx.member.fg.client.third.QQLoginClient;
import com.zrqx.member.fg.client.third.SdkSmsClient;
import com.zrqx.member.fg.client.third.WeChatLoginClient;
......@@ -66,6 +61,11 @@ import com.zrqx.member.fg.omember.service.FgOrganMemberService;
import com.zrqx.member.fg.organ.service.FgOrganService;
import com.zrqx.member.fg.pmember.service.FgPersonalMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import sun.misc.BASE64Encoder;
import tk.mybatis.mapper.entity.Example;
/**
* 前台登录与注册Controller
*/
......@@ -154,7 +154,7 @@ public class FgPermissionsController {
String token = "";
if(info.getLevel().equals(2)){
List<String> keys = redis.getAllToken();
Set<String> keys = redis.keys();
if(!keys.isEmpty()){
List<String> keyList = new ArrayList<String>();
for (String key : keys) {
......@@ -342,7 +342,7 @@ public class FgPermissionsController {
@ApiOperation(value = "前台用户登出", notes = "前台用户登出")
@GetMapping(value = MemberRequestPath.LOGOUT)
public CallBack<Boolean> logout() throws IOException {
redis.delete(Redis.getFgToken());
redis.delete(redis.getFgToken());
return CallBack.success(true);
}
@ApiOperation(value = "查询会员账号是否被注册", notes = "查询会员账号是否存在-普通用户和机构用户 共用此接口 0:可用; 99:已被注册;")
......
......@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.member.LevelEnum;
import com.zrqx.core.exception.BaseException;
......@@ -34,7 +35,6 @@ import com.zrqx.core.util.datatype.DateUtils;
import com.zrqx.core.util.datatype.PasswordUtil;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.member.fg.personalcenter.MemberInfo;
import com.zrqx.member.commons.redis.Redis;
import com.zrqx.member.fg.client.third.SdkSmsClient;
import com.zrqx.member.fg.emember.service.FgExpertMemberService;
import com.zrqx.member.fg.member.service.FgMemberService;
......@@ -108,12 +108,8 @@ public class PersonalCenterConteroller {
pm.setId(memberInfo.getId());
mService.updateByPrimaryKeySelective(member);
pmService.updateByPrimaryKeySelective(pm);
try {
BeanUtils.copyPropertiesIgnoreNull(form, memberInfo, form);
redis.set(memberInfo.getToken(), memberInfo);
} catch (IOException e) {
e.printStackTrace();
}
BeanUtils.copyPropertiesIgnoreNull(form, memberInfo, form);
redis.set(memberInfo.getToken(), memberInfo);
}
return CallBack.success("");
}
......
......@@ -9,11 +9,10 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.constant.member.MemberRequestPath;
import com.zrqx.core.enums.ResponseCodeEnum;
import com.zrqx.core.exception.BaseException;
import com.zrqx.core.exception.LoginValidateException;
import com.zrqx.core.form.member.fg.permissions.LoginMemberInfo;
import com.zrqx.core.model.member.PmMember;
import com.zrqx.core.model.member.PrivateMessage;
import com.zrqx.core.util.page.PageInfo;
......@@ -21,7 +20,6 @@ import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.member.fg.pm.FgPrivateMessageListVO;
import com.zrqx.core.vo.member.fg.pm.FgPrivateMessageVO;
import com.zrqx.member.commons.redis.Redis;
import com.zrqx.member.fg.pm.service.FgPmMemberService;
import com.zrqx.member.fg.pm.service.FgPrivateMessageService;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论