Commit c43268f2 authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 37aaa9f2 eeefe9b7
......@@ -22,6 +22,7 @@ public class RabbitConstant {
public static final String KEY_ORDER_PAY = "order.pay";
public static final String KEY_ORDER_FINLISH = "order.finlish";
public static final String KEY_ORDER_CANCEL = "order.cancel";
static {
exchangeTopicSet = new HashSet<String>() {{
add(ADMIN_TOPIC);
......
......@@ -12,7 +12,7 @@ public class RegisterQueueDTO {
/**
* 执行方法的入参
*/
RegisterParamDTO InParamDTO;
RegisterParamDTO inParamDTO;
/**
* app用户id
......
......@@ -225,6 +225,12 @@
<artifactId>xx-universal-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-order-api</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>ace-admin</finalName>
......
package com.github.wxiaoqi.security.admin.handler;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz;
import com.github.wxiaoqi.security.admin.config.RabbitAdminConfig;
import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.*;
@Component
@Slf4j
public class IntegralMQHandler {
@Autowired
AppUserSellingWaterBiz waterBiz;
@RabbitListener(queues = ORDER_WATER_QUEUE)
public void integralHandler(String json) {
log.info("接收到的消息:json = {}", json);
try{
OrderWaterDTO orderWaterDTO = JSONObject.parseObject(json, OrderWaterDTO.class);
waterBiz.orderWater(orderWaterDTO);
}catch (Exception e){
log.info("接收到的消息失败");
e.printStackTrace();
}
}
@RabbitListener(queues = {ORDER_FINLISH_USER_RE_QUEUE})
public void integralHandler2(String json) {
log.info("接收到的消息:json = {}", json);
try{
OrderWaterDTO orderWaterDTO = JSONObject.parseObject(json, OrderWaterDTO.class);
waterBiz.orderWater(orderWaterDTO);
}catch (Exception e){
log.info("接收到的消息失败");
e.printStackTrace();
}
}
}
package com.github.wxiaoqi.security.admin.handler;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.biz.AppUserSellingWaterBiz;
import com.github.wxiaoqi.security.admin.dto.OrderGoodsDTO;
import com.github.wxiaoqi.security.admin.dto.OrderWaterDTO;
import com.rabbitmq.client.Channel;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.pojo.mq.OrderMQDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.github.wxiaoqi.security.admin.config.RabbitAdminConfig.*;
@Component
@Slf4j
public class WaterMQHandler {
@Autowired
AppUserSellingWaterBiz waterBiz;
/**
* 佣金
* @param
*/
@RabbitListener(queues = ORDER_WATER_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() {
@Override
public void run() {
try {
String messageId = message.getMessageProperties().getMessageId();
String msg = new String(message.getBody(), "UTF-8");
OrderMQDTO orderMQDTO = JSONObject.parseObject(msg, OrderMQDTO.class);
OrderWaterDTO orderWaterDTO = new OrderWaterDTO(){{
setUserId(orderMQDTO.getUserId());
setOrderNo(orderMQDTO.getNo());
setOrderId(orderMQDTO.getId());
}};
switch (OrderTypeEnum.get(orderMQDTO.getType())) {
case RENT_VEHICLE:
orderWaterDTO.setGoodsDTOList(
new ArrayList<OrderGoodsDTO>(){{
add(new OrderGoodsDTO(){{
setGoodId(orderMQDTO.getOrderRentVehicleDetail().getModelId());
setGoodNumber(1);
setImg(orderMQDTO.getPicture());
}});
}}
);
}
orderWaterDTO = JSONObject.parseObject(msg, OrderWaterDTO.class);
waterBiz.orderWater(orderWaterDTO);
executorService.shutdown();
Long deliveryTag = (Long) headers.get(AmqpHeaders.DELIVERY_TAG);
// 手动签收
channel.basicAck(deliveryTag, false);
} catch (Exception e) {
log.info("接收到的消息失败");
try {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
} catch (IOException i) {
i.printStackTrace();
}
e.printStackTrace();
}
}
});
// log.info("接收到的消息:json = {}", json);
// try{
//
// OrderWaterDTO orderWaterDTO = JSONObject.parseObject(json, OrderWaterDTO.class);
// waterBiz.orderWater(orderWaterDTO);
// }catch (Exception e){
// log.info("接收到的消息失败");
// e.printStackTrace();
// }
}
@RabbitListener(queues = {ORDER_FINLISH_USER_RE_QUEUE})
public void integralHandler2(String json) {
log.info("接收到的消息:json = {}", json);
try{
OrderWaterDTO orderWaterDTO = JSONObject.parseObject(json, OrderWaterDTO.class);
waterBiz.orderWater(orderWaterDTO);
}catch (Exception e){
log.info("接收到的消息失败");
e.printStackTrace();
}
}
}
......@@ -216,7 +216,6 @@ public class AppPermissionService {
public JSONObject register(String username, String password, String headimgurl,
String nickname, String mobilecode, String openId, String unionid, Integer type,String code) {
String activityCode = null;
// 判断参数和验证码
if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(mobilecode)) {
return JsonResultUtil.createFailedResult(ResultCode.NULL_CODE, "参数为空");
......@@ -275,10 +274,12 @@ public class AppPermissionService {
//判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
parentId=appUserDetailBiz.getUserByCode(codes[0]);
code = codes[0];
activityCode = codes[1];
}
parentId=appUserDetailBiz.getUserByCode(code);
}
if(parentId!=null&&parentId>0){
if(parentId!=null&&parentId>0&&StringUtils.isNotBlank(activityCode)){
rsUserDetail.setInviterAccount(parentId);
}
//生成邀请码 长度改为8 不然重复率太高
......@@ -296,7 +297,7 @@ public class AppPermissionService {
//创建钱包
walletBiz.createWalletByUserId(appUserLogin.getId());
// 登录结果要做做统一处理
JSONObject data = autoLogin(userid, username, headimgurl, nickname,code);
JSONObject data = autoLogin(userid, username, headimgurl, nickname,code,activityCode,1);
// 到im注册,获取返回结果
Map<String, Object> map = registerIm(username, appUserLogin.getPassword(), nickname);
if (map != null) {
......@@ -354,9 +355,9 @@ public class AppPermissionService {
}
/**
* 自动登录
* 自动登录type;1-app;2-小程序
*/
public JSONObject autoLogin(Integer userid, String username, String headimgurl, String nickname,String code) {
public JSONObject autoLogin(Integer userid, String username, String headimgurl, String nickname,String code,String activityCode,Integer type) {
JSONObject data = new JSONObject();
AppUserVo userVo = appUserDetailBiz.getUserInfoById(userid);
if (userVo != null) {
......@@ -383,25 +384,16 @@ public class AppPermissionService {
//更新登录时间 和 ip
String clientIp = getIp();
appUserLoginBiz.updateLoginInfo(userid, clientIp);
try {
String code1=null;
String activityCode=null;
if (StringUtils.isNotBlank(code)){
//判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
code1 = codes[0];
activityCode = codes[1];
if(type!=null&&type==1){
try {
Integer parentId=0;
if (StringUtils.isNotBlank(code)) {
parentId = appUserDetailBiz.getUserByCode(code);
}
}
Integer parentId=0;
if (StringUtils.isNotBlank(code1)) {
parentId = appUserDetailBiz.getUserByCode(code1);
//绑定上下线关系
if (parentId != null && parentId > 0) {
relationBiz.bindRelation(userid, parentId, 1);
}
}
//活动消息
Integer state=userVo.getState();
if(state!=null&&state==1){
......@@ -410,10 +402,11 @@ public class AppPermissionService {
}
userVo.setState(2);
appUserDetailBiz.updUuserInfoById(userVo);
sendQueue(username,null, headimgurl, nickname, null, null, null, null, code1, activityCode, userid,RegisterQueueDTO.SIGN_ACTIVATE);
sendQueue(username,null, headimgurl, nickname, null, null, null, null, code, activityCode, userid,RegisterQueueDTO.SIGN_ACTIVATE);
}
}catch (Exception e){
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}
}
}
......@@ -508,8 +501,17 @@ public class AppPermissionService {
userDetail.setNickname(nickname);
appUserDetailBiz.updateSelectiveById(userDetail);
}*/
String activityCode=null;
if (StringUtils.isNotBlank(code)){
//判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
code = codes[0];
activityCode = codes[1];
}
}
// 登录结果要做做统一处理
JSONObject data = autoLogin(userid, username, headimgurl, nickname,code);
JSONObject data = autoLogin(userid, username, headimgurl, nickname,code,activityCode,1);
// 到im登录,获取返回结果
/*Integer imUserId=userLogin.getImUserid();
String imPassword=userLogin.getImPassword();
......@@ -596,7 +598,16 @@ public class AppPermissionService {
headimgurl = userVo.getHeadimgurl();
nickname = userVo.getNickname();
}
JSONObject data = autoLogin(userid, userLogin.getUsername(), headimgurl, nickname,code);
String activityCode=null;
if (StringUtils.isNotBlank(code)){
//判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
code = codes[0];
activityCode = codes[1];
}
}
JSONObject data = autoLogin(userid, userLogin.getUsername(), headimgurl, nickname,code,activityCode,1);
/* // 到im注册,获取返回结果
Integer imUserId=userLogin.getImUserid();
String imPassword=userLogin.getImPassword();
......@@ -638,7 +649,16 @@ public class AppPermissionService {
}
Integer userid = user.getId();
String nickname = SystemConfig.USER_NIKENAME_DEFAULT + (int) ((Math.random() * 9 + 1) * 100000);
JSONObject data = autoLogin(userid, user.getUsername(), SystemConfig.USER_HEADER_URL_DEFAULT, nickname,code);
String activityCode=null;
if (StringUtils.isNotBlank(code)){
//判断处理活动关键字
String[] codes = code.split("_");
if(codes.length > 1) {
code = codes[0];
activityCode = codes[1];
}
}
JSONObject data = autoLogin(userid, user.getUsername(), SystemConfig.USER_HEADER_URL_DEFAULT, nickname,code,activityCode,1);
/*// 到im注册,获取返回结果
Integer imUserId=user.getImUserid();
String imPassword=user.getImPassword();
......@@ -679,7 +699,7 @@ public class AppPermissionService {
appUserLoginBiz.updatePasswordById(user);
Integer userid = user.getId();
String nickname = SystemConfig.USER_NIKENAME_DEFAULT + (int) ((Math.random() * 9 + 1) * 100000);
JSONObject data = autoLogin(userid, user.getUsername(), SystemConfig.USER_HEADER_URL_DEFAULT, nickname,null);
JSONObject data = autoLogin(userid, user.getUsername(), SystemConfig.USER_HEADER_URL_DEFAULT, nickname,null,null,null);
/* // 到im登录,获取返回结果
Integer imUserId=user.getImUserid();
String imPassword=user.getImPassword();
......@@ -833,7 +853,7 @@ public class AppPermissionService {
* @return
*/
public JSONObject appletLoginByUserId(Integer uid) {
JSONObject data = autoLogin(uid, null, null, null,null);
JSONObject data = autoLogin(uid, null, null, null,null,null,2);
if (data.getDate("userId") != null) {
return JsonResultUtil.createSuccessResultWithObj(data);
}
......@@ -901,7 +921,7 @@ public class AppPermissionService {
/* //参加新人活动
jionActivity(userid);*/
// 登录结果要做做统一处理
JSONObject data = autoLogin(userid, username, headimgurl, nickname,null);
JSONObject data = autoLogin(userid, username, headimgurl, nickname,null,null,2);
// 到im注册,获取返回结果
Map<String, Object> map = registerIm(username, appUserLogin.getPassword(), nickname);
if (map != null) {
......
......@@ -50,7 +50,7 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
//获取活动code,并且注册来源是app 并且 是邀请注册
if(POPULARIZE_0101.equals(registerQueueDTO.getInParamDTO().getActivityCode())
&& RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign())) {
&& !RegisterQueueDTO.SIGN_LOGIN.equals(registerQueueDTO.getSign())) {
ActivityPopularize activityPopularize = popularizeBiz.selectOne(new ActivityPopularize(){{
setCode(activityCode);
......
package com.xxfc.platform.activity.handler;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO;
import com.rabbitmq.client.Channel;
......@@ -47,7 +48,7 @@ public class PopularizeMQHandler {
log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId);
if (StringUtils.isNotBlank(msg)) {
RegisterQueueDTO registerQueueDTO = JSONObject.parseObject(msg, RegisterQueueDTO.class);
RegisterQueueDTO registerQueueDTO = JSONUtil.toBean(msg, RegisterQueueDTO.class);
activityPopularizeBiz.handleRegister(registerQueueDTO);
}
......@@ -80,7 +81,7 @@ public class PopularizeMQHandler {
log.info("接收到的消息:msg = {}, 消息ID是:messageId = {} ", msg, messageId);
if (StringUtils.isNotBlank(msg)) {
RegisterQueueDTO registerQueueDTO = JSONObject.parseObject(msg, RegisterQueueDTO.class);
RegisterQueueDTO registerQueueDTO = JSONUtil.toBean(msg, RegisterQueueDTO.class);
if(registerQueueDTO!=null&&(registerQueueDTO.getSign()==RegisterQueueDTO.SIGN_NEW||registerQueueDTO.getSign()==RegisterQueueDTO.SIGN_ACTIVATE)){
activityUserJoinBiz.joinActivity(registerQueueDTO.getAppUserId());
}
......
......@@ -206,4 +206,13 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
return finishUserVO;
}).collect(Collectors.toList()));
}
// public static void main(String[] args) {
// Map<String, String> map = new HashMap<String, String>(){{
//// put("1", null);
//// put("2", null);
// }};
// List<String> list = map.entrySet().stream().map(k -> k.getKey()).collect(Collectors.toList());
// System.out.println(list);
// }
}
\ No newline at end of file
package com.xxfc.platform.app.vo;
import lombok.Data;
@Data
public class appVersionQuery {
private Integer page;
private Integer limit;
/**
* 版本名称
*/
private String versionName;
/**
* 版本号
*/
private String version;
/**
* 更新内容
*/
private String content;
}
package com.xxfc.platform.app.biz;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.app.vo.appVersionQuery;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.RedisKey;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.RowBounds;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
......@@ -124,13 +128,10 @@ public class AppVersionBiz extends BaseBiz<AppVersionMapper,AppVersion> {
appVersion.setDownloadSwitch(0);
insertSelective(appVersion);
}
public AppVersion get(Integer id) {
if (id==null) {
throw new IllegalArgumentException("Parameter is null");
}
return selectById(id);
}
......@@ -138,7 +139,7 @@ public class AppVersionBiz extends BaseBiz<AppVersionMapper,AppVersion> {
* 修改一条信息
* @param appVersion
*/
@Transactional
@Transactional(rollbackFor = Exception.class)
public void updateAppVersionById(AppVersion appVersion) {
updateSelectiveById(appVersion);
}
......@@ -155,4 +156,11 @@ public class AppVersionBiz extends BaseBiz<AppVersionMapper,AppVersion> {
.build();
mapper.updateByExampleSelective(appVersion,example);
}
public PageInfo<AppVersion> getAll(appVersionQuery query) {
PageHelper.startPage(query.getPage(),query.getLimit());
List<AppVersion> appVersionList = mapper.getAllByquery(query);
return PageInfo.of(appVersionList);
}
}
\ No newline at end of file
package com.xxfc.platform.app.mapper;
import com.xxfc.platform.app.entity.AppVersion;
import com.xxfc.platform.app.vo.appVersionQuery;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
/**
*
*
......@@ -11,5 +15,6 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-06-24 10:34:00
*/
public interface AppVersionMapper extends Mapper<AppVersion> {
List<AppVersion> getAllByquery(appVersionQuery query);
}
package com.xxfc.platform.app.rest;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.app.biz.AppVersionBiz;
import com.xxfc.platform.app.entity.AppVersion;
import com.xxfc.platform.app.entity.Cofig;
import com.xxfc.platform.app.vo.appVersionQuery;
import com.xxfc.platform.vehicle.common.RestResponse;
import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import io.swagger.annotations.ApiModelProperty;
......@@ -51,7 +54,7 @@ public class AppVersionController extends BaseController<AppVersionBiz,AppVersio
@Override
@ApiOperation("添加")
@RequestMapping(value = "/add",method = RequestMethod.POST)
@RequestMapping(value = "/background/add",method = RequestMethod.POST)
public ObjectRestResponse<AppVersion> add(@RequestBody AppVersion appVersion){
baseBiz.insertAppVersion(appVersion);
return new ObjectRestResponse<AppVersion>();
......@@ -59,21 +62,27 @@ public class AppVersionController extends BaseController<AppVersionBiz,AppVersio
@ApiOperation("查询")
@RequestMapping(value = "/getAppVersion/{id}",method = RequestMethod.GET)
@RequestMapping(value = "/background/getAppVersion/{id}",method = RequestMethod.GET)
public ObjectRestResponse<AppVersion> getAppVersion(@PathVariable Integer id){
return ObjectRestResponse.succ(baseBiz.get(id));
}
@ApiOperation("查询所有")
@RequestMapping(value = "/background/getAppVersions",method = RequestMethod.POST)
public ObjectRestResponse<PageInfo<AppVersion>> getAppVersions(@RequestBody appVersionQuery query){
return ObjectRestResponse.succ(baseBiz.getAll(query));
}
@Override
@ApiOperation("修改")
@RequestMapping(value = "/update/{id}",method = RequestMethod.PUT)
@RequestMapping(value = "/background/update/{id}",method = RequestMethod.PUT)
public ObjectRestResponse<AppVersion> update(@RequestBody AppVersion appVersion){
baseBiz.updateAppVersionById(appVersion);
return new ObjectRestResponse<AppVersion>();
}
@ApiOperation("删除")
@DeleteMapping(value = "/remove/{id}")
@DeleteMapping(value = "/background/remove/{id}")
public ObjectRestResponse<AppVersion> remove(@PathVariable Integer id){
baseBiz.remove(id);
return new ObjectRestResponse<AppVersion>();
......
<?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.xxfc.platform.app.mapper.AppVersionMapper">
<select id="getAllByquery" parameterType="com.xxfc.platform.app.vo.appVersionQuery"
resultType="com.xxfc.platform.app.entity.AppVersion">
select * from app_version
where 1=1
<if test="versionName !=null and versionName != ''">
and version_name like concat('%',#{versionName},'%')
</if>
<if test="version !=null and version != ''">
and version like concat('%',#{version},'%')
</if>
<if test="content != null and content != ''">
and content like concat('%',#{content},'%')
</if>
</select>
</mapper>
\ No newline at end of file
package com.xxfc.platform.order.pojo.mq;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderMemberDetail;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail;
import lombok.Data;
@Data
public class OrderMQDTO {
public class OrderMQDTO extends BaseOrder {
public static final Integer ORDER_CRT = 1;
public static final Integer ORDER_CANCEL = 2;
public static final Integer ORDER_PAY = 4;
public static final Integer ORDER_FINISH = 6;
Integer orderId;
OrderRentVehicleDetail orderRentVehicleDetail;
OrderTourDetail orderTourDetail;
OrderMemberDetail orderMemberDetail;
/**
* 标记是什么操作
* 0--删除"
......
package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
......@@ -193,6 +194,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
*/
@Transactional
public void cancel(BaseOrder baseOrder) {
OrderRentVehicleDetail orvd = new OrderRentVehicleDetail();
OrderTourDetail otd = new OrderTourDetail();
OrderMemberDetail omd = new OrderMemberDetail();
if(cancelAble.get(baseOrder.getType()).contains(baseOrder.getStatus())) {
BaseOrder updateOrder = new BaseOrder(){{
setId(baseOrder.getId());
......@@ -207,7 +211,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
if(SYS_TRUE.equals(baseOrder.getHasPay())) {
//判断订单类型
if(OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) {
OrderRentVehicleDetail orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail(){{
orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail(){{
setOrderId(baseOrder.getId());
}});
......@@ -234,7 +238,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}
}else if (OrderTypeEnum.TOUR.getCode().equals(baseOrder.getType())) {
OrderTourDetail otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
setOrderId(baseOrder.getId());
}});
Long timeLag = otd.getStartTime() - System.currentTimeMillis();
......@@ -251,7 +255,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
//处理取消流程
if(OrderTypeEnum.RENT_VEHICLE.getCode().equals(baseOrder.getType())) {
OrderRentVehicleDetail orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail(){{
orvd = orderRentVehicleBiz.selectOne(new OrderRentVehicleDetail(){{
setOrderId(baseOrder.getId());
}});
......@@ -272,7 +276,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}
}
}else if(OrderTypeEnum.TOUR.getCode().equals(baseOrder.getType())) {
OrderTourDetail otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
setOrderId(baseOrder.getId());
}});
......@@ -280,8 +284,13 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
tourFeign.stock(otd.getSpePriceId(), otd.getTotalNumber(), TourFeign.STOCK_PLUS);
}
OrderMQDTO orderMQDTO = new OrderMQDTO();
orderMQDTO.setOrderMemberDetail(omd);
orderMQDTO.setOrderRentVehicleDetail(orvd);
orderMQDTO.setOrderTourDetail(otd);
//发送队列消息
sendQueue(baseOrder.getId(), OrderMQDTO.ORDER_PAY);
sendQueue(orderMQDTO, OrderMQDTO.ORDER_CANCEL);
}else {
throw new BaseException(ResultCode.FAILED_CODE);
}
......@@ -422,6 +431,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
@Transactional
public void payNotifyHandle(String orderNo, String tradeNo, Integer type) {
OrderRentVehicleDetail orvd = new OrderRentVehicleDetail();
OrderTourDetail otd = new OrderTourDetail();
OrderMemberDetail omd = new OrderMemberDetail();
BaseOrder baseOrder = this.selectOne(new BaseOrder() {{
setNo(orderNo);
......@@ -471,7 +481,7 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
}else if(OrderTypeEnum.TOUR.getCode().equals(baseOrder.getType())) {
updateOrder.setStatus(OrderStatusEnum.ORDER_TOSTART.getCode());
OrderTourDetail otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
otd = orderTourDetailBiz.selectOne(new OrderTourDetail(){{
setOrderId(baseOrder.getId());
}});
......@@ -490,7 +500,11 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
orderMsgBiz.handelBgUserMsg4Pay(orvd, baseOrder, appUserDTO, OrderMsgBiz.RENT_PAY);
//发送队列消息
sendQueue(orvd.getOrderId(), OrderMQDTO.ORDER_PAY);
OrderMQDTO orderMQDTO = BeanUtil.toBean(baseOrder, OrderMQDTO.class);
orderMQDTO.setOrderRentVehicleDetail(orvd);
orderMQDTO.setOrderTourDetail(otd);
orderMQDTO.setOrderMemberDetail(omd);
sendQueue(orderMQDTO, OrderMQDTO.ORDER_PAY);
}
} else {
log.error(" order has payed , orderNo:{}, tradeNo:{} ", orderNo, tradeNo);
......@@ -524,12 +538,9 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper,BaseOrder> {
return zero;
}
private void sendQueue(Integer orderId, Integer sign) {
private void sendQueue(OrderMQDTO orderMQDTO, Integer sign) {
try {
OrderMQDTO orderMQDTO = new OrderMQDTO(){{
setOrderId(orderId);
setSign(sign);
}};
orderMQDTO.setSign(sign);
switch (sign) {
case 2:
mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_CANCEL, JSONUtil.toJsonStr(orderMQDTO));
......
......@@ -2,14 +2,19 @@ package com.xxfc.platform.universal.controller;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.biz.MQServiceBiZ;
import com.xxfc.platform.universal.entity.IdInformation;
import com.xxfc.platform.universal.service.CertificationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.core.task.TaskExecutor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -35,6 +40,14 @@ public class CertificationController {
@Autowired
private UserFeign userFeign;
@Qualifier("applicationTaskExecutor")
@Autowired
private TaskExecutor executor;
@Autowired
MQServiceBiZ mqServiceBiZ;
......@@ -84,7 +97,16 @@ public class CertificationController {
log.info("----type========="+type);
try {
if (type!=null&&type==0){
return certificationService.certificate(idInformation);
ObjectRestResponse<Integer> result = certificationService.certificate(idInformation);
if (result.getRel()) {
executor.execute(new Runnable() {
@Override
public void run() {
setIntegral(appUserDTO.getUserid(),result.getData());
}
});
}
return result ;
}
} catch (Exception e) {
e.printStackTrace();
......@@ -94,5 +116,12 @@ public class CertificationController {
}
private void setIntegral(Integer userid, Integer iId){
JSONObject jsonObject = new JSONObject();
jsonObject.put("userId", userid);
jsonObject.put("integralRuleCode", "CRETIFICATION");
jsonObject.put("channelId", iId);
mqServiceBiZ.sendMessage(RabbitConstant.INTEGRAL_TOPIC, RabbitConstant.INTEGRAL_ROUTING_KEY, jsonObject.toJSONString());
}
}
......@@ -4,24 +4,26 @@ package com.xxfc.platform.universal.service;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.universal.biz.IdInformationBiz;
import com.xxfc.platform.universal.entity.IdInformation;
import com.xxfc.platform.universal.mapper.IdInformationMapper;
import com.xxfc.platform.universal.utils.CertifHttpUtils;
import com.xxfc.platform.universal.utils.Validation;
import javafx.application.Application;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.util.EntityUtils;
import org.apache.poi.ss.usermodel.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
......@@ -132,88 +134,13 @@ public class CertificationService {
@Autowired
private UserFeign userFeign;
// //身份证号+姓名认证
//
// public ObjectRestResponse stringCertificate(IdInformation idInformation) {
// HashedMap hashMap = new HashedMap();
// // 认证状态:true是认证过
//
//
// Integer certificateType = idInformation.getCertificateType();
// if (certificateType == 0) {
//
// if (!Validation.isIdCard(idInformation.getIdNumber())) {
// return ObjectRestResponse.createFailedResult(ResultCode.WRONG_FORMAT_OF_ID_CARD, "身份证格式错误");
// }
// }
//
//
// if (idInformation == null) {
//
//
// return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "未填写");
//
//
// }
//
// if (idInformation.getExpirationDate() == null) {
//
// return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "请填写证件到期时间");
// }
//
//
// //判断是否有填写身份证号
// if (StringUtils.isBlank(idInformation.getIdNumber())) {
// return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "请填写身份证号");
//
//
// }
//
// //判断是有否填写名字
// if (StringUtils.isBlank(idInformation.getName())) {
//
// return ObjectRestResponse.createFailedResult(ResultCode.INCOMPLETE_DATA, "请填写姓名");
//
// }
//
// //获取查询参数
// Map<String, String> querys = new HashMap<String, String>();
// querys.put(idCardName, idInformation.getIdNumber());
//
// querys.put(cName, idInformation.getName());
//
// //认证
// String result = certificate(querys);
// System.out.println(result);
//
// //判断返回的值是否为空
// if (!StringUtils.isBlank(result)) {
//
// Map<String, String> resultMap = (Map<String, String>) JSONObject.parse(result);
//
// if (resultMap != null) {
// //认证成功
// if (certifResultCode.equals(resultMap.get(certifRet))) {
// Boolean aBoolean = addIdInformation(idInformation);
// if (aBoolean) {
//
// return ObjectRestResponse.succ();
// }
//
//
// }
// }
// }
// return ObjectRestResponse.createDefaultFail();
//
//
// }
@Autowired
private ApplicationContext applicationContext;
// 身份证图片进行实名认证
public ObjectRestResponse certificate(IdInformation idInformation) {
public ObjectRestResponse<Integer> certificate(IdInformation idInformation) {
//1.判断
//携带返回参数的map
HashedMap hashMap = new HashedMap();
......@@ -367,11 +294,11 @@ public class CertificationService {
}
}
idInformation.setExpirationDate(expirationDate);
Boolean aBoolean = addIdInformation(idInformation);
log.info("----请求admin=========" + aBoolean);
if (aBoolean) {
return ObjectRestResponse.succ();
CertificationService cs = applicationContext.getBean(this.getClass());
ObjectRestResponse objRR =cs.addIdInformation(idInformation);
log.info("----请求admin=========" + objRR);
if (objRR.getRel()) {
return ObjectRestResponse.succ(objRR.getData());
}
}
......@@ -468,25 +395,29 @@ public class CertificationService {
//认证通过保存到数据库当中
public Boolean addIdInformation(IdInformation idInformation) {
@Transactional(rollbackFor = Exception.class)
public ObjectRestResponse<Integer> addIdInformation(IdInformation idInformation) {
log.info("----idInformation=========" + idInformation);
//保存认证信息
try {
idInformationMapper.addIdInformation(idInformation);
idInformationMapper.insertSelective(idInformation);
//认证成功后修改用户,用户认证状态
ObjectRestResponse authentication = userFeign.authentication(idInformation.getUserLonginId(), idInformation.getName(), idInformation.getIdNumber(), 1);
return ObjectRestResponse.succ(idInformation.getId());
} catch (Exception e) {
e.printStackTrace();
return false;
TransactionAspectSupport.currentTransactionStatus();
return ObjectRestResponse.createDefaultFail();
}
//认证成功后修改用户,用户认证状态
ObjectRestResponse authentication = userFeign.authentication(idInformation.getUserLonginId(), idInformation.getName(), idInformation.getIdNumber(), 1);
return authentication.getRel();
}
}
......
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