Commit e2986373 authored by hanfeng's avatar hanfeng

Merge remote-tracking branch 'origin/dev' into dev

parents 940efed5 41a59735
......@@ -84,6 +84,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
.memberLevel(userMemberSaveDTO.getMemberLevel())
.totalNumber(userMemberSaveDTO.getTotalNumber())
.rentFreeDays(userMemberSaveDTO.getRentFreeDays())
.memberName(userMemberSaveDTO.getMemberName())
.discount(level == null ? 0 : level.getDiscount() == null ? 0 : level.getDiscount())
.status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(userMemberSaveDTO.getPhone()) == null ? 0 : 1))
.crtId(userId)
......
......@@ -42,4 +42,9 @@ public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail
@ApiModelProperty(value = "随车物品", hidden = true)
private List<OrderAccompanyDTO> accompanyItems;
/**
* 创建用户 -1+后台用户id 后台系统
*/
String crtUser;
}
......@@ -8,7 +8,7 @@ public class AddOrderCommonDTO {
/**
*
*/
@ApiModelProperty(value = "下单来源,1--app;2--小程序")
@ApiModelProperty(value = "下单来源,1--app;2--小程序;3--后台")
private Integer orderOrigin;
......
......@@ -632,7 +632,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
public Query initQuery(String no) {
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
//qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setUserId(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setNo(no);
qodd.setLimit(1);
qodd.setPage(1);
......
......@@ -13,6 +13,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.user.UserInfoBiz;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.biz.inner.OrderMsgBiz;
import com.xxfc.platform.order.contant.enumerate.CrosstownTypeEnum;
import com.xxfc.platform.order.contant.enumerate.DepositRefundStatus;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
......@@ -73,6 +74,8 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
BaseOrderBiz baseOrderBiz;
@Autowired
OrderItemBiz orderItemBiz;
@Autowired
OrderMsgBiz orderMsgBiz;
public OrderVehicleCrosstown get(Integer id) {
return selectById(id);
......@@ -287,12 +290,13 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
BeanUtil.copyProperties(orderVehicleCrosstownDto, oldValue.get(0), CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
getOrderLicense(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0));
handleOrderStatus(baseOrder, orderRentVehicleDetail, oldValue.get(0), appUserDTO);
updateSelectiveByIdRe(oldValue.get(0));
RestResponse<Vehicle> response = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if (response.getData() != null) {
orderVehicleCrosstownDto.setVehicleNumberPlat(response.getData().getNumberPlate());
}
return ObjectRestResponse.succ(oldValue.get(0));
} else if (oldValue.size() <= 0) {
orderVehicleCrosstownDto.setDeductionCost(amount);
......@@ -304,7 +308,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
getOrderLicense(orderVehicleCrosstownDto);
orderVehicleCrosstownBiz.insertSelective(orderVehicleCrosstownDto);
OrderVehicleCrosstown orderVehicleCrosstown = orderVehicleCrosstownBiz.selectOne(orderVehicleCrosstownDto);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstown);
handleOrderStatus(baseOrder, orderRentVehicleDetail, orderVehicleCrosstown, appUserDTO);
orderVehicleCrosstownBiz.updateSelectiveByIdRe(orderVehicleCrosstown);
RestResponse<Vehicle> response = vehicleFeign.findById(orderRentVehicleDetail.getVehicleId());
if (response.getData() != null) {
......@@ -312,15 +316,16 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
return ObjectRestResponse.succ(orderVehicleCrosstownDto);
}
return ObjectRestResponse.createDefaultFail();
}
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown) {
private void handleOrderStatus(BaseOrder baseOrder, OrderRentVehicleDetail orderRentVehicleDetail, OrderVehicleCrosstown orderVehicleCrosstown, AppUserDTO appUserDTO) {
//交车完成 设置订单状态为出行中
BigDecimal totalAmount = orderRentVehicleDetail.getDeposit();
if (baseOrder.getStatus() == OrderStatusEnum.ORDER_TOSTART.getCode()) {//交车
baseOrder.setStatus(OrderStatusEnum.ORDER_WAIT.getCode());
baseOrder = baseOrderBiz.updateSelectiveByIdReT(baseOrder);
orderMsgBiz.handelMsgWait(orderRentVehicleDetail, null, null, baseOrder, appUserDTO);
} else if (baseOrder.getStatus() == OrderStatusEnum.ORDER_WAIT.getCode()) { //还车
if (orderVehicleCrosstown.getType() == CrosstownTypeEnum.ARRIVE.getCode()) {//不定损直接还车
//添加非定损记录
......
......@@ -235,8 +235,8 @@ public class OrderMsgBiz {
sms2BgUser(startCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_D, smsParams);
//后台发送消息(收车人)
smsParams.clear();
sms2BgUser(endCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_E, smsParams);
// smsParams.clear();
// sms2BgUser(endCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_E, smsParams);
}else {
log.error("通知短信异常,开始公司id 不存在或者为0 订单号:{}", baseOrder.getId());
......@@ -338,7 +338,7 @@ public class OrderMsgBiz {
}
/**
* 取消订单处理提醒短信的发送
* 订单出发提前提醒短信的发送
* @param orvd
* @param baseOrder
* @param appUserDTO
......@@ -371,6 +371,39 @@ public class OrderMsgBiz {
}
}
/**
* 订单出发后提醒短信的发送
* @param orvd
* @param baseOrder
* @param appUserDTO
*/
public void handelMsgWait(OrderRentVehicleDetail orvd, OrderTourDetail otd, OrderMemberDetail omd, BaseOrder baseOrder, AppUserDTO appUserDTO) {
try {
OrderTypeEnum orderTypeEnum = OrderTypeEnum.codeAndDesc.get(baseOrder.getType());
List<String> smsParams = new ArrayList<String>();
switch (orderTypeEnum) {
case RENT_VEHICLE:
CompanyDetail startCompanyDetail = vehicleFeign.getCompanyDetail(orvd.getStartCompanyId()).getData();
CompanyDetail endCompanyDetail = vehicleFeign.getCompanyDetail(orvd.getEndCompanyId()).getData();
if(null != orvd.getEndCompanyId() && !SYS_FALSE.equals(orvd.getEndCompanyId())) {
//后台发送消息(收车人)
sms2BgUser(endCompanyDetail.getVehiceServicePhone(), startCompanyDetail, endCompanyDetail, orvd, otd, baseOrder, appUserDTO, SmsTemplateDTO.PAY_E, smsParams);
}else {
log.error("通知后台客户短信异常,结束公司id 不存在或者为0 订单号:{}", baseOrder.getId());
}
break;
case TOUR:
break;
case MEMBER:
break;
default:
break;
}
}catch (Exception e) {
log.error(e.getMessage(), e);
}
}
/**
* 订单完成后处理押金提醒短信的发送
* @param baseOrder
......@@ -616,8 +649,8 @@ public class OrderMsgBiz {
case SmsTemplateDTO.PAY_E :
smsParams.add(appUserDTO.getRealname());
smsParams.add(appUserDTO.getUsername());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getStartTime())));
smsParams.add(sCompany.getName());
smsParams.add(DateUtil.formatDateTime(DateUtil.date(orvd.getEndTime())));
smsParams.add(eCompany.getName());
smsParams.add(baseOrder.getName());
break;
case SmsTemplateDTO.CANCEL_E :
......
......@@ -33,7 +33,7 @@ import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
/**
* 跨平台Http任务
* 订单出车短信提前提醒
*
* @author xuxueli 2018-09-16 03:48:34
*/
......
......@@ -149,7 +149,8 @@ public class BaseOrderController extends CommonBaseController implements UserRes
if (StringUtils.isBlank(BaseContextHandler.getUserID())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
dto.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
//dto.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
dto.setUserId(Integer.valueOf(BaseContextHandler.getUserID()));
Query query = new Query(dto);
PageDataVO<OrderPageVO> pages = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
pages.getData().parallelStream().forEach(data -> data.setQrcodeStr(qrcodePrefix));
......
......@@ -3,6 +3,7 @@ package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderMemberDetailBiz;
......@@ -45,6 +46,7 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
// bo.setMemberLevelId(bo.getBaseUserMemberLevel().getId());
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
//查询优惠券
orderMemberService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
......
......@@ -73,6 +73,7 @@ public class OrderRentVehicleController extends CommonBaseController {
RentVehicleBO bo = initRentVehicleBO(dto);
bo.setAppUserDTO(userFeign.userDetailById(dto.getAppUserId()).getData());
bo.setCrtUser("-1"+ BaseContextHandler.getUserID());
orderRentVehicleService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
}
......
......@@ -7,6 +7,7 @@ import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderTourDetailBiz;
......@@ -58,6 +59,7 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order
@ApiOperation(value = "确认旅游订单")
public ObjectRestResponse<BaseOrder> add(@RequestBody AddTourDTO vo){
TourBO bo = BeanUtil.toBean(vo, TourBO.class);
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
bo.setTickerNo(StrUtil.isNotBlank(vo.getTickerNos())? Arrays.asList(vo.getTickerNos().split(",")):null);
orderTourService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
......
......@@ -2,6 +2,7 @@ package com.xxfc.platform.order.service;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
......@@ -64,7 +65,7 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
* 创建基础订单
* @return
*/
public BaseOrder createBaseOrder(Integer orderOrigin, Integer appUserId) {
public BaseOrder createBaseOrder(Integer orderOrigin, AppUserDTO appUserDTO) {
BaseOrder baseOrder = new BaseOrder();
//设置下单来源
......@@ -85,14 +86,14 @@ public abstract class AbstractOrderHandle<Biz extends BaseBiz, Detail extends Or
baseOrder.setVersion(VERSION_INITIAL);
//设置用户id
baseOrder.setUserId(appUserId);
baseOrder.setMemberLevel(getAppUser().getMemberLevel());
baseOrder.setUserId(appUserDTO.getUserid());
baseOrder.setMemberLevel(appUserDTO.getMemberLevel());
return baseOrder;
}
public void initDetail(Detail detail) {
Integer appUserId = (null == detail.getAppUserDTO())? Integer.valueOf(BaseContextHandler.getUserID()): detail.getAppUserDTO().getUserid();
BaseOrder order = createBaseOrder(detail.getOrderOrigin(), appUserId);
// Integer appUserId = (null == detail.getAppUserDTO())? Integer.valueOf(BaseContextHandler.getUserID()): detail.getAppUserDTO().getUserid();
BaseOrder order = createBaseOrder(detail.getOrderOrigin(), detail.getAppUserDTO());
detail.setOrder(order);
}
......
......@@ -92,6 +92,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
@Override
public void initDetail(RentVehicleBO bo) {
super.initDetail(bo);
if(StrUtil.isNotBlank(bo.getCrtUser())) {
bo.getOrder().setCrtUser(bo.getCrtUser());
}
initDetailSecond(bo);
}
......
......@@ -127,6 +127,9 @@
</foreach>
</if>
<if test="userId != null">
and b.user_id = #{userId}
</if>
<if test="status != null">
and b.status = #{status}
</if>
......
......@@ -294,7 +294,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
return alipayClient;
}
//balance 余额
//moneyFund 余额宝
//coupon 红包
//pcredit 花呗
//pcreditpayInstallment 花呗分期
//creditCard 信用卡
//creditCardExpress 信用卡快捷
//creditCardCartoon 信用卡卡通
//credit_group 信用支付类型(包含信用卡卡通、信用卡快捷、花呗、花呗分期)
//debitCardExpress 借记卡快捷
//mcard 商户预存卡
//pcard 个人预存卡
//promotion 优惠(包含实时优惠+商户优惠)
//voucher 营销券
//point 积分
//mdiscount 商户优惠
//bankPay
//支付宝APP支付方法
private String appOrderPay(AlipayClient alipayClient, OrderPayVo orderPayVo, String notifyUrl) {
BigDecimal realAmount = new BigDecimal(orderPayVo.getAmount().toString()).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_UP);
......@@ -303,6 +319,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
request.setBizContent("{" +
"\"total_amount\":\"" + realAmount + "\"," +
"\"subject\":\"" + orderPayVo.getSubject() + "\"," +
"\"enable_pay_channels\":\"balance,coupon,creditCard,creditCardExpress,creditCardCartoon,pcredit,credit_group,moneyFund,debitCardExpress\"," +
"\"out_trade_no\":\"" + orderPayVo.getTradeNo() + "\"" +
" }");
request.setNotifyUrl(notifyUrl);
......
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