Commit db2733e5 by huluobin

Merge branch 'master-wx-order-flow' into 4.2

# Conflicts:
#	src/main/java/com/gogirl/application/order/serve/impl/OrderManageServiceImpl.java
parents 5b7912b2 25eea547
......@@ -8,12 +8,14 @@ import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.gogirl.application.common.IAgentUserService;
import com.gogirl.application.order.sys.IWxOrderFlowService;
import com.gogirl.application.user.customer.CustomerService;
import com.gogirl.domain.common.AgentConfig;
import com.gogirl.domain.common.AgentUser;
import com.gogirl.domain.common.AgentUserBalanceLog;
import com.gogirl.domain.common.AgentUserLog;
import com.gogirl.domain.common.xcx.GogirlToken;
import com.gogirl.domain.order.sys.WxOrderFlow;
import com.gogirl.domain.user.customer.Customer;
import com.gogirl.infrastructure.common.config.property.GogirlProperties;
import com.gogirl.infrastructure.common.exception.RRException;
......@@ -53,6 +55,8 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser
GogirlProperties gogirlProperties;
@Resource
WxPayService wxPayService;
@Resource
IWxOrderFlowService wxOrderFlowService;
@Override
public AgentUser selectByPhone(String phone) {
......@@ -127,6 +131,12 @@ public class AgentUserServiceImpl extends ServiceImpl<AgentUserMapper, AgentUser
this.addBalanceLog(3, agentConfig.getBondAmount(), agentUser.getId(), result.getOutTradeNo());
this.addBalanceLog(1, amount.subtract(agentConfig.getBondAmount()), agentUser.getId(), result.getOutTradeNo());
//微信流水
WxOrderFlow wxOrderFlow = WxOrderFlow.getInstance(result);
wxOrderFlow.setSourceFrom(WxOrderFlow.CUSTOMER);
wxOrderFlow.setOutTradeNo(result.getOutTradeNo());
wxOrderFlow.setOrderType(WxOrderFlow.AGENT_CHARGE);
wxOrderFlowService.log(wxOrderFlow);
}
@Resource
......
......@@ -3,9 +3,11 @@ package com.gogirl.application.order.market.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.gogirl.application.order.market.ITimesCardOrderService;
import com.gogirl.application.order.sys.IWxOrderFlowService;
import com.gogirl.domain.market.timescard.TimesCardCustomerRelevance;
import com.gogirl.domain.market.timescard.TimesCardType;
import com.gogirl.domain.order.market.TimesCardOrder;
import com.gogirl.domain.order.sys.WxOrderFlow;
import com.gogirl.infrastructure.mapper.market.timescard.TimesCardCustomerRelevanceMapper;
import com.gogirl.infrastructure.mapper.market.timescard.TimesCardTypeMapper;
import com.gogirl.infrastructure.mapper.order.market.TimesCardOrderMapper;
......@@ -33,6 +35,7 @@ public class TimesCardOrderServiceImpl extends ServiceImpl<TimesCardOrderMapper,
private final TimesCardTypeMapper timesCardTypeMapper;
private final TimesCardCustomerRelevanceMapper timesCardCustomerRelevanceMapper;
private final IWxOrderFlowService wxOrderFlowService;
@Transactional(rollbackFor = Exception.class)
@Override
......@@ -77,5 +80,12 @@ public class TimesCardOrderServiceImpl extends ServiceImpl<TimesCardOrderMapper,
.build();
this.save(timesCardOrder);
//微信流水
WxOrderFlow wxOrderFlow = WxOrderFlow.getInstance(result);
wxOrderFlow.setSourceFrom(WxOrderFlow.CUSTOMER);
wxOrderFlow.setOutTradeNo(result.getOutTradeNo());
wxOrderFlow.setOrderType(WxOrderFlow.TIMES_CARD);
wxOrderFlowService.log(wxOrderFlow);
}
}
......@@ -10,11 +10,13 @@ import com.github.binarywang.wxpay.exception.WxPayException;
import com.gogirl.application.market.coupon.CouponService;
import com.gogirl.application.market.discount.DiscountConfigService;
import com.gogirl.application.order.member.IChargeOrderService;
import com.gogirl.application.order.sys.IWxOrderFlowService;
import com.gogirl.application.store.store.CustomerDepartmentRelevanceService;
import com.gogirl.application.user.customer.CustomerService;
import com.gogirl.domain.common.xcx.GogirlToken;
import com.gogirl.domain.market.discount.DiscountConfig;
import com.gogirl.domain.order.member.ChargeOrder;
import com.gogirl.domain.order.sys.WxOrderFlow;
import com.gogirl.domain.user.customer.Customer;
import com.gogirl.domain.user.customer.CustomerBalance;
import com.gogirl.domain.user.customer.CustomerBalanceRecord;
......@@ -61,6 +63,8 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
private final CustomerBalanceRecordMapper customerBalanceRecordMapper;
private final CouponService couponService;
private final IWxOrderFlowService wxOrderFlowService;
@Override
public void notifyChargeOrder(WxPayOrderNotifyResult result) {
......@@ -185,6 +189,14 @@ public class ChargeOrderServiceImpl extends ServiceImpl<ChargeOrderMapper, Charg
this.save(chargeOrder);
//微信流水
WxOrderFlow wxOrderFlow = WxOrderFlow.getInstance(result);
wxOrderFlow.setSourceFrom(WxOrderFlow.CUSTOMER);
wxOrderFlow.setOutTradeNo(result.getOutTradeNo());
wxOrderFlow.setOrderType(WxOrderFlow.CHARGE_ORDER);
wxOrderFlowService.log(wxOrderFlow);
}
private final GogirlProperties gogirlProperties;
......
......@@ -15,6 +15,7 @@ import com.gogirl.application.order.serve.OrderRecordService;
import com.gogirl.application.order.serve.OrderServeSkuService;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.application.order.sys.IWxOrderFlowService;
import com.gogirl.application.user.customer.CustomerBalanceService;
import com.gogirl.application.user.customer.CustomerService;
import com.gogirl.domain.common.xcx.GogirlToken;
......@@ -22,6 +23,7 @@ import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.market.coupon.CouponsGift;
import com.gogirl.domain.market.timescard.TimesCardUsedRecord;
import com.gogirl.domain.order.serve.*;
import com.gogirl.domain.order.sys.WxOrderFlow;
import com.gogirl.domain.product.purchase.PurchaseSku;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.BaseServe;
......@@ -117,6 +119,8 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
BaseServeService baseServeService;
@Resource
BaseProduceService baseProduceService;
@Resource
private IWxOrderFlowService wxOrderFlowService;
@Override
public BigDecimal countSumPay(Integer customerId, Integer departmentId) {
......@@ -987,6 +991,14 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
this.updateById(orderManage);
marketService.calcOrderAmount(orderManage.getId());
//微信流水
//微信流水
WxOrderFlow wxOrderFlow = WxOrderFlow.getInstance(result);
wxOrderFlow.setSourceFrom(WxOrderFlow.CUSTOMER);
wxOrderFlow.setOutTradeNo(orderNo);
wxOrderFlow.setOrderType(WxOrderFlow.SCHEDULE_ORDER);
wxOrderFlowService.log(wxOrderFlow);
}
@Override
......@@ -1022,6 +1034,13 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
/*2.更新卡券状态*/
marketService.finishPayOrder(orderManage.getId());
//微信流水
WxOrderFlow wxOrderFlow = WxOrderFlow.getInstance(result);
wxOrderFlow.setSourceFrom(WxOrderFlow.CUSTOMER);
wxOrderFlow.setOutTradeNo(orderNo);
wxOrderFlow.setOrderType(WxOrderFlow.SCHEDULE_ORDER);
wxOrderFlowService.log(wxOrderFlow);
}
@Override
......
package com.gogirl.application.order.sys;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.order.sys.WxOrderFlow;
/**
* <p>
* 微信订单流水 服务类
* </p>
*
* @author robbendev
* @since 2020-12-23
*/
public interface IWxOrderFlowService extends IService<WxOrderFlow> {
/**
* 保存微信订单流水
*
* @param wxOrderFlow
*/
void log(WxOrderFlow wxOrderFlow);
}
package com.gogirl.application.order.sys.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.order.sys.IWxOrderFlowService;
import com.gogirl.domain.order.sys.WxOrderFlow;
import com.gogirl.infrastructure.common.util.JsonUtilByFsJson;
import com.gogirl.infrastructure.mapper.order.sys.WxOrderFlowMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
/**
* <p>
* 微信订单流水 服务实现类
* </p>
*
* @author robbendev
* @since 2020-12-23
*/
@Slf4j
@Service
public class WxOrderFlowServiceImpl extends ServiceImpl<WxOrderFlowMapper, WxOrderFlow> implements IWxOrderFlowService {
@Async
@Override
public void log(WxOrderFlow wxOrderFlow) {
log.info("保存微信订单流水:{}", JsonUtilByFsJson.beanToJson(wxOrderFlow));
this.save(wxOrderFlow);
}
}
package com.gogirl.domain.order.sys;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 微信订单流水
* </p>
*
* @author robbendev
* @since 2020-12-23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "WxOrderFlow对象", description = "微信订单流水")
public class WxOrderFlow implements Serializable {
private static final long serialVersionUID = 1L;
public static final Integer SCHEDULE_ORDER = 1;
public static final Integer CHARGE_ORDER = 2;
public static final Integer TIMES_CARD = 3;
public static final Integer AGENT_CHARGE = 3;
public static final Integer CUSTOMER = 1;
public static final Integer TECHNICIAN = 2;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "用户在商户appid下的唯一标识")
private String openid;
@ApiModelProperty(value = "1-美甲沙龙小程序2-店员端小程序")
private Integer sourceFrom;
@ApiModelProperty(value = "JSA描述:PI、NATIVE、APP")
private String tradeType;
@ApiModelProperty(value = "银行类型,采用字符串类型的银行标识,银行类型见银行列表")
private String bankType;
@ApiModelProperty(value = "订单总金额,单位为分")
private Integer totalFee;
@ApiModelProperty(value = "货币类型,符合ISO4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类型")
private String feeType;
@ApiModelProperty(value = "微信支付订单号")
private String transactionId;
@ApiModelProperty(value = "商户系统的订单号,与请求一致。")
private String outTradeNo;
@ApiModelProperty(value = "支付完成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则")
private String timeEnd;
@ApiModelProperty(value = "商户订单类型 ")
private Integer orderType;
public static WxOrderFlow getInstance(WxPayOrderNotifyResult result) {
WxOrderFlow wxOrderFlow = new WxOrderFlow();
wxOrderFlow.setOpenid(result.getOpenid());
wxOrderFlow.setTradeType(result.getTradeType());
wxOrderFlow.setBankType(result.getBankType());
wxOrderFlow.setTotalFee(result.getTotalFee());
wxOrderFlow.setFeeType(result.getFeeType());
wxOrderFlow.setTransactionId(result.getTransactionId());
wxOrderFlow.setOutTradeNo(result.getOutTradeNo());
wxOrderFlow.setTimeEnd(result.getTimeEnd());
return wxOrderFlow;
}
}
......@@ -90,7 +90,7 @@ public class StoreManage implements Serializable {
@ApiModelProperty("店长id" )
private Integer masterUserId;
@ApiModelProperty("营业状态1.营业中;2.停止营" )
@ApiModelProperty("营业状态1.营业中;2.停止营" )
private Integer operatingStatus;
@ApiModelProperty("运营人员id" )
......
package com.gogirl.infrastructure.mapper.order.sys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.order.sys.WxOrderFlow;
/**
* <p>
* 微信订单流水 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-12-23
*/
public interface WxOrderFlowMapper extends BaseMapper<WxOrderFlow> {
}
package com.gogirl.interfaces.order.sys;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 微信订单流水 前端控制器
* </p>
*
* @author robbendev
* @since 2020-12-23
*/
@RestController
@RequestMapping("/wx-order-flow")
public class WxOrderFlowController {
}
......@@ -7,6 +7,7 @@ import com.gogirl.infrastructure.common.annotation.AuthIgnore;
import com.gogirl.infrastructure.common.annotation.LoginIgnore;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.StringUtils;
import com.gogirl.shared.member.CustomerOrderDetail;
import com.gogirl.shared.user.CustomerQuery;
import io.swagger.annotations.Api;
......@@ -154,6 +155,27 @@ public class CustomerController {
if (customerSource == null) {
throw new RRException("客户来源必填");
}
if (StringUtils.isEmpty(storeRecordRealName)) {
throw new RRException("姓名必填");
}
if (StringUtils.isEmpty(sex)) {
throw new RRException("性别必填");
}
// if (birthdayMonth == null || birthdayDay == null) {
// throw new RRException("生日必填");
// }
if (StringUtils.isEmpty(ageGroup)) {
throw new RRException("年龄必填");
}
if (StringUtils.isEmpty(job)) {
throw new RRException("职业必填");
}
if (StringUtils.isEmpty(preference)) {
throw new RRException("偏好必填");
}
if (StringUtils.isEmpty(character)) {
throw new RRException("偏好必填");
}
customerService.updateCustomerDetail(birthdayMonth, birthdayDay, ageGroup, customerId, orderId, orderServeId, storeRecordRealName, sex, age, job, preference, character, customerSource);
return JsonResult.success();
}
......
<?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.gogirl.infrastructure.mapper.order.sys.WxOrderFlowMapper">
</mapper>
......@@ -53,7 +53,7 @@ public class CodeGenerator {
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://gz-cdb-c0sq6eax.sql.tencentcdb.com:60779/bailun_gogirl?useUnicode=true&characterEncoding=utf-8&useSSL=false&&zeroDateTimeBehavior=convertToNull");
dsc.setUrl("jdbc:mysql://gz-cdb-c0sq6eax.sql.tencentcdb.com:60779/gogirl_pre?useUnicode=true&characterEncoding=utf-8&useSSL=false&&zeroDateTimeBehavior=convertToNull");
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
......
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