Commit c7bfb215 authored by Java—红包—徐 然's avatar Java—红包—徐 然

修改合并分支

parents d537dc46 61f9b0bc
...@@ -31,7 +31,16 @@ ...@@ -31,7 +31,16 @@
<artifactId>gson</artifactId> <artifactId>gson</artifactId>
<version>2.3.1</version> <version>2.3.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.6.2</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
......
package cn.quantgroup.xyqb.config.mq;
import cn.quantgroup.xyqb.service.mq.IVestService;
import org.springframework.amqp.core.AcknowledgeMode;
import org.springframework.amqp.core.AmqpAdmin;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* //马甲包 xuran
*/
@Configuration
public class LoanVestMQConfig {
@Value("${loanvest.rabbitmq.queue}")
private String queueName;
@Value("${loanvest.rabbitmq.exchange}")
private String loanVestExchange;
@Value("${loanvest.rabbitmq.connection.host}")
private String host;
@Value("${loanvest.rabbitmq.connection.port}")
private Integer port;
@Value("${loanvest.rabbitmq.connection.user}")
private String user;
@Value("${loanvest.rabbitmq.connection.password}")
private String password;
@Value("${loanvest.rabbitmq.connection.virtual-host}")
private String virtualHost;
//@Value("${loanvest.rabbitmq.stateMsgQueue}")
//private String stateQueueName;
@Bean(name = "vestFactory")
public ConnectionFactory vestFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host, port);
connectionFactory.setChannelCacheSize(1024);
connectionFactory.setCacheMode(CachingConnectionFactory.CacheMode.CONNECTION);
connectionFactory.setChannelCacheSize(180 * 1000);
connectionFactory.setConnectionCacheSize(1024);
connectionFactory.setUsername(user);
connectionFactory.setPassword(password);
connectionFactory.setVirtualHost(virtualHost);
connectionFactory.setPublisherReturns(false);
connectionFactory.setPublisherConfirms(false);
return connectionFactory;
}
@Bean(name= "loanVestAmqpAdmin")
public AmqpAdmin loanVestAdmin(@Qualifier("vestFactory") ConnectionFactory vestFactory) {
return new RabbitAdmin(vestFactory);
}
@Bean(name = "loanVestExchange")
public FanoutExchange loanVestExchange() {
return new FanoutExchange(loanVestExchange);
}
@Bean(name = "loanVestQueue")
public Queue loanVestQueue() {
return new Queue(queueName);
}
@Bean(name = "loanVestBinding")
public Binding bindingLoanVest(@Qualifier("loanVestAmqpAdmin")AmqpAdmin loanVestAdmin, @Qualifier("loanVestQueue")Queue loanVestQueue, @Qualifier("loanVestExchange")FanoutExchange loanVestExchange) {
Binding binding = BindingBuilder.bind(loanVestQueue).to(loanVestExchange);
loanVestAdmin.declareBinding(binding);
return binding;
}
@Bean(name = "loanVestRabbitTemplate")
public RabbitTemplate loanVestTemplate(@Qualifier("vestFactory") ConnectionFactory vestFactory) {
RabbitTemplate template = new RabbitTemplate(vestFactory);
template.setExchange(loanVestExchange);
return template;
}
//@Bean(name = "loanVestMsgQueue")
//public Queue loanStateMsgQueue() {
// return new Queue(stateQueueName);
//}
//@Bean(name = "loanVestListenerContainer")
//public SimpleMessageListenerContainer loanVestSimpleMessageListenerContainer(@Qualifier("loanVestMQService") IVestService vestService, @Qualifier("vestFactory") ConnectionFactory vestFactory, @Qualifier("loanVestMsgQueue")Queue loanVestMsgQueue) {
// SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
// container.setConnectionFactory(vestFactory);
// container.setQueues(loanVestMsgQueue);
// container.setAcknowledgeMode(AcknowledgeMode.NONE);
// container.setMessageListener(new MessageListenerAdapter(vestService));
// container.start();
// return container;
//
//}
}
package cn.quantgroup.xyqb.controller.external.index;
import cn.quantgroup.xyqb.model.JsonResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by xuran on 2017/7/12.
*/
@RestController
@RequestMapping("/hello")
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "ok";
}
}
...@@ -369,11 +369,15 @@ public class UserQueryLogController { ...@@ -369,11 +369,15 @@ public class UserQueryLogController {
} }
@RequestMapping("/exportUserInfo") @RequestMapping("/exportUserInfo")
public JsonResult exportExcel(final HttpServletResponse response,String key,String keyValues, String columns,String token){ public JsonResult exportExcel(final HttpServletResponse response, HttpServletRequest request,String key,String keyValues, String columns){
String token=request.getHeader("x-auth-token");
if(token==null||token.equals("")){ if(token==null||token.equals("")){
LOGGER.info("token为空,非法查询");
return JsonResult.buildErrorStateResult("缺少授权信息",null); return JsonResult.buildErrorStateResult("缺少授权信息",null);
} }
String userName=checkUserToken(token); String userName=checkUserToken(token);
if(userName.equals("")){ if(userName.equals("")){
return JsonResult.buildErrorStateResult("未授权查询",null); return JsonResult.buildErrorStateResult("未授权查询",null);
...@@ -564,8 +568,9 @@ public class UserQueryLogController { ...@@ -564,8 +568,9 @@ public class UserQueryLogController {
{ {
OutputStream output=response.getOutputStream(); OutputStream output=response.getOutputStream();
response.reset(); response.reset();
response.setHeader("Content-disposition", "attachment; filename=users.xls"); response.setHeader("Content-disposition", "attachment; filename=users.xlsx");
response.setContentType("application/msexcel"); response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setCharacterEncoding("utf-8");
wb.write(output); wb.write(output);
output.close(); output.close();
......
...@@ -22,6 +22,7 @@ import cn.quantgroup.xyqb.service.user.IUserBtRegisterService; ...@@ -22,6 +22,7 @@ import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.IPUtil; import cn.quantgroup.xyqb.util.IPUtil;
import cn.quantgroup.xyqb.util.MqUtils;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -74,7 +75,7 @@ public class AppController implements IBaseController { ...@@ -74,7 +75,7 @@ public class AppController implements IBaseController {
String phoneNo, String phoneNo,
@RequestParam(required = false, defaultValue = "1") Long registerFrom, @RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId, @RequestParam(required = false, defaultValue = "1") Long channelId,
String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel,@RequestParam(required = false)Long btRegisterChannelId, HttpServletRequest request String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel,@RequestParam(required = false)Long btRegisterChannelId,HttpServletRequest request
) { ) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -85,6 +86,7 @@ public class AppController implements IBaseController { ...@@ -85,6 +86,7 @@ public class AppController implements IBaseController {
User user = userService.findByPhoneInDb(phoneNo); User user = userService.findByPhoneInDb(phoneNo);
if (user == null) { if (user == null) {
user = register(registerFrom, phoneNo, idNo, name, channelId,btRegisterChannelId); user = register(registerFrom, phoneNo, idNo, name, channelId,btRegisterChannelId);
} }
if (user == null) { if (user == null) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -106,6 +108,9 @@ public class AppController implements IBaseController { ...@@ -106,6 +108,9 @@ public class AppController implements IBaseController {
bean.setToken(sessionStruct.getSid()); bean.setToken(sessionStruct.getSid());
bean.setPhoneNo(phoneNo); bean.setPhoneNo(phoneNo);
LOGGER.info("第三方用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", registerFrom, phoneNo, appChannel); LOGGER.info("第三方用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", registerFrom, phoneNo, appChannel);
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,null,4,channelId);
MqUtils.sendLoanVest(statistics);
return new JsonResult(bean); return new JsonResult(bean);
} }
...@@ -196,7 +201,11 @@ public class AppController implements IBaseController { ...@@ -196,7 +201,11 @@ public class AppController implements IBaseController {
loginInfo.setLoginContext(context); loginInfo.setLoginContext(context);
LOGGER.info("第三方用户获取信息登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", registerFrom, phoneNo, appChannel); LOGGER.info("第三方用户获取信息登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", registerFrom, phoneNo, appChannel);
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,null,4,channelId);
MqUtils.sendLoanVest(statistics);
return JsonResult.buildSuccessResult("", loginInfo); return JsonResult.buildSuccessResult("", loginInfo);
} }
/** /**
...@@ -279,7 +288,9 @@ public class AppController implements IBaseController { ...@@ -279,7 +288,9 @@ public class AppController implements IBaseController {
LOGGER.error("保存 UserDetail 出现异常", e); LOGGER.error("保存 UserDetail 出现异常", e);
} }
} }
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,null,2,channelId);
MqUtils.sendLoanVest(statistics);
return user; return user;
} }
......
...@@ -20,6 +20,7 @@ import cn.quantgroup.xyqb.model.IdType; ...@@ -20,6 +20,7 @@ import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserDetailRet; import cn.quantgroup.xyqb.model.UserDetailRet;
import cn.quantgroup.xyqb.model.UserExtInfoRet; import cn.quantgroup.xyqb.model.UserExtInfoRet;
import cn.quantgroup.xyqb.model.UserInfo;
import cn.quantgroup.xyqb.model.UserRet; import cn.quantgroup.xyqb.model.UserRet;
import cn.quantgroup.xyqb.model.UserSpouseRet; import cn.quantgroup.xyqb.model.UserSpouseRet;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
...@@ -124,8 +125,8 @@ public class InnerController implements IBaseController { ...@@ -124,8 +125,8 @@ public class InnerController implements IBaseController {
if (user == null) { if (user == null) {
return JsonResult.buildErrorStateResult("", null); return JsonResult.buildErrorStateResult("", null);
} }
UserRet userRet = new UserRet(user);
UserRet userRet = new UserRet(user);
return JsonResult.buildSuccessResult("", userRet); return JsonResult.buildSuccessResult("", userRet);
} }
...@@ -137,10 +138,50 @@ public class InnerController implements IBaseController { ...@@ -137,10 +138,50 @@ public class InnerController implements IBaseController {
if (user == null) { if (user == null) {
return JsonResult.buildErrorStateResult("", null); return JsonResult.buildErrorStateResult("", null);
} }
UserRet userRet = new UserRet(user); UserRet userRet = new UserRet(user);
return JsonResult.buildSuccessResult("", userRet); return JsonResult.buildSuccessResult("", userRet);
} }
@RequestMapping("/userInfo/search/uuid")
@LogHttpCaller
public JsonResult findUserInfoByUuid(@RequestParam(value = "uuid") String uuid) {
LOGGER.info("需要查询的用户uuidid, uuid:" + uuid);
if (StringUtils.isBlank(uuid)) {
return JsonResult.buildSuccessResult(null, null);
}
User user = userService.findByUuidInDb(uuid);
if(null!=user){
if(!user.getEnable()){
return JsonResult.buildSuccessResult("", null);
}
UserDetail userDetail = userDetailService.findByUserId(user.getId());
UserInfo info = new UserInfo(user,userDetail);
return JsonResult.buildSuccessResult("", info);
}
return JsonResult.buildSuccessResult("", null);
}
@RequestMapping("/userInfo/search/phone")
@LogHttpCaller
public JsonResult findUserInfoByPhone(@RequestParam(value = "phone") String phone) {
LOGGER.info("需要查询的用户phone, phone:" + phone);
if (StringUtils.isBlank(phone)) {
return JsonResult.buildSuccessResult(null, null);
}
User user = userService.findByPhoneInDb(phone);
if(null!=user){
if(!user.getEnable()){
return JsonResult.buildSuccessResult("", null);
}
UserDetail userDetail = userDetailService.findByUserId(user.getId());
UserInfo info = new UserInfo(user,userDetail);
return JsonResult.buildSuccessResult("", info);
}
return JsonResult.buildSuccessResult("", null);
}
@RequestMapping("/user/getPhoneByUserIds") @RequestMapping("/user/getPhoneByUserIds")
@LogHttpCaller @LogHttpCaller
public JsonResult findByIds(@RequestParam(value = "userIds") String userIdsString) { public JsonResult findByIds(@RequestParam(value = "userIds") String userIdsString) {
...@@ -266,7 +307,7 @@ public class InnerController implements IBaseController { ...@@ -266,7 +307,7 @@ public class InnerController implements IBaseController {
public JsonResult findUserByUserId(Long userId) { public JsonResult findUserByUserId(Long userId) {
User user = userService.findById(userId); User user = userService.findById(userId);
if (user != null) { if (user != null) {
return JsonResult.buildSuccessResult(null, new UserRet(user)); return JsonResult.buildSuccessResult(null, new UserRet(user));
} }
return JsonResult.buildErrorStateResult("", null); return JsonResult.buildErrorStateResult("", null);
} }
...@@ -673,4 +714,17 @@ public class InnerController implements IBaseController { ...@@ -673,4 +714,17 @@ public class InnerController implements IBaseController {
} }
return JsonResult.buildSuccessResult(null, new UserRet(user)); return JsonResult.buildSuccessResult(null, new UserRet(user));
} }
//根据日期时间段查询新注册用户信息并返回
@RequestMapping("/contract/queryRegisterUsers")
@LogHttpCaller
public JsonResult findRegisterUserByTime(String beginTime,String endTime) {
if (null == beginTime||endTime==null) {
return JsonResult.buildErrorStateResult(null, null);
}
List<User> userList=userService.findRegisterUserByTime(beginTime,endTime);
return JsonResult.buildSuccessResult(null, userList);
}
} }
\ No newline at end of file
...@@ -68,8 +68,10 @@ public class UserCenterController { ...@@ -68,8 +68,10 @@ public class UserCenterController {
} }
UserDetail userDetail = userDetailService.findByUserId(userId); UserDetail userDetail = userDetailService.findByUserId(userId);
if(userDetail != null) { if(userDetail != null) {
result.put("name", userDetail.getName()); result.put("name", userDetail.getName());
result.put("sex", userDetail.getGender().ordinal() + ""); result.put("sex", userDetail.getGender().ordinal() + "");
result.put("phoneNo", userDetail.getPhoneNo().substring(0,3)+"****"+userDetail.getPhoneNo().substring(7,11));
} }
return JsonResult.buildSuccessResult(null, result); return JsonResult.buildSuccessResult(null, result);
} }
......
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import java.io.Serializable;
import jdk.nashorn.internal.ir.IdentNode;
import lombok.Data;
/**
* Created by xuran on 2017/7/5.
*/
@Data
public class UserInfo implements Serializable {
private static final long serialVersionUID = -1L;
private Long id;
private String name;
private String phoneNo;
private Long registerFrom;
private String uuid;
private String IdNo;
public UserInfo(User user, UserDetail userDetail) {
assert user != null;
this.id = user.getId();
this.phoneNo = user.getPhoneNo();
this.registerFrom = user.getRegisteredFrom();
this.uuid = user.getUuid();
if (userDetail != null) {
this.name = userDetail.getName();
this.IdNo = userDetail.getIdNo();
}
}
}
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User;
import lombok.Data;
/**
* Created by xuran on 2017/6/23.
* 用户统计使用
*/
@Data
public class UserStatistics {
private String uuid;
private Long registerFrom;
private String dimension;
private int action;//登录0,注册1,快捷登录2,免密登录3
private Long channel;
public UserStatistics() {
}
public UserStatistics(User user, String dimension, int action,Long channel) {
this.uuid = user.getUuid();
this.registerFrom = user.getRegisteredFrom();
this.action = action;
this.dimension = dimension;
this.channel=channel;
}
}
...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.repository; ...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.util.List; import java.util.List;
...@@ -18,4 +19,8 @@ public interface IUserRepository extends JpaRepository<User, Long>, JpaSpecifica ...@@ -18,4 +19,8 @@ public interface IUserRepository extends JpaRepository<User, Long>, JpaSpecifica
List<User> findByIdIn(List<Long> ids); List<User> findByIdIn(List<Long> ids);
User findById(Long id); User findById(Long id);
@Query(value ="select * from user where created_at>=?1 and created_at<?2 ", nativeQuery = true)
List<User> findRegisterUserByTime(String beginTime,String endTime);
} }
...@@ -6,6 +6,7 @@ import cn.quantgroup.xyqb.entity.UserDetail; ...@@ -6,6 +6,7 @@ import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserJr58; import cn.quantgroup.xyqb.entity.UserJr58;
import cn.quantgroup.xyqb.model.IdCardInfo; import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.model.jr58.Jr58Authorization; import cn.quantgroup.xyqb.model.jr58.Jr58Authorization;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam; import cn.quantgroup.xyqb.model.jr58.Jr58RegisterParam;
import cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult; import cn.quantgroup.xyqb.model.jr58.Jr58RegisterResult;
...@@ -17,6 +18,7 @@ import cn.quantgroup.xyqb.service.http.IHttpService; ...@@ -17,6 +18,7 @@ import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.jr58.Jr58Service; import cn.quantgroup.xyqb.service.jr58.Jr58Service;
import cn.quantgroup.xyqb.service.user.ILkbUserService; import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.util.GZipUtil; import cn.quantgroup.xyqb.util.GZipUtil;
import cn.quantgroup.xyqb.util.MqUtils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -106,7 +108,9 @@ public class Jr58ServiceImpl implements Jr58Service { ...@@ -106,7 +108,9 @@ public class Jr58ServiceImpl implements Jr58Service {
LOGGER.info("Save UserJr58:{}", user.getId()); LOGGER.info("Save UserJr58:{}", user.getId());
this.saveUserJr58(param, user.getId()); this.saveUserJr58(param, user.getId());
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,null,2,user.getRegisteredFrom());
MqUtils.sendLoanVest(statistics);
LOGGER.info("用户注册成功, registerFrom:{}, phoneNo:{}", Constants.Channel.JR58, param.getPhone()); LOGGER.info("用户注册成功, registerFrom:{}, phoneNo:{}", Constants.Channel.JR58, param.getPhone());
return uuid; return uuid;
} }
......
package cn.quantgroup.xyqb.service.mq;
import cn.quantgroup.xyqb.model.UserStatistics;
/**
* Created by xuran on 2017/6/21.
* 马甲包
*/
public interface IVestService {
void send(UserStatistics message);
}
package cn.quantgroup.xyqb.service.mq.Impl;
import cn.quantgroup.xyqb.Constants;;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.service.mq.IVestService;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
/**
* Created by xuran on 2017/6/21.
* 用户统计信息
*/
@Service("loanVestMQService")
public class LoanVestMQServiceImpl implements IVestService {
private static final Logger LOGGER = LoggerFactory.getLogger(LoanVestMQServiceImpl.class);
@Autowired
@Qualifier(value = "loanVestRabbitTemplate")
RabbitTemplate loanVestRabbitTemplate;
@Autowired
@Qualifier(value = "loanVestQueue")
Queue loanVestQueue;
/**
* 发送用登陆统计信息
* @param message 订单信息
*/
@Async
public void send(UserStatistics message){
if(null==message){
LOGGER.error("用登陆统计消息不能为空");
}
LOGGER.info("用登陆统计发送,message={}",message);
String msg = JSONObject.toJSONString(message);
loanVestRabbitTemplate.convertAndSend("statistics-user", msg);
LOGGER.info("用登陆统计成功,message={}",msg);
}
}
...@@ -32,7 +32,7 @@ public interface IUserService { ...@@ -32,7 +32,7 @@ public interface IUserService {
User findById(Long userId); User findById(Long userId);
boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId); boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId,String dimension);
List<User> findByPhones(List<String> phones); List<User> findByPhones(List<String> phones);
User registerAndReturn(String phoneNo, String password, Long registerFrom, Long btRegisterChannelId); User registerAndReturn(String phoneNo, String password, Long registerFrom, Long btRegisterChannelId);
...@@ -67,4 +67,6 @@ public interface IUserService { ...@@ -67,4 +67,6 @@ public interface IUserService {
String district, String district,
String address, String address,
String contacts); String contacts);
List<User> findRegisterUserByTime(String beginTime,String endTime);
} }
...@@ -6,6 +6,7 @@ import cn.quantgroup.xyqb.entity.*; ...@@ -6,6 +6,7 @@ import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.model.IdCardInfo; import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.repository.IAddressRepository; import cn.quantgroup.xyqb.repository.IAddressRepository;
import cn.quantgroup.xyqb.repository.IContactRepository; import cn.quantgroup.xyqb.repository.IContactRepository;
import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository; import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository;
...@@ -16,6 +17,7 @@ import cn.quantgroup.xyqb.service.user.ILkbUserService; ...@@ -16,6 +17,7 @@ import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService; import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.MqUtils;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
...@@ -150,7 +152,7 @@ public class UserServiceImpl implements IUserService { ...@@ -150,7 +152,7 @@ public class UserServiceImpl implements IUserService {
@Override @Override
public boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId) { public boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId,String dimension) {
String uuid = lkbUserService.registerApp(phoneNo, password); String uuid = lkbUserService.registerApp(phoneNo, password);
Timestamp currentTime = new Timestamp(System.currentTimeMillis()); Timestamp currentTime = new Timestamp(System.currentTimeMillis());
...@@ -170,18 +172,29 @@ public class UserServiceImpl implements IUserService { ...@@ -170,18 +172,29 @@ public class UserServiceImpl implements IUserService {
//user.setRegisteredFrom(registerFrom); //user.setRegisteredFrom(registerFrom);
user = userRepository.save(user); user = userRepository.save(user);
boolean registerSuccess=false;
if(null != user){ if(null != user){
UserBtRegister userBtRegister = new UserBtRegister(); UserBtRegister userBtRegister = new UserBtRegister();
userBtRegister.setUserId(user.getId()); userBtRegister.setUserId(user.getId());
userBtRegister.setRegisterBtMerchantId(btRegisterChannelId); if(null==btRegisterChannelId){
userBtRegister.setRegisterBtMerchantId(0L);
}else{
userBtRegister.setRegisterBtMerchantId(btRegisterChannelId);
}
userBtRegisterService.save(userBtRegister); userBtRegisterService.save(userBtRegister);
log.info("白条注册渠道信息保存完成"); log.info("白条注册渠道信息保存完成");
registerSuccess=true;
} }
if(registerFrom!=158412){////网易KA引入注册时不发送短信提醒 if(registerFrom!=158412){////网易KA引入注册时不发送短信提醒
smsService.sendAfterRegister(phoneNo); smsService.sendAfterRegister(phoneNo);
} }
if(registerSuccess){
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,dimension,2,channelId);
MqUtils.sendLoanVest(statistics);
}
return user != null; return user != null;
} }
...@@ -356,7 +369,12 @@ public class UserServiceImpl implements IUserService { ...@@ -356,7 +369,12 @@ public class UserServiceImpl implements IUserService {
return user; return user;
} }
/** @Override
public List<User> findRegisterUserByTime(String beginTime, String endTime) {
return userRepository.findRegisterUserByTime(beginTime,endTime);
}
/**
* *
* @param userId * @param userId
* @param contacts * @param contacts
......
...@@ -35,7 +35,7 @@ public class JR58GzipUtil { ...@@ -35,7 +35,7 @@ public class JR58GzipUtil {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
try { try {
byteArrayIn.close(); out.close();
in.close(); in.close();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
......
package cn.quantgroup.xyqb.util;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.service.mq.IVestService;
import lombok.extern.slf4j.Slf4j;
/**
* Created by xuran on 2017/6/23.
*/
@Slf4j
public class MqUtils {
/**
* 发送用户统计信息
* @param vest
*/
public static void sendLoanVest(UserStatistics vest){
try {
IVestService mqService = ApplicationContextHolder.getBean("loanVestMQService");
mqService.send(vest);
} catch (Exception e) {
log.error("[MQUtils][MQUtils_exception]发送用户统计信息,vest={},error={}",
vest, e);
}
}
}
...@@ -59,4 +59,14 @@ xyqb.domain = http://api.xyqb.com ...@@ -59,4 +59,14 @@ xyqb.domain = http://api.xyqb.com
xyqb.paycenter.url=http://payapi.xyqb.com/ xyqb.paycenter.url=http://payapi.xyqb.com/
xyqb.paycenter.id=3 xyqb.paycenter.id=3
#内部运营系统 #内部运营系统
xyqb.yunying.url=https://opapi.xyqb.com xyqb.yunying.url=https://opapi.xyqb.com
\ No newline at end of file
#马甲包
loanvest.rabbitmq.connection.virtual-host=/loan_order
loanvest.rabbitmq.queue=loan_user_queue
#loanvest.rabbitmq.stateMsgQueue=loan_vest_msg_queue
loanvest.rabbitmq.exchange=loan_vest_exchange
loanvest.rabbitmq.connection.host=172.16.1.242
loanvest.rabbitmq.connection.port=56720
loanvest.rabbitmq.connection.user=rabbit_admin
loanvest.rabbitmq.connection.password=abc1234
\ No newline at end of file
...@@ -54,4 +54,14 @@ wechat.secret=16eaec16084d0d9c52d4114f359cc72c ...@@ -54,4 +54,14 @@ wechat.secret=16eaec16084d0d9c52d4114f359cc72c
xyqb.user.domain=passport.xyqb.com xyqb.user.domain=passport.xyqb.com
xyqb.user.query.url=http://userqry.xyqb.com xyqb.user.query.url=http://userqry.xyqb.com
xyqb.domain = http://192.168.4.153:7003 xyqb.domain = http://192.168.4.153:7003
\ No newline at end of file
#马甲包
loanvest.rabbitmq.connection.virtual-host=/loan_order
#loanvest.rabbitmq.stateMsgQueue=loan_vest_msg_queue
loanvest.rabbitmq.queue=loan_user_queue
loanvest.rabbitmq.exchange=loan_vest_exchange
loanvest.rabbitmq.connection.host=192.168.4.46
loanvest.rabbitmq.connection.port=5672
loanvest.rabbitmq.connection.user=qa
loanvest.rabbitmq.connection.password=qatest
\ 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