| @@ -8,7 +8,7 @@ import com.iformall.domain.po.WxAppinfo; | |||||
| import com.iformall.domain.po.WxCouponOrder; | import com.iformall.domain.po.WxCouponOrder; | ||||
| import com.iformall.domain.vo.WxCouponOrderBVo; | import com.iformall.domain.vo.WxCouponOrderBVo; | ||||
| import com.iformall.enums.EnumAppType; | import com.iformall.enums.EnumAppType; | ||||
| import com.iformall.enums.EnumRefundWay; | |||||
| import com.iformall.enums.EnumPayType; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxAppinfoService; | import com.iformall.service.WxAppinfoService; | ||||
| import com.iformall.service.WxCouponOrderService; | import com.iformall.service.WxCouponOrderService; | ||||
| @@ -128,7 +128,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| WxAppinfo appinfo = appinfoPageInfo.getList().get(0); | WxAppinfo appinfo = appinfoPageInfo.getList().get(0); | ||||
| if (appinfo != null) { | if (appinfo != null) { | ||||
| try { | try { | ||||
| wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumRefundWay.ADMIN, null); | |||||
| wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_ADMIN_REFUND, null); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| @@ -131,7 +131,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| // 核销分账 | // 核销分账 | ||||
| if (couponOrder != null) { | if (couponOrder != null) { | ||||
| try { | try { | ||||
| wxCouponOrderService.shareAfterVerify(couponOrder); | |||||
| wxCouponOrderService.shareAfterVerify(couponOrder, getUser().getMerchantId()); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| } | } | ||||
| @@ -5,10 +5,9 @@ import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.config.PayProperty; | import com.iformall.config.PayProperty; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.enums.EnumAppType; | |||||
| import com.iformall.enums.EnumOrderType; | import com.iformall.enums.EnumOrderType; | ||||
| import com.iformall.enums.EnumPayType; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.enums.EnumRefundWay; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.IPUtil; | import com.iformall.utils.IPUtil; | ||||
| @@ -82,7 +81,7 @@ public class WxMicroPayController extends BaseController { | |||||
| WxOrder order = null; | WxOrder order = null; | ||||
| try { | try { | ||||
| order = wxOrderService.saveMicroOrder(user, totalFeeStr); | |||||
| order = wxOrderService.saveMicroPayOrder(user, totalFeeStr); | |||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("saveMicopayOrder 1" + e.getMessage()); | logger.error("saveMicopayOrder 1" + e.getMessage()); | ||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | return new ResultData(e.getErrorCode(), e.getMessage()); | ||||
| @@ -254,7 +253,7 @@ public class WxMicroPayController extends BaseController { | |||||
| WxMerchantBUser bUser = getUser(); | WxMerchantBUser bUser = getUser(); | ||||
| WxAppinfo appinfo = getAppInfo(bUser.getAppId()); | WxAppinfo appinfo = getAppInfo(bUser.getAppId()); | ||||
| try { | try { | ||||
| ResultData rd = wxRefundOrderService.createRefundOrderFromMicroPay(payProperty.isReal(), appinfo, orderId, EnumRefundWay.B, bUser.getId()); | |||||
| ResultData rd = wxRefundOrderService.createRefundOrderFromMicroPay(payProperty.isReal(), appinfo, orderId, EnumPayType.PAY_B_REFUND, bUser.getId()); | |||||
| return rd; | return rd; | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error("退款 1:" + e.getMessage()); | logger.error("退款 1:" + e.getMessage()); | ||||
| @@ -8,7 +8,7 @@ import com.iformall.config.PayProperty; | |||||
| import com.iformall.domain.po.WxAppinfo; | import com.iformall.domain.po.WxAppinfo; | ||||
| import com.iformall.domain.po.WxMerchantBUser; | import com.iformall.domain.po.WxMerchantBUser; | ||||
| import com.iformall.domain.po.WxRefundOrder; | import com.iformall.domain.po.WxRefundOrder; | ||||
| import com.iformall.enums.EnumRefundWay; | |||||
| import com.iformall.enums.EnumPayType; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxRefundOrderService; | import com.iformall.service.WxRefundOrderService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -57,7 +57,7 @@ public class WxRefundOrderController extends BaseController { | |||||
| WxMerchantBUser bUser = getUser(); | WxMerchantBUser bUser = getUser(); | ||||
| WxAppinfo appinfo = getAppInfo(bUser.getAppId()); | WxAppinfo appinfo = getAppInfo(bUser.getAppId()); | ||||
| try { | try { | ||||
| ResultData rd = wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumRefundWay.B, bUser.getId()); | |||||
| ResultData rd = wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_B_REFUND, bUser.getId()); | |||||
| return rd; | return rd; | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| @@ -7,10 +7,9 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.WxCUser; | import com.iformall.domain.po.WxCUser; | ||||
| import com.iformall.domain.po.WxCouponChannel; | import com.iformall.domain.po.WxCouponChannel; | ||||
| import com.iformall.domain.po.WxOrder; | import com.iformall.domain.po.WxOrder; | ||||
| import com.iformall.domain.vo.WxOrderCVo; | |||||
| import com.iformall.domain.vo.WxOrderCouponVo; | |||||
| import com.iformall.enums.EnumCouponChannelStatus; | import com.iformall.enums.EnumCouponChannelStatus; | ||||
| import com.iformall.enums.EnumOrderStatus; | import com.iformall.enums.EnumOrderStatus; | ||||
| import com.iformall.enums.EnumOrderType; | |||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.service.WxCouponChannelService; | import com.iformall.service.WxCouponChannelService; | ||||
| import com.iformall.service.WxOrderService; | import com.iformall.service.WxOrderService; | ||||
| @@ -73,7 +72,7 @@ public class WxOrderController extends BaseController { | |||||
| WxOrder order = null; | WxOrder order = null; | ||||
| try { | try { | ||||
| order = wxOrderService.sendUserFreeCoupon(user.getId(), couponId); | |||||
| order = wxOrderService.saveFreeCouponOrder(user.getId(), couponId); | |||||
| return new ResultData(order); | return new ResultData(order); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| @@ -135,7 +134,7 @@ public class WxOrderController extends BaseController { | |||||
| WxCUser user = getUser(); | WxCUser user = getUser(); | ||||
| try { | try { | ||||
| WxOrder order = wxOrderService.saveOrder(user, couponChannelId, couponId); | |||||
| WxOrder order = wxOrderService.saveCouponOrder(user, couponChannelId, couponId); | |||||
| return new ResultData(order); | return new ResultData(order); | ||||
| } catch (MallinkException e) { | } catch (MallinkException e) { | ||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| @@ -216,7 +215,7 @@ public class WxOrderController extends BaseController { | |||||
| if (wxOrder == null) wxOrder = new WxOrder(); | if (wxOrder == null) wxOrder = new WxOrder(); | ||||
| wxOrder.setCUserId(getUser().getId()); | wxOrder.setCUserId(getUser().getId()); | ||||
| wxOrder.setSortColumns(WxOrder.Field.CreateDate_DESC); | wxOrder.setSortColumns(WxOrder.Field.CreateDate_DESC); | ||||
| final PageInfo<WxOrderCVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize); | |||||
| final PageInfo<WxOrderCouponVo> page = wxOrderService.listCUserVoAsPage(wxOrder, pageNum, pageSize); | |||||
| return new ResultData(page); | return new ResultData(page); | ||||
| } | } | ||||
| @@ -237,7 +236,7 @@ public class WxOrderController extends BaseController { | |||||
| } | } | ||||
| wxOrder.setId(id); | wxOrder.setId(id); | ||||
| wxOrder.setCUserId(getUser().getId()); | wxOrder.setCUserId(getUser().getId()); | ||||
| WxOrderCVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); | |||||
| WxOrderCouponVo wxOrderCVo = wxOrderService.detailCUserVo(wxOrder); | |||||
| if (wxOrderCVo == null) | if (wxOrderCVo == null) | ||||
| return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); | return new ResultData(ErrorCode.ORDER_IS_NOT_FIND); | ||||
| return new ResultData(wxOrderCVo); | return new ResultData(wxOrderCVo); | ||||
| @@ -3,7 +3,7 @@ package com.iformall.schedule; | |||||
| import com.iformall.config.PayProperty; | import com.iformall.config.PayProperty; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.enums.EnumAppType; | import com.iformall.enums.EnumAppType; | ||||
| import com.iformall.enums.EnumRefundWay; | |||||
| import com.iformall.enums.EnumPayType; | |||||
| import com.iformall.mapper.*; | import com.iformall.mapper.*; | ||||
| import com.iformall.service.WxPayOrderService; | import com.iformall.service.WxPayOrderService; | ||||
| import com.iformall.service.WxRefundOrderService; | import com.iformall.service.WxRefundOrderService; | ||||
| @@ -59,7 +59,7 @@ public class CouponOrderExpiringSchedule { | |||||
| appinfo = wxAppinfoMapper.findList(appinfo).get(0); | appinfo = wxAppinfoMapper.findList(appinfo).get(0); | ||||
| try { | try { | ||||
| wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumRefundWay.AUTO, null); | |||||
| wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumPayType.PAY_AUTO_REFUND, null); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("退款失败:"+e.getMessage()+"couponOrderId="+co.getId()); | logger.error("退款失败:"+e.getMessage()+"couponOrderId="+co.getId()); | ||||
| continue; | continue; | ||||
| @@ -50,16 +50,11 @@ public class WxOrder implements Serializable { | |||||
| /*c端用户id**/ | /*c端用户id**/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId") | @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId") | ||||
| private Long cUserId; | private Long cUserId; | ||||
| /*商户ID**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") | |||||
| private Long merchantId; | |||||
| /*操作券B端小程序用户ID**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="操作券B端小程序用户ID",name="bUserId") | |||||
| private Long bUserId; | |||||
| /*券ID-产品ID将来的产品都会放在coupon表里**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="券ID",name="couponId") | |||||
| private Long couponId; | |||||
| /*类型0:券,1:刷卡支付金**/ | |||||
| /*产品ID,根据order type**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="产品ID",name="productId") | |||||
| private Long productId; | |||||
| /*类型0:券,1:B刷卡支付,2:C扫码支付,3:储值卡**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="类型",name="type") | @io.swagger.annotations.ApiModelProperty(value="类型",name="type") | ||||
| private Integer type; | private Integer type; | ||||
| /*0: 付款 1: 退款**/ | /*0: 付款 1: 退款**/ | ||||
| @@ -101,30 +96,17 @@ public class WxOrder implements Serializable { | |||||
| public void setCUserId(Long _cUserId) { | public void setCUserId(Long _cUserId) { | ||||
| cUserId = _cUserId; | cUserId = _cUserId; | ||||
| } | } | ||||
| public Long getMerchantId() { | |||||
| return merchantId; | |||||
| } | |||||
| public void setMerchantId(Long _merchantId) { | |||||
| merchantId = _merchantId; | |||||
| } | |||||
| public Long getBUserId() { | |||||
| return bUserId; | |||||
| } | |||||
| public void setBUserId(Long _bUserId) { | |||||
| bUserId = _bUserId; | |||||
| } | |||||
| public Long getCouponId() { | |||||
| return couponId; | |||||
| } | |||||
| public void setCouponId(Long _couponId) { | |||||
| this.couponId = _couponId; | |||||
| public Long getPorductId() { | |||||
| return productId; | |||||
| } | |||||
| public void setPorductId(Long _productId) { | |||||
| this.productId = _productId; | |||||
| } | } | ||||
| public Integer getType() { | public Integer getType() { | ||||
| return type; | return type; | ||||
| } | } | ||||
| public void setType(Integer type) { | public void setType(Integer type) { | ||||
| this.type = type; | this.type = type; | ||||
| } | } | ||||
| @@ -182,7 +164,7 @@ public class WxOrder implements Serializable { | |||||
| ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ||||
| ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") | ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") | ||||
| ,BUserId_ASC("`b_user_id` ASC"),BUserId_DESC("`b_user_id` DESC") | ,BUserId_ASC("`b_user_id` ASC"),BUserId_DESC("`b_user_id` DESC") | ||||
| ,CouponId_ASC("`coupon_id` ASC"),CouponId_DESC("`coupon_id` DESC") | |||||
| ,ProductId_ASC("`product_id` ASC"),ProductId_DESC("`product_id` DESC") | |||||
| ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") | ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") | ||||
| ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ||||
| ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import com.iformall.domain.po.WxCouponOrder; | |||||
| import com.iformall.domain.po.WxOrder; | |||||
| import javax.persistence.Id; | |||||
| import javax.persistence.Transient; | |||||
| import java.util.Date; | |||||
| import java.util.List; | |||||
| public class WxMerchantVo extends WxCouponOrder{ | |||||
| /** | |||||
| * | |||||
| */ | |||||
| private static final long serialVersionUID = 6687954932922444531L; | |||||
| @Id | |||||
| protected Long id; | |||||
| public Long getId() { | |||||
| return id; | |||||
| } | |||||
| public void setId(Long id) { | |||||
| this.id = id; | |||||
| } | |||||
| /*发券商户信息*/ | |||||
| /*商户图片**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户图片",name="imgUrl") | |||||
| private String merchantImgUrl; | |||||
| /*商户名**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户名",name="name") | |||||
| private String merchantName; | |||||
| /*联系方式**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户联系方式",name="linkPhone") | |||||
| private String merchantLinkPhone; | |||||
| /*商户状态**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户状态1可用0停用",name="status") | |||||
| private Integer merchantStatus; | |||||
| /*地址**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="地址",name="addr") | |||||
| private String addr; | |||||
| /*百度poi(省市区县street等)**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="百度poi(省市区县street等)",name="baiduPoi") | |||||
| private String baiduPoi; | |||||
| /*商铺编号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商铺编号",name="shopNumber") | |||||
| private String shopNumber; | |||||
| /*楼座号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼座",name="buildingName") | |||||
| private String buildingName; | |||||
| /*楼层号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼层",name="floorName") | |||||
| private String floorName; | |||||
| public String getBuildingName() {return buildingName; } | |||||
| public void setBuildingName(String _building) { | |||||
| buildingName = _building; | |||||
| } | |||||
| public String getFloorName() { | |||||
| return floorName; | |||||
| } | |||||
| public void setFloorName(String _floor) { | |||||
| floorName = _floor; | |||||
| } | |||||
| public String getShopNumber() { | |||||
| return shopNumber; | |||||
| } | |||||
| public void setShopNumber(String _shopNumber) { | |||||
| shopNumber = _shopNumber; | |||||
| } | |||||
| public String getBaiduPoi() { | |||||
| return baiduPoi; | |||||
| } | |||||
| public void setBaiduPoi(String _baiduPoi) { | |||||
| baiduPoi = _baiduPoi; | |||||
| } | |||||
| public String getAddr() { | |||||
| return addr; | |||||
| } | |||||
| public void setAddr(String _addr) { | |||||
| addr = _addr; | |||||
| } | |||||
| public String getMerChantImgUrl() { | |||||
| return merchantImgUrl; | |||||
| } | |||||
| public void setMerChantImgUrl(String _imgUrl) { | |||||
| merchantImgUrl = _imgUrl; | |||||
| } | |||||
| public String getMerchantName() { | |||||
| return merchantName; | |||||
| } | |||||
| public void setMerchantName(String _name) { | |||||
| merchantName = _name; | |||||
| } | |||||
| public String getMerchantLinkPhone() { | |||||
| return merchantLinkPhone; | |||||
| } | |||||
| public void setMerchantLinkPhone(String _linkPhone) { | |||||
| merchantLinkPhone = _linkPhone; | |||||
| } | |||||
| public Integer getMerchantStatus() { | |||||
| return merchantStatus; | |||||
| } | |||||
| public void setMerchantStatus(Integer status) { | |||||
| this.merchantStatus = status; | |||||
| } | |||||
| } | |||||
| @@ -8,7 +8,7 @@ import javax.persistence.Transient; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | import java.util.List; | ||||
| public class WxOrderCVo extends WxCouponOrder{ | |||||
| public class WxOrderCouponVo extends WxCouponOrder{ | |||||
| /** | /** | ||||
| * | * | ||||
| @@ -56,15 +56,11 @@ public class WxOrderCVo extends WxCouponOrder{ | |||||
| /*c端用户id**/ | /*c端用户id**/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId") | @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId") | ||||
| private Long cUserId; | private Long cUserId; | ||||
| /*商户ID**/ | /*商户ID**/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") | |||||
| private Long merchantId; | |||||
| /*操作券B端小程序用户ID**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="操作券B端小程序用户ID",name="bUserId") | |||||
| private Long bUserId; | |||||
| /*券ID-产品ID将来的产品都会放在coupon表里**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="券ID",name="couponId") | |||||
| private Long couponId; | |||||
| /*产品ID**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="券ID",name="productId") | |||||
| private Long productId; | |||||
| /*0: 付款 1: 退款**/ | /*0: 付款 1: 退款**/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType") | @io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType") | ||||
| private Integer paymentType; | private Integer paymentType; | ||||
| @@ -126,104 +122,67 @@ public class WxOrderCVo extends WxCouponOrder{ | |||||
| private String remark; | private String remark; | ||||
| /*发券商户信息*/ | /*发券商户信息*/ | ||||
| /*商户图片**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户图片",name="imgUrl") | @io.swagger.annotations.ApiModelProperty(value="商户图片",name="imgUrl") | ||||
| private String merchantImgUrl; | |||||
| /*商户名**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户名",name="name") | |||||
| private String merchantName; | |||||
| /*联系方式**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户联系方式",name="linkPhone") | |||||
| private String merchantLinkPhone; | |||||
| /*商户状态**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户状态1可用0停用",name="status") | |||||
| private Integer merchantStatus; | |||||
| /*地址**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="地址",name="addr") | |||||
| private String addr; | |||||
| /*百度poi(省市区县street等)**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="百度poi(省市区县street等)",name="baiduPoi") | |||||
| private String baiduPoi; | |||||
| /*商铺编号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="商铺编号",name="shopNumber") | |||||
| private String shopNumber; | |||||
| /*楼座号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼座",name="buildingName") | |||||
| private String buildingName; | |||||
| /*楼层号**/ | |||||
| @io.swagger.annotations.ApiModelProperty(value="楼层",name="floorName") | |||||
| private String floorName; | |||||
| public Long getOrderNumber() { | |||||
| private List<WxMerchantVo> merchantVoList; | |||||
| public Long getOrderNumber() { | |||||
| return orderNumber; | return orderNumber; | ||||
| } | } | ||||
| public void setOrderNumber(Long _orderNumber) { | public void setOrderNumber(Long _orderNumber) { | ||||
| orderNumber = _orderNumber; | orderNumber = _orderNumber; | ||||
| } | } | ||||
| public String getTenantId() { | |||||
| public String getTenantId() { | |||||
| return tenantId; | return tenantId; | ||||
| } | } | ||||
| public void setTenantId(String _tenantId) { | public void setTenantId(String _tenantId) { | ||||
| tenantId = _tenantId; | tenantId = _tenantId; | ||||
| } | } | ||||
| public Long getCUserId() { | |||||
| public Long getCUserId() { | |||||
| return cUserId; | return cUserId; | ||||
| } | } | ||||
| public void setCUserId(Long _cUserId) { | public void setCUserId(Long _cUserId) { | ||||
| cUserId = _cUserId; | cUserId = _cUserId; | ||||
| } | } | ||||
| public Long getMerchantId() { | |||||
| return merchantId; | |||||
| } | |||||
| public void setMerchantId(Long _merchantId) { | |||||
| merchantId = _merchantId; | |||||
| } | |||||
| public Long getBUserId() { | |||||
| return bUserId; | |||||
| } | |||||
| public void setBUserId(Long _bUserId) { | |||||
| bUserId = _bUserId; | |||||
| } | |||||
| public Long getCouponId() { | |||||
| return couponId; | |||||
| public Long getProductId() { | |||||
| return productId; | |||||
| } | } | ||||
| public void setCouponId(Long _couponId) { | |||||
| this.couponId = _couponId; | |||||
| public void setProductId(Long _productId) { | |||||
| this.productId = _productId; | |||||
| } | } | ||||
| public Integer getPaymentType() { | |||||
| public Integer getPaymentType() { | |||||
| return paymentType; | return paymentType; | ||||
| } | } | ||||
| public void setPaymentType(Integer _paymentType) { | public void setPaymentType(Integer _paymentType) { | ||||
| paymentType = _paymentType; | paymentType = _paymentType; | ||||
| } | } | ||||
| public Integer getPayment() { | |||||
| public Integer getPayment() { | |||||
| return payment; | return payment; | ||||
| } | } | ||||
| public void setPayment(Integer _payment) { | public void setPayment(Integer _payment) { | ||||
| payment = _payment; | payment = _payment; | ||||
| } | } | ||||
| public Date getPaymentTime() { | |||||
| public Date getPaymentTime() { | |||||
| return paymentTime; | return paymentTime; | ||||
| } | } | ||||
| public void setPaymentTime(Date _paymentTime) { | public void setPaymentTime(Date _paymentTime) { | ||||
| paymentTime = _paymentTime; | paymentTime = _paymentTime; | ||||
| } | } | ||||
| public Integer getOrderStatus() { | |||||
| public Integer getOrderStatus() { | |||||
| return orderStatus; | return orderStatus; | ||||
| } | } | ||||
| public void setOrderStatus(Integer _orderStatus) { | public void setOrderStatus(Integer _orderStatus) { | ||||
| orderStatus = _orderStatus; | orderStatus = _orderStatus; | ||||
| } | } | ||||
| public Date getCreateDate() { | |||||
| public Date getCreateDate() { | |||||
| return createDate; | return createDate; | ||||
| } | } | ||||
| public void setCreateDate(Date _createDate) { | public void setCreateDate(Date _createDate) { | ||||
| createDate = _createDate; | createDate = _createDate; | ||||
| } | } | ||||
| public Date getUpdateDate() { | |||||
| public Date getUpdateDate() { | |||||
| return updateDate; | return updateDate; | ||||
| } | } | ||||
| public void setUpdateDate(Date _updateDate) { | public void setUpdateDate(Date _updateDate) { | ||||
| @@ -236,142 +195,90 @@ public class WxOrderCVo extends WxCouponOrder{ | |||||
| public void setCouponOrderId(Long _couponOrderId) { | public void setCouponOrderId(Long _couponOrderId) { | ||||
| this.couponOrderId = _couponOrderId; | this.couponOrderId = _couponOrderId; | ||||
| } | } | ||||
| public Integer getCouponOrderStatus() { | |||||
| public Integer getCouponOrderStatus() { | |||||
| return couponOrderStatus; | return couponOrderStatus; | ||||
| } | } | ||||
| public void setCouponOrderStatus(Integer _couponOrderStatus) { | public void setCouponOrderStatus(Integer _couponOrderStatus) { | ||||
| couponOrderStatus = _couponOrderStatus; | couponOrderStatus = _couponOrderStatus; | ||||
| } | } | ||||
| public Integer getType() { | |||||
| public Integer getType() { | |||||
| return type; | return type; | ||||
| } | } | ||||
| public void setType(Integer _type) { | public void setType(Integer _type) { | ||||
| type = _type; | type = _type; | ||||
| } | } | ||||
| public String getCoverImg() { | |||||
| public String getCoverImg() { | |||||
| return coverImg; | return coverImg; | ||||
| } | } | ||||
| public void setCoverImg(String _coverImg) { | public void setCoverImg(String _coverImg) { | ||||
| coverImg = _coverImg; | coverImg = _coverImg; | ||||
| } | } | ||||
| public String getTitle() { | |||||
| public String getTitle() { | |||||
| return title; | return title; | ||||
| } | } | ||||
| public void setTitle(String _title) { | public void setTitle(String _title) { | ||||
| title = _title; | title = _title; | ||||
| } | } | ||||
| public String getSubTitle() { | |||||
| public String getSubTitle() { | |||||
| return subTitle; | return subTitle; | ||||
| } | } | ||||
| public void setSubTitle(String _subTitle) { | public void setSubTitle(String _subTitle) { | ||||
| subTitle = _subTitle; | subTitle = _subTitle; | ||||
| } | } | ||||
| public Integer getSalePrice() { | |||||
| public Integer getSalePrice() { | |||||
| return salePrice; | return salePrice; | ||||
| } | } | ||||
| public void setSalePrice(Integer _salePrice) { | public void setSalePrice(Integer _salePrice) { | ||||
| salePrice = _salePrice; | salePrice = _salePrice; | ||||
| } | } | ||||
| public Integer getUsePrice() { | |||||
| public Integer getUsePrice() { | |||||
| return usePrice; | return usePrice; | ||||
| } | } | ||||
| public void setUsePrice(Integer _usePrice) { | public void setUsePrice(Integer _usePrice) { | ||||
| usePrice = _usePrice; | usePrice = _usePrice; | ||||
| } | } | ||||
| public String getDetail() { | |||||
| public String getDetail() { | |||||
| return detail; | return detail; | ||||
| } | } | ||||
| public void setDetail(String _detail) { | public void setDetail(String _detail) { | ||||
| detail = _detail; | detail = _detail; | ||||
| } | } | ||||
| public Integer getPrice() { | |||||
| public Integer getPrice() { | |||||
| return price; | return price; | ||||
| } | } | ||||
| public void setPrice(Integer _price) { | public void setPrice(Integer _price) { | ||||
| price = _price; | price = _price; | ||||
| } | } | ||||
| public Integer getUnit() { | public Integer getUnit() { | ||||
| return unit; | return unit; | ||||
| } | } | ||||
| public void setUnit(Integer unit) { | public void setUnit(Integer unit) { | ||||
| this.unit = unit; | this.unit = unit; | ||||
| } | } | ||||
| public String getRemark() { | |||||
| return remark; | |||||
| } | |||||
| public void setRemark(String _remark) { | |||||
| remark = _remark; | |||||
| public List<WxMerchantVo> getMerchantVoList() { | |||||
| return merchantVoList; | |||||
| } | } | ||||
| public String getBuildingName() {return buildingName; } | |||||
| public void setBuildingName(String _building) { | |||||
| buildingName = _building; | |||||
| } | |||||
| public String getFloorName() { | |||||
| return floorName; | |||||
| } | |||||
| public void setFloorName(String _floor) { | |||||
| floorName = _floor; | |||||
| public void setMerchantVoList(List<WxMerchantVo> merchantVoList) { | |||||
| this.merchantVoList = merchantVoList; | |||||
| } | } | ||||
| public String getShopNumber() { | |||||
| return shopNumber; | |||||
| } | |||||
| public void setShopNumber(String _shopNumber) { | |||||
| shopNumber = _shopNumber; | |||||
| } | |||||
| public String getBaiduPoi() { | |||||
| return baiduPoi; | |||||
| } | |||||
| public void setBaiduPoi(String _baiduPoi) { | |||||
| baiduPoi = _baiduPoi; | |||||
| } | |||||
| public String getAddr() { | |||||
| return addr; | |||||
| } | |||||
| public void setAddr(String _addr) { | |||||
| addr = _addr; | |||||
| } | |||||
| public String getMerChantImgUrl() { | |||||
| return merchantImgUrl; | |||||
| } | |||||
| public void setMerChantImgUrl(String _imgUrl) { | |||||
| merchantImgUrl = _imgUrl; | |||||
| } | |||||
| public String getMerchantName() { | |||||
| return merchantName; | |||||
| } | |||||
| public void setMerchantName(String _name) { | |||||
| merchantName = _name; | |||||
| } | |||||
| public String getMerchantLinkPhone() { | |||||
| return merchantLinkPhone; | |||||
| } | |||||
| public void setMerchantLinkPhone(String _linkPhone) { | |||||
| merchantLinkPhone = _linkPhone; | |||||
| } | |||||
| public Integer getMerchantStatus() { | |||||
| return merchantStatus; | |||||
| public String getRemark() { | |||||
| return remark; | |||||
| } | } | ||||
| public void setMerchantStatus(Integer status) { | |||||
| this.merchantStatus = status; | |||||
| public void setRemark(String _remark) { | |||||
| remark = _remark; | |||||
| } | } | ||||
| public static enum Field | public static enum Field | ||||
| { | { | ||||
| Id_ASC("`id` ASC"),Id_DESC("`id` DESC") | Id_ASC("`id` ASC"),Id_DESC("`id` DESC") | ||||
| ,OrderNumber_ASC("`order_number` ASC"),OrderNumber_DESC("`order_number` DESC") | ,OrderNumber_ASC("`order_number` ASC"),OrderNumber_DESC("`order_number` DESC") | ||||
| ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ||||
| ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ||||
| ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") | |||||
| ,BUserId_ASC("`b_user_id` ASC"),BUserId_DESC("`b_user_id` DESC") | |||||
| ,CouponId_ASC("`coupon_id` ASC"),CouponId_DESC("`coupon_id` DESC") | |||||
| ,CouponId_ASC("`product_id` ASC"),CouponId_DESC("`product_id` DESC") | |||||
| ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ||||
| ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ||||
| ,PaymentTime_ASC("`payment_time` ASC"),PaymentTime_DESC("`payment_time` DESC") | ,PaymentTime_ASC("`payment_time` ASC"),PaymentTime_DESC("`payment_time` DESC") | ||||
| @@ -59,9 +59,7 @@ public class WxOrderPayVo extends WxOrder { | |||||
| ,OrderNumber_ASC("`order_number` ASC"),OrderNumber_DESC("`order_number` DESC") | ,OrderNumber_ASC("`order_number` ASC"),OrderNumber_DESC("`order_number` DESC") | ||||
| ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") | ||||
| ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") | ||||
| ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") | |||||
| ,BUserId_ASC("`b_user_id` ASC"),BUserId_DESC("`b_user_id` DESC") | |||||
| ,CouponId_ASC("`coupon_id` ASC"),CouponId_DESC("`coupon_id` DESC") | |||||
| ,CouponId_ASC("`product_id` ASC"),CouponId_DESC("`product_id` DESC") | |||||
| ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ,PaymentType_ASC("`payment_type` ASC"),PaymentType_DESC("`payment_type` DESC") | ||||
| ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ,Payment_ASC("`payment` ASC"),Payment_DESC("`payment` DESC") | ||||
| ,PaymentTime_ASC("`payment_time` ASC"),PaymentTime_DESC("`payment_time` DESC") | ,PaymentTime_ASC("`payment_time` ASC"),PaymentTime_DESC("`payment_time` DESC") | ||||
| @@ -8,7 +8,9 @@ package com.iformall.enums; | |||||
| public enum EnumOrderType { | public enum EnumOrderType { | ||||
| COUPON(0,"券"), | COUPON(0,"券"), | ||||
| MICROPAY(1,"刷卡支付金") | |||||
| MICROPAY(1,"B收款码支付"), | |||||
| NATIVEPAY(2,"C扫码支付"), | |||||
| PREPAIDCARD(3, "储值卡") | |||||
| ; | ; | ||||
| public static EnumOrderType getEnum(Integer code) { | public static EnumOrderType getEnum(Integer code) { | ||||
| @@ -6,8 +6,9 @@ package com.iformall.enums; | |||||
| public enum EnumPayType { | public enum EnumPayType { | ||||
| PAY_PAYMENT(0, "付款"), | PAY_PAYMENT(0, "付款"), | ||||
| PAY_REFUND(1, "退款"); | |||||
| PAY_B_REFUND(1, "B端退款"), | |||||
| PAY_AUTO_REFUND(2, "自动退款"), | |||||
| PAY_ADMIN_REFUND(3, "A端退款"); | |||||
| public static EnumPayType getEnum(Integer code) { | public static EnumPayType getEnum(Integer code) { | ||||
| for (EnumPayType value : values()) { | for (EnumPayType value : values()) { | ||||
| if (value.getCode().equals(code)) { | if (value.getCode().equals(code)) { | ||||
| @@ -1,37 +0,0 @@ | |||||
| package com.iformall.enums; | |||||
| /** | |||||
| * Created by Stormeye on 2018/08/09. | |||||
| */ | |||||
| public enum EnumRefundWay { | |||||
| B(0, "B端小程序"), | |||||
| ADMIN(1, "WEB端小程序"), | |||||
| C(2, "C端小程序"), | |||||
| AUTO(3, "自动退款"); | |||||
| public static EnumRefundWay getEnum(Integer code) { | |||||
| for (EnumRefundWay value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumRefundWay(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -3,7 +3,7 @@ package com.iformall.mapper; | |||||
| import java.util.*; | import java.util.*; | ||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.vo.MarkingSceneDataVo; | import com.iformall.domain.vo.MarkingSceneDataVo; | ||||
| import com.iformall.domain.vo.WxOrderCVo; | |||||
| import com.iformall.domain.vo.WxOrderCouponVo; | |||||
| import com.iformall.domain.po.WxOrder; | import com.iformall.domain.po.WxOrder; | ||||
| import com.iformall.domain.vo.WxOrderPayVo; | import com.iformall.domain.vo.WxOrderPayVo; | ||||
| @@ -17,8 +17,8 @@ public interface WxOrderMapper extends CommonMapper<WxOrder, Long> { | |||||
| List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap); | List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap); | ||||
| List<WxOrderCVo> findListOfCUser(WxOrder wxOrder); | |||||
| WxOrderCVo selectDetailOfCUser(WxOrder wxOrder); | |||||
| List<WxOrderCouponVo> findListOfCUser(WxOrder wxOrder); | |||||
| WxOrderCouponVo selectDetailOfCUser(WxOrder wxOrder); | |||||
| Map dayMicroPayAmountList(Map dateMap); | Map dayMicroPayAmountList(Map dateMap); | ||||
| List<WxOrderPayVo> findListOfMicroPayOrderByDate(Map dateMap); | List<WxOrderPayVo> findListOfMicroPayOrderByDate(Map dateMap); | ||||
| @@ -84,7 +84,7 @@ public interface WxCouponOrderService { | |||||
| * 核销分账 | * 核销分账 | ||||
| * @param couponOrder | * @param couponOrder | ||||
| */ | */ | ||||
| void shareAfterVerify(WxCouponOrder couponOrder); | |||||
| void shareAfterVerify(WxCouponOrder couponOrder, Long merchantId); | |||||
| /** | /** | ||||
| * 核销模板消息 | * 核销模板消息 | ||||
| @@ -8,7 +8,7 @@ import com.iformall.domain.po.WxCUser; | |||||
| import com.iformall.domain.po.WxCouponOrder; | import com.iformall.domain.po.WxCouponOrder; | ||||
| import com.iformall.domain.po.WxMerchantBUser; | import com.iformall.domain.po.WxMerchantBUser; | ||||
| import com.iformall.domain.po.WxOrder; | import com.iformall.domain.po.WxOrder; | ||||
| import com.iformall.domain.vo.WxOrderCVo; | |||||
| import com.iformall.domain.vo.WxOrderCouponVo; | |||||
| import com.iformall.enums.EnumOrderStatus; | import com.iformall.enums.EnumOrderStatus; | ||||
| public interface WxOrderService { | public interface WxOrderService { | ||||
| @@ -39,7 +39,7 @@ public interface WxOrderService { | |||||
| * @param couponId | * @param couponId | ||||
| * @return 订单id | * @return 订单id | ||||
| */ | */ | ||||
| WxOrder saveOrder(WxCUser user, Long couponChannelId, Long couponId); | |||||
| WxOrder saveCouponOrder(WxCUser user, Long couponChannelId, Long couponId); | |||||
| /** | /** | ||||
| * 刷卡支付 | * 刷卡支付 | ||||
| @@ -47,7 +47,7 @@ public interface WxOrderService { | |||||
| * @param totalFeeStr | * @param totalFeeStr | ||||
| * @return 订单id | * @return 订单id | ||||
| */ | */ | ||||
| WxOrder saveMicroOrder(WxMerchantBUser user, String totalFeeStr); | |||||
| WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr); | |||||
| /** | /** | ||||
| * 免费券订单接口 | * 免费券订单接口 | ||||
| @@ -55,7 +55,7 @@ public interface WxOrderService { | |||||
| * @param couponId | * @param couponId | ||||
| * @return WxOrder | * @return WxOrder | ||||
| */ | */ | ||||
| WxOrder sendUserFreeCoupon(Long userId, Long couponId); | |||||
| WxOrder saveFreeCouponOrder(Long userId, Long couponId); | |||||
| /** | /** | ||||
| * 免费券订单接口 | * 免费券订单接口 | ||||
| @@ -70,7 +70,7 @@ public interface WxOrderService { | |||||
| * @param updateOrder | * @param updateOrder | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| int orderSuccess(WxOrder updateOrder); | |||||
| int couponOrderSuccess(WxOrder updateOrder); | |||||
| /** | /** | ||||
| * microPayOrderSuccess 刷卡支付成功 | * microPayOrderSuccess 刷卡支付成功 | ||||
| @@ -121,10 +121,10 @@ public interface WxOrderService { | |||||
| PageInfo<WxOrderCVo> listCUserVoAsPage(WxOrder record, Integer pageIndex, Integer pageSize); | |||||
| PageInfo<WxOrderCouponVo> listCUserVoAsPage(WxOrder record, Integer pageIndex, Integer pageSize); | |||||
| WxOrderCVo detailCUserVo(WxOrder record); | |||||
| WxOrderCouponVo detailCUserVo(WxOrder record); | |||||
| void stockBack(WxOrder updateOrder); | void stockBack(WxOrder updateOrder); | ||||
| @@ -39,16 +39,10 @@ public interface WxProfitSharingOrderService { | |||||
| */ | */ | ||||
| void deleteById(Long id); | void deleteById(Long id); | ||||
| /** | |||||
| * 临时测试 | |||||
| */ | |||||
| public void test(); | |||||
| /** | /** | ||||
| * 创建分账订单 | * 创建分账订单 | ||||
| */ | */ | ||||
| public ResultData createSharingOrder(WxPayOrder wxPayOrder); | |||||
| public ResultData createSharingOrder(WxPayOrder wxPayOrder, Long merchantId); | |||||
| /** | /** | ||||
| * 查询分账订单 | * 查询分账订单 | ||||
| @@ -5,8 +5,9 @@ import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.WxAppinfo; | import com.iformall.domain.po.WxAppinfo; | ||||
| import com.iformall.domain.po.WxRefundOrder; | import com.iformall.domain.po.WxRefundOrder; | ||||
| import com.iformall.enums.EnumPayType; | |||||
| import com.iformall.enums.EnumPayWay; | import com.iformall.enums.EnumPayWay; | ||||
| import com.iformall.enums.EnumRefundWay; | |||||
| public interface WxRefundOrderService { | public interface WxRefundOrderService { | ||||
| @@ -15,22 +16,22 @@ public interface WxRefundOrderService { | |||||
| * @param isReal | * @param isReal | ||||
| * @param appInfo | * @param appInfo | ||||
| * @param couponOrderId 券包Id | * @param couponOrderId 券包Id | ||||
| * @param refundWay 退款来源 | |||||
| * @param payType 退款来源 | |||||
| * @param bUserId b端退款Id,auto,admin,self可为null | * @param bUserId b端退款Id,auto,admin,self可为null | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumRefundWay refundWay, Long bUserId); | |||||
| ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId); | |||||
| /** | /** | ||||
| * 创建退款订单 | * 创建退款订单 | ||||
| * @param isReal | * @param isReal | ||||
| * @param appInfo | * @param appInfo | ||||
| * @param orderId 订单Id | * @param orderId 订单Id | ||||
| * @param refundWay 退款来源 | |||||
| * @param payType 退款来源 | |||||
| * @param bUserId b端退款Id,auto,admin,self可为null | * @param bUserId b端退款Id,auto,admin,self可为null | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| ResultData createRefundOrderFromMicroPay(boolean isReal, WxAppinfo appInfo, Long orderId, EnumRefundWay refundWay, Long bUserId); | |||||
| ResultData createRefundOrderFromMicroPay(boolean isReal, WxAppinfo appInfo, Long orderId, EnumPayType payType, Long bUserId); | |||||
| /** | /** | ||||
| * 退款订单查询 | * 退款订单查询 | ||||
| @@ -52,6 +52,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Autowired | @Autowired | ||||
| WxMerchantMapper wxMerchantMapper; | WxMerchantMapper wxMerchantMapper; | ||||
| @Autowired | |||||
| WxCouponMerchantMapper wxCouponMerchantMapper; | |||||
| @Autowired | @Autowired | ||||
| WxMerchantBUserMapper wxMerchantBUserMapper; | WxMerchantBUserMapper wxMerchantBUserMapper; | ||||
| @@ -324,12 +327,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | ||||
| } | } | ||||
| WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); | |||||
| if (!wxOrder.getMerchantId().equals(wxMerchantBUser.getMerchantId())) { | |||||
| logger.error("券: couponMerchantId-" + wxOrder.getMerchantId() + "核销: couponMerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(wxCouponOrder.getCouponId()); | |||||
| if (wxCoupon == null) { | |||||
| logger.error("券: coupon-" + wxCoupon.getId() + "不存在" + "couponOrder-" + wxCouponOrder.getId()); | |||||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | ||||
| }else { | |||||
| WxCouponMerchant wxCouponMerchant = new WxCouponMerchant(); | |||||
| wxCouponMerchant.setCouponId(wxCoupon.getId()); | |||||
| wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); | |||||
| List<WxCouponMerchant> couponMerchantList = wxCouponMerchantMapper.findList(wxCouponMerchant); | |||||
| if (!couponMerchantList.stream().anyMatch(cm->cm.getMerchantId().equals(wxMerchantBUser.getMerchantId()))){ | |||||
| logger.error("券: coupon-" + wxCoupon.getId() + "核销: couponMerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); | |||||
| } | |||||
| } | } | ||||
| if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_OVER_TIME.getCode()) { | if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_OVER_TIME.getCode()) { | ||||
| logger.error("已过期: couponOrder-" + wxCouponOrder.getId()); | logger.error("已过期: couponOrder-" + wxCouponOrder.getId()); | ||||
| throw new MallinkException(ErrorCode.COUPON_ORDER_IS_OVER_TIME); | throw new MallinkException(ErrorCode.COUPON_ORDER_IS_OVER_TIME); | ||||
| @@ -359,7 +372,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public void shareAfterVerify(WxCouponOrder couponOrder) { | |||||
| public void shareAfterVerify(WxCouponOrder couponOrder, Long merchantId) { | |||||
| // 微信分账 | // 微信分账 | ||||
| try { | try { | ||||
| WxPayOrder wxPayOrder = new WxPayOrder(); | WxPayOrder wxPayOrder = new WxPayOrder(); | ||||
| @@ -368,7 +381,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | ||||
| wxPayOrder = wxPayOrderMapper.selectOne(wxPayOrder); | wxPayOrder = wxPayOrderMapper.selectOne(wxPayOrder); | ||||
| if (wxPayOrder != null && wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) | if (wxPayOrder != null && wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) | ||||
| wxProfitSharingOrderService.createSharingOrder(wxPayOrder); | |||||
| wxProfitSharingOrderService.createSharingOrder(wxPayOrder, merchantId); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("微信分账: " + e.getMessage()); | logger.error("微信分账: " + e.getMessage()); | ||||
| } | } | ||||
| @@ -6,7 +6,7 @@ import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.vo.WxOrderCVo; | |||||
| import com.iformall.domain.vo.WxOrderCouponVo; | |||||
| import com.iformall.domain.vo.WxOrderPayVo; | import com.iformall.domain.vo.WxOrderPayVo; | ||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| @@ -157,8 +157,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| int countOrder = 0, countCouponOrder = 0; | int countOrder = 0, countCouponOrder = 0; | ||||
| WxOrder orderQ = new WxOrder(); | WxOrder orderQ = new WxOrder(); | ||||
| orderQ.setTenantId(user.getTenantId()); | orderQ.setTenantId(user.getTenantId()); | ||||
| orderQ.setCouponId(counpon.getId()); | |||||
| orderQ.setType(EnumOrderType.COUPON.getCode()); | |||||
| orderQ.setPorductId(counpon.getId()); | |||||
| orderQ.setType(EnumOrderType.COUPON.getCode()); | orderQ.setType(EnumOrderType.COUPON.getCode()); | ||||
| orderQ.setCUserId(user.getId()); | orderQ.setCUserId(user.getId()); | ||||
| orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | orderQ.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | ||||
| @@ -249,7 +248,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| public void stockBack(WxOrder updateOrder) { | public void stockBack(WxOrder updateOrder) { | ||||
| // 已取消/已退款,库存加1 | // 已取消/已退款,库存加1 | ||||
| // 获取订单相关coupon | // 获取订单相关coupon | ||||
| Long couponId = updateOrder.getCouponId(); | |||||
| Long couponId = updateOrder.getPorductId(); | |||||
| String couponIdStr = "" + couponId; | String couponIdStr = "" + couponId; | ||||
| //加锁 | //加锁 | ||||
| long time = System.currentTimeMillis() + RedisLock.TIMEOUT; | long time = System.currentTimeMillis() + RedisLock.TIMEOUT; | ||||
| @@ -286,7 +285,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public WxOrder saveOrder(WxCUser user, Long couponChannelId, Long couponId) { | |||||
| public WxOrder saveCouponOrder(WxCUser user, Long couponChannelId, Long couponId) { | |||||
| // 检查用户 | // 检查用户 | ||||
| if (user == null) { | if (user == null) { | ||||
| logger.error("用户不存在"); | logger.error("用户不存在"); | ||||
| @@ -340,11 +339,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| record.setId(orderNumber); | record.setId(orderNumber); | ||||
| record.setTenantId(user.getTenantId()); | record.setTenantId(user.getTenantId()); | ||||
| record.setOrderNumber(orderNumber); | record.setOrderNumber(orderNumber); | ||||
| record.setCouponId(couponId); | |||||
| record.setType(EnumOrderType.COUPON.getCode()); | |||||
| record.setPorductId(couponId); | |||||
| record.setType(EnumOrderType.COUPON.getCode()); | record.setType(EnumOrderType.COUPON.getCode()); | ||||
| record.setCUserId(user.getId()); | record.setCUserId(user.getId()); | ||||
| record.setMerchantId(coupon.getMerchantId()); | |||||
| record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | ||||
| record.setPayment(payment); | record.setPayment(payment); | ||||
| record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | ||||
| @@ -376,7 +373,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public WxOrder saveMicroOrder(WxMerchantBUser user, String totalFeeStr) { | |||||
| public WxOrder saveMicroPayOrder(WxMerchantBUser user, String totalFeeStr) { | |||||
| // 检查用户 | // 检查用户 | ||||
| if (user == null) { | if (user == null) { | ||||
| logger.error("用户不存在"); | logger.error("用户不存在"); | ||||
| @@ -413,8 +410,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| record.setTenantId(user.getTenantId()); | record.setTenantId(user.getTenantId()); | ||||
| record.setOrderNumber(orderNumber); | record.setOrderNumber(orderNumber); | ||||
| record.setType(EnumOrderType.MICROPAY.getCode()); | record.setType(EnumOrderType.MICROPAY.getCode()); | ||||
| record.setBUserId(user.getId()); | |||||
| record.setMerchantId(user.getMerchantId()); | |||||
| record.setPorductId(user.getId()); | |||||
| record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | ||||
| record.setPayment(payment); | record.setPayment(payment); | ||||
| record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_PAYMENT.getCode()); | ||||
| @@ -470,7 +466,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| WxCouponOrder couponOrder = new WxCouponOrder(); | WxCouponOrder couponOrder = new WxCouponOrder(); | ||||
| couponOrder.setId(idWorker.nextId()); | couponOrder.setId(idWorker.nextId()); | ||||
| couponOrder.setTenantId(user.getTenantId()); | couponOrder.setTenantId(user.getTenantId()); | ||||
| couponOrder.setCouponId(order.getCouponId()); | |||||
| couponOrder.setCouponId(order.getPorductId()); | |||||
| couponOrder.setCUserId(user.getId()); | couponOrder.setCUserId(user.getId()); | ||||
| couponOrder.setOrderId(order.getOrderNumber()); | couponOrder.setOrderId(order.getOrderNumber()); | ||||
| couponOrder.setExpiredTime(valid_date); | couponOrder.setExpiredTime(valid_date); | ||||
| @@ -487,7 +483,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public WxOrder sendUserFreeCoupon(Long userId, Long couponId) { | |||||
| public WxOrder saveFreeCouponOrder(Long userId, Long couponId) { | |||||
| // check 用户状态 | // check 用户状态 | ||||
| WxCUser user = null; | WxCUser user = null; | ||||
| try { | try { | ||||
| @@ -531,10 +527,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| record.setId(orderNumber); | record.setId(orderNumber); | ||||
| record.setTenantId(user.getTenantId()); | record.setTenantId(user.getTenantId()); | ||||
| record.setOrderNumber(orderNumber); | record.setOrderNumber(orderNumber); | ||||
| record.setCouponId(couponId); | |||||
| record.setPorductId(couponId); | |||||
| record.setType(EnumOrderType.COUPON.getCode()); | record.setType(EnumOrderType.COUPON.getCode()); | ||||
| record.setCUserId(user.getId()); | record.setCUserId(user.getId()); | ||||
| record.setMerchantId(coupon.getMerchantId()); | |||||
| record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | ||||
| record.setPayment(payment); | record.setPayment(payment); | ||||
| record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); | record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); | ||||
| @@ -611,10 +606,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| record.setId(orderNumber); | record.setId(orderNumber); | ||||
| record.setTenantId(user.getTenantId()); | record.setTenantId(user.getTenantId()); | ||||
| record.setOrderNumber(orderNumber); | record.setOrderNumber(orderNumber); | ||||
| record.setCouponId(couponId); | |||||
| record.setPorductId(couponId); | |||||
| record.setType(EnumOrderType.COUPON.getCode()); | record.setType(EnumOrderType.COUPON.getCode()); | ||||
| record.setCUserId(user.getId()); | record.setCUserId(user.getId()); | ||||
| record.setMerchantId(coupon.getMerchantId()); | |||||
| record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | record.setPaymentType(EnumPayType.PAY_PAYMENT.getCode()); | ||||
| record.setPayment(payment); | record.setPayment(payment); | ||||
| record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); | record.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); | ||||
| @@ -648,15 +642,15 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public int orderSuccess(WxOrder updateOrder) { | |||||
| public int couponOrderSuccess(WxOrder updateOrder) { | |||||
| Date currentDate = new Date(); | Date currentDate = new Date(); | ||||
| WxCoupon coupon = wxCouponMapper.selectByPrimaryKey(updateOrder.getCouponId()); | |||||
| WxCoupon coupon = wxCouponMapper.selectByPrimaryKey(updateOrder.getPorductId()); | |||||
| if (coupon == null) { | if (coupon == null) { | ||||
| logger.error("券不存在, couponId: " + updateOrder.getCouponId()); | |||||
| logger.error("券不存在, couponId: " + updateOrder.getPorductId()); | |||||
| throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); | throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); | ||||
| } | } | ||||
| if (coupon.getStatus() == EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()) { | if (coupon.getStatus() == EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()) { | ||||
| logger.error("券已下架, couponId: " + updateOrder.getCouponId()); | |||||
| logger.error("券已下架, couponId: " + updateOrder.getPorductId()); | |||||
| throw new MallinkException(ErrorCode.COUPON_IS_TAKE_OFF); | throw new MallinkException(ErrorCode.COUPON_IS_TAKE_OFF); | ||||
| } | } | ||||
| WxCUser user = wxCUserMapper.selectByPrimaryKey(updateOrder.getCUserId()); | WxCUser user = wxCUserMapper.selectByPrimaryKey(updateOrder.getCUserId()); | ||||
| @@ -703,9 +697,9 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY); | throw new MallinkException(ErrorCode.USER_IS_EMPTY); | ||||
| } | } | ||||
| // B端用户 | // B端用户 | ||||
| WxMerchantBUser bUser = wxMerchantBUserMapper.selectByPrimaryKey(updateOrder.getBUserId()); | |||||
| WxMerchantBUser bUser = wxMerchantBUserMapper.selectByPrimaryKey(updateOrder.getPorductId()); | |||||
| if(bUser == null) { | if(bUser == null) { | ||||
| logger.error("B端用户不存在, bUserId: " + updateOrder.getBUserId()); | |||||
| logger.error("B端用户不存在, bUserId: " + updateOrder.getPorductId()); | |||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY); | throw new MallinkException(ErrorCode.USER_IS_EMPTY); | ||||
| } | } | ||||
| // 基于B端User查找merchant | // 基于B端User查找merchant | ||||
| @@ -826,12 +820,12 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public PageInfo<WxOrderCVo> listCUserVoAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { | |||||
| public PageInfo<WxOrderCouponVo> listCUserVoAsPage(WxOrder record, Integer pageIndex, Integer pageSize) { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findListOfCUser(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxOrderMapper.findListOfCUser(record)); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public WxOrderCVo detailCUserVo(WxOrder record) { | |||||
| public WxOrderCouponVo detailCUserVo(WxOrder record) { | |||||
| return wxOrderMapper.selectDetailOfCUser(record); | return wxOrderMapper.selectDetailOfCUser(record); | ||||
| } | } | ||||
| @@ -846,9 +840,14 @@ public class WxOrderServiceImpl implements WxOrderService { | |||||
| wxPayOrder.setOrderId(orderId); | wxPayOrder.setOrderId(orderId); | ||||
| wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); | ||||
| wxPayOrder = wxPayOrderMapper.selectOne(wxPayOrder); | wxPayOrder = wxPayOrderMapper.selectOne(wxPayOrder); | ||||
| if (wxPayOrder != null && | |||||
| WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(orderId); | |||||
| WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(wxOrder.getPorductId()); | |||||
| if (wxPayOrder != null && wxMerchantBUser != null && | |||||
| wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) { | wxPayOrder.getShare().equals(EnumPayShare.YES.getCode())) { | ||||
| wxProfitSharingOrderService.createSharingOrder(wxPayOrder); | |||||
| wxProfitSharingOrderService.createSharingOrder(wxPayOrder, wxMerchantBUser.getMerchantId()); | |||||
| } else { | |||||
| logger.error("微信分账: 未找到payorder or merchant at orderid-" + orderId); | |||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("微信分账: " + e.getMessage()); | logger.error("微信分账: " + e.getMessage()); | ||||
| @@ -123,6 +123,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| if (payAccount.getShare().intValue() > 0) { | if (payAccount.getShare().intValue() > 0) { | ||||
| isShare = EnumPayShare.YES; | isShare = EnumPayShare.YES; | ||||
| } | } | ||||
| /*设置进入分账,待分账时再判断是否存在对应的分账账户 | |||||
| // 1.5 check 分账 receive | // 1.5 check 分账 receive | ||||
| if (isShare == EnumPayShare.YES) { | if (isShare == EnumPayShare.YES) { | ||||
| WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); | WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); | ||||
| @@ -134,6 +136,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| isShare = EnumPayShare.NO; | isShare = EnumPayShare.NO; | ||||
| } | } | ||||
| } | } | ||||
| */ | |||||
| // 2. check 是否有支付订单 | // 2. check 是否有支付订单 | ||||
| Date currentDate = new Date(); | Date currentDate = new Date(); | ||||
| record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); | record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); | ||||
| @@ -385,6 +389,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| if (payAccount.getShare().intValue() > 0) { | if (payAccount.getShare().intValue() > 0) { | ||||
| isShare = EnumPayShare.YES; | isShare = EnumPayShare.YES; | ||||
| } | } | ||||
| /*进入分账,待分账时再判断是否存在对应的分账账户 | |||||
| // 1.5 check 分账 receive | // 1.5 check 分账 receive | ||||
| if (isShare == EnumPayShare.YES) { | if (isShare == EnumPayShare.YES) { | ||||
| WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); | WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); | ||||
| @@ -396,6 +402,8 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| isShare = EnumPayShare.NO; | isShare = EnumPayShare.NO; | ||||
| } | } | ||||
| } | } | ||||
| */ | |||||
| // 2. check 是否有支付订单 | // 2. check 是否有支付订单 | ||||
| Date currentDate = new Date(); | Date currentDate = new Date(); | ||||
| record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); | record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_WAIT.getCode()); | ||||
| @@ -1176,7 +1184,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| // 修改订单状态 | // 修改订单状态 | ||||
| try { | try { | ||||
| int _count = wxOrderService.orderSuccess(order); | |||||
| int _count = wxOrderService.couponOrderSuccess(order); | |||||
| if (_count > 1) { | if (_count > 1) { | ||||
| throw new MallinkException(ErrorCode.ORDER_IS_FAIL); | throw new MallinkException(ErrorCode.ORDER_IS_FAIL); | ||||
| } | } | ||||
| @@ -1407,7 +1415,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| // 修改订单状态 | // 修改订单状态 | ||||
| if (record.getPayOrderStatus() == EnumPayStatus.PAY_STATUS_SUCCESS.getCode()) { | if (record.getPayOrderStatus() == EnumPayStatus.PAY_STATUS_SUCCESS.getCode()) { | ||||
| try { | try { | ||||
| int _count = wxOrderService.orderSuccess(order); | |||||
| int _count = wxOrderService.couponOrderSuccess(order); | |||||
| if (_count > 1) { | if (_count > 1) { | ||||
| throw new MallinkException(ErrorCode.ORDER_IS_FAIL); | throw new MallinkException(ErrorCode.ORDER_IS_FAIL); | ||||
| } | } | ||||
| @@ -121,11 +121,6 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| @Autowired | @Autowired | ||||
| WxPayOrderMapper wxPayOrderMapper; | WxPayOrderMapper wxPayOrderMapper; | ||||
| @Override | |||||
| public void test() { | |||||
| querySharingOrder(wxPayOrderMapper.selectByPrimaryKey(new Long(220465483168612352L))); | |||||
| } | |||||
| private WxAppinfo getAppinfo(WxPayOrder wxPayOrder) { | private WxAppinfo getAppinfo(WxPayOrder wxPayOrder) { | ||||
| WxAppinfo wxAppinfo = new WxAppinfo(); | WxAppinfo wxAppinfo = new WxAppinfo(); | ||||
| @@ -143,10 +138,9 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| @Override | @Override | ||||
| @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) | @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) | ||||
| public ResultData createSharingOrder(WxPayOrder wxPayOrder) { | |||||
| public ResultData createSharingOrder(WxPayOrder wxPayOrder, Long merchantId) { | |||||
| final IdWorker idworker = IdWorker.get(); | final IdWorker idworker = IdWorker.get(); | ||||
| WxAppinfo appInfo = getAppinfo(wxPayOrder); | WxAppinfo appInfo = getAppinfo(wxPayOrder); | ||||
| WxPayAccount payAccount = wxPayAccountMapper.selectByPrimaryKey(appInfo.getPayId()); | WxPayAccount payAccount = wxPayAccountMapper.selectByPrimaryKey(appInfo.getPayId()); | ||||
| @@ -165,7 +159,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| record.setTransactionId(wxPayOrder.getTransactionId()); | record.setTransactionId(wxPayOrder.getTransactionId()); | ||||
| record.setOrderId(wxPayOrder.getId()); | record.setOrderId(wxPayOrder.getId()); | ||||
| record.setPayAmount(wxPayOrder.getPayAmount()); | record.setPayAmount(wxPayOrder.getPayAmount()); | ||||
| record.setMerchantId(wxOrder.getMerchantId()); | |||||
| record.setMerchantId(merchantId); | |||||
| record.setSharingStatus(EnumProfitSharingStatus.PROFIT_SHARING_UNKNOWN.getCode()); | record.setSharingStatus(EnumProfitSharingStatus.PROFIT_SHARING_UNKNOWN.getCode()); | ||||
| record.setCreateTime(currentDate); | record.setCreateTime(currentDate); | ||||
| record.setUpdateTime(currentDate); | record.setUpdateTime(currentDate); | ||||
| @@ -187,7 +181,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ | |||||
| //添加分账接受方 | //添加分账接受方 | ||||
| WxProfitSharingReceiver wxProfitSharingReceiver = new WxProfitSharingReceiver(); | WxProfitSharingReceiver wxProfitSharingReceiver = new WxProfitSharingReceiver(); | ||||
| wxProfitSharingReceiver.setTenantId(wxOrder.getTenantId()); | wxProfitSharingReceiver.setTenantId(wxOrder.getTenantId()); | ||||
| wxProfitSharingReceiver.setMerchantId(wxOrder.getMerchantId()); | |||||
| wxProfitSharingReceiver.setMerchantId(merchantId); | |||||
| wxProfitSharingReceiver.setSharingType(EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT.getCode()); | wxProfitSharingReceiver.setSharingType(EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT.getCode()); | ||||
| wxProfitSharingReceiver.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); | wxProfitSharingReceiver.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); | ||||
| List<WxProfitSharingReceiver> wxProfitSharingReceiverList = wxProfitSharingReceiverMapper.findList(wxProfitSharingReceiver); | List<WxProfitSharingReceiver> wxProfitSharingReceiverList = wxProfitSharingReceiverMapper.findList(wxProfitSharingReceiver); | ||||
| @@ -69,6 +69,9 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| @Autowired | @Autowired | ||||
| WxMerchantMapper wxMerchantMapper; | WxMerchantMapper wxMerchantMapper; | ||||
| @Autowired | |||||
| WxCouponMerchantMapper wxCouponMerchantMapper; | |||||
| @Autowired | @Autowired | ||||
| WxCUserMapper wxCUserMapper; | WxCUserMapper wxCUserMapper; | ||||
| @@ -229,9 +232,38 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| " }\n" + | " }\n" + | ||||
| "}"); | "}"); | ||||
| private boolean isMerchantOrder(WxOrder wxOrder, Long merchantId) { | |||||
| if (wxOrder.getType().equals(EnumOrderType.COUPON.getCode())){ | |||||
| WxCoupon wxCoupon = wxCouponMapper.selectByPrimaryKey(wxOrder.getPorductId()); | |||||
| if (wxCoupon != null) { | |||||
| WxCouponMerchant wxCouponMerchant = new WxCouponMerchant(); | |||||
| wxCouponMerchant.setCouponId(wxCoupon.getId()); | |||||
| wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); | |||||
| List<WxCouponMerchant> couponMerchantList = wxCouponMerchantMapper.findList(wxCouponMerchant); | |||||
| if (couponMerchantList.stream().anyMatch(cm->cm.getMerchantId().equals(merchantId))){ | |||||
| return true; | |||||
| } | |||||
| } | |||||
| }else if(wxOrder.getType().equals(EnumOrderType.MICROPAY.getCode())) { | |||||
| WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(wxOrder.getPorductId()); | |||||
| if (wxMerchantBUser != null && wxMerchantBUser.equals(merchantId)) { | |||||
| return true; | |||||
| } | |||||
| }else if(wxOrder.getType().equals(EnumOrderType.NATIVEPAY.getCode())) { | |||||
| }else if(wxOrder.getType().equals(EnumOrderType.PREPAIDCARD.getCode())) { | |||||
| } | |||||
| return false; | |||||
| } | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumRefundWay refundWay, Long bUserId) { | |||||
| public ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId) { | |||||
| WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); | WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); | ||||
| if (wxCouponOrder == null) { | if (wxCouponOrder == null) { | ||||
| logger.error("券ID不存在:" + couponOrderId); | logger.error("券ID不存在:" + couponOrderId); | ||||
| @@ -240,7 +272,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); | WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(wxCouponOrder.getOrderId()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| logger.info("B端发起退款: bUserId-" + bUserId); | logger.info("B端发起退款: bUserId-" + bUserId); | ||||
| if (bUserId == null || bUserId == 0) { | if (bUserId == null || bUserId == 0) { | ||||
| logger.error("B端用户不存在:" + bUserId); | logger.error("B端用户不存在:" + bUserId); | ||||
| @@ -252,13 +284,13 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| logger.error("操作员ID不存在:" + bUserId); | logger.error("操作员ID不存在:" + bUserId); | ||||
| throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_IS_NULL); | throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_IS_NULL); | ||||
| } | } | ||||
| if (!wxOrder.getMerchantId().equals(wxMerchantBUser.getMerchantId())) { | |||||
| logger.error("券: couponMerchantId-" + wxOrder.getMerchantId() + "退款: couponMerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| if (isMerchantOrder(wxOrder, wxMerchantBUser.getMerchantId())) { | |||||
| logger.error("订单: productId-" + wxOrder.getPorductId() + "退款: couponMerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_NOT_EQUAL); | throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_NOT_EQUAL); | ||||
| } | } | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| logger.info("ADMIN端发起退款: bUserId-" + bUserId); | logger.info("ADMIN端发起退款: bUserId-" + bUserId); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| logger.info("auto端发起退款"); | logger.info("auto端发起退款"); | ||||
| } else { | } else { | ||||
| logger.info("自己发起退款: cUserId-" + bUserId); | logger.info("自己发起退款: cUserId-" + bUserId); | ||||
| @@ -290,20 +322,13 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| rOrder.setId(refundOrderId); | rOrder.setId(refundOrderId); | ||||
| rOrder.setTenantId(appInfo.getTenantId()); | rOrder.setTenantId(appInfo.getTenantId()); | ||||
| rOrder.setOrderNumber(wxOrder.getOrderNumber()); // 退款订单填写支付订单orderNumber | rOrder.setOrderNumber(wxOrder.getOrderNumber()); // 退款订单填写支付订单orderNumber | ||||
| rOrder.setCouponId(wxOrder.getCouponId()); | |||||
| rOrder.setPorductId(wxOrder.getPorductId()); | |||||
| rOrder.setType(EnumOrderType.COUPON.getCode()); | rOrder.setType(EnumOrderType.COUPON.getCode()); | ||||
| rOrder.setCUserId(wxOrder.getCUserId()); | rOrder.setCUserId(wxOrder.getCUserId()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| rOrder.setBUserId(bUserId); | |||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| rOrder.setBUserId(0L); // 自动退款, 设置bUserId为0 | |||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| rOrder.setBUserId(1L); // ADMIN发起退款, 设置bUserId为1 | |||||
| } else { | |||||
| rOrder.setBUserId(2L); // 自己发起退款, 设置bUserId为2 | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| rOrder.setPorductId(bUserId); //B端发起退款后存B端用户ID在此 | |||||
| } | } | ||||
| rOrder.setMerchantId(wxOrder.getMerchantId()); | |||||
| rOrder.setPaymentType(EnumPayType.PAY_REFUND.getCode()); | |||||
| rOrder.setPaymentType(payType.getCode()); | |||||
| rOrder.setPayment(wxOrder.getPayment()); | rOrder.setPayment(wxOrder.getPayment()); | ||||
| rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); | rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); | ||||
| rOrder.setCreateDate(currentDate); | rOrder.setCreateDate(currentDate); | ||||
| @@ -317,14 +342,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| // 更改 couponOrder 状态 | // 更改 couponOrder 状态 | ||||
| wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 | wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxCouponOrder.setBUserId(bUserId); | wxCouponOrder.setBUserId(bUserId); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| wxCouponOrder.setBUserId(0L); // 自动退款, 设置bUserId为0 | |||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| wxCouponOrder.setBUserId(1L); // ADMIN发起退款, 设置bUserId为1 | |||||
| } else { | |||||
| wxCouponOrder.setBUserId(2L); // 自己发起退款, 设置bUserId为2 | |||||
| } else{ | |||||
| wxCouponOrder.setBUserId(payType.getCode().longValue());//其他退款模式将退款方式存入BUSERID | |||||
| } | } | ||||
| wxCouponOrder.setUpdateDate(currentDate); | wxCouponOrder.setUpdateDate(currentDate); | ||||
| try { | try { | ||||
| @@ -424,11 +445,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderP.setOut_refund_no(out_refund_id); | wxRefundOrderP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderP.setTotal_fee(record.getTotalFee()); | wxRefundOrderP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderP.setRefund_fee(record.getRefundFee()); | wxRefundOrderP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("B端商户退款"); | wxRefundOrderP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("管理端商户退款"); | wxRefundOrderP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("超期自动退款"); | wxRefundOrderP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderP.setRefund_desc("用户自己退款"); | wxRefundOrderP.setRefund_desc("用户自己退款"); | ||||
| @@ -502,11 +523,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderSP.setOut_refund_no(out_refund_id); | wxRefundOrderSP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderSP.setTotal_fee(record.getTotalFee()); | wxRefundOrderSP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderSP.setRefund_fee(record.getRefundFee()); | wxRefundOrderSP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("B端商户退款"); | wxRefundOrderSP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("管理端商户退款"); | wxRefundOrderSP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("超期自动退款"); | wxRefundOrderSP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderSP.setRefund_desc("用户自己退款"); | wxRefundOrderSP.setRefund_desc("用户自己退款"); | ||||
| @@ -581,11 +602,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderP.setOut_refund_no(out_refund_id); | wxRefundOrderP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderP.setTotal_fee(record.getTotalFee()); | wxRefundOrderP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderP.setRefund_fee(record.getRefundFee()); | wxRefundOrderP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("B端商户退款"); | wxRefundOrderP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("管理端商户退款"); | wxRefundOrderP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("超期自动退款"); | wxRefundOrderP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderP.setRefund_desc("用户自己退款"); | wxRefundOrderP.setRefund_desc("用户自己退款"); | ||||
| @@ -612,10 +633,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| @Override | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public ResultData createRefundOrderFromMicroPay(boolean isReal, WxAppinfo appInfo, Long orderId, EnumRefundWay refundWay, Long bUserId) { | |||||
| public ResultData createRefundOrderFromMicroPay(boolean isReal, WxAppinfo appInfo, Long orderId, EnumPayType payType, Long bUserId) { | |||||
| WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(orderId); | WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(orderId); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| logger.info("B端发起退款: bUserId-" + bUserId); | logger.info("B端发起退款: bUserId-" + bUserId); | ||||
| if (bUserId == null || bUserId == 0) { | if (bUserId == null || bUserId == 0) { | ||||
| logger.error("B端用户不存在:" + bUserId); | logger.error("B端用户不存在:" + bUserId); | ||||
| @@ -627,13 +648,13 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| logger.error("操作员ID不存在:" + bUserId); | logger.error("操作员ID不存在:" + bUserId); | ||||
| throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_IS_NULL); | throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_IS_NULL); | ||||
| } | } | ||||
| if (!wxOrder.getMerchantId().equals(wxMerchantBUser.getMerchantId())) { | |||||
| logger.error("券: order MerchantId-" + wxOrder.getMerchantId() + "发起用户: B端MerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| if (isMerchantOrder(wxOrder, wxMerchantBUser.getMerchantId())) { | |||||
| logger.error("订单: productId-" + wxOrder.getPorductId() + "退款: MerchantId-" + wxMerchantBUser.getMerchantId()); | |||||
| throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_NOT_EQUAL); | throw new MallinkException(ErrorCode.REFUND_ORDER_BUSER_NOT_EQUAL); | ||||
| } | } | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| logger.info("ADMIN端发起退款: bUserId-" + bUserId); | logger.info("ADMIN端发起退款: bUserId-" + bUserId); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| logger.info("auto端发起退款"); | logger.info("auto端发起退款"); | ||||
| } else { | } else { | ||||
| logger.info("自己发起退款: cUserId-" + bUserId); | logger.info("自己发起退款: cUserId-" + bUserId); | ||||
| @@ -654,17 +675,10 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| rOrder.setOrderNumber(wxOrder.getOrderNumber()); // 退款订单填写支付订单orderNumber | rOrder.setOrderNumber(wxOrder.getOrderNumber()); // 退款订单填写支付订单orderNumber | ||||
| rOrder.setType(EnumOrderType.MICROPAY.getCode()); | rOrder.setType(EnumOrderType.MICROPAY.getCode()); | ||||
| rOrder.setCUserId(wxOrder.getCUserId()); | rOrder.setCUserId(wxOrder.getCUserId()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| rOrder.setBUserId(bUserId); | |||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| rOrder.setBUserId(0L); // 自动退款, 设置bUserId为0 | |||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| rOrder.setBUserId(1L); // ADMIN发起退款, 设置bUserId为1 | |||||
| } else { | |||||
| rOrder.setBUserId(2L); // 自己发起退款, 设置bUserId为2 | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| rOrder.setPorductId(bUserId); //B端发起退款后存B端用户ID在此 | |||||
| } | } | ||||
| rOrder.setMerchantId(wxOrder.getMerchantId()); | |||||
| rOrder.setPaymentType(EnumPayType.PAY_REFUND.getCode()); | |||||
| rOrder.setPaymentType(payType.getCode()); | |||||
| rOrder.setPayment(wxOrder.getPayment()); | rOrder.setPayment(wxOrder.getPayment()); | ||||
| rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); | rOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); | ||||
| rOrder.setCreateDate(currentDate); | rOrder.setCreateDate(currentDate); | ||||
| @@ -766,11 +780,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderP.setOut_refund_no(out_refund_id); | wxRefundOrderP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderP.setTotal_fee(record.getTotalFee()); | wxRefundOrderP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderP.setRefund_fee(record.getRefundFee()); | wxRefundOrderP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("B端商户退款"); | wxRefundOrderP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("管理端商户退款"); | wxRefundOrderP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("超期自动退款"); | wxRefundOrderP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderP.setRefund_desc("用户自己退款"); | wxRefundOrderP.setRefund_desc("用户自己退款"); | ||||
| @@ -844,11 +858,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderSP.setOut_refund_no(out_refund_id); | wxRefundOrderSP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderSP.setTotal_fee(record.getTotalFee()); | wxRefundOrderSP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderSP.setRefund_fee(record.getRefundFee()); | wxRefundOrderSP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("B端商户退款"); | wxRefundOrderSP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("管理端商户退款"); | wxRefundOrderSP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderSP.setRefund_desc("超期自动退款"); | wxRefundOrderSP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderSP.setRefund_desc("用户自己退款"); | wxRefundOrderSP.setRefund_desc("用户自己退款"); | ||||
| @@ -923,11 +937,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { | |||||
| wxRefundOrderP.setOut_refund_no(out_refund_id); | wxRefundOrderP.setOut_refund_no(out_refund_id); | ||||
| wxRefundOrderP.setTotal_fee(record.getTotalFee()); | wxRefundOrderP.setTotal_fee(record.getTotalFee()); | ||||
| wxRefundOrderP.setRefund_fee(record.getRefundFee()); | wxRefundOrderP.setRefund_fee(record.getRefundFee()); | ||||
| if (refundWay == EnumRefundWay.B) { | |||||
| if (payType == EnumPayType.PAY_B_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("B端商户退款"); | wxRefundOrderP.setRefund_desc("B端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.ADMIN) { | |||||
| } else if (payType == EnumPayType.PAY_ADMIN_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("管理端商户退款"); | wxRefundOrderP.setRefund_desc("管理端商户退款"); | ||||
| } else if (refundWay == EnumRefundWay.AUTO) { | |||||
| } else if (payType == EnumPayType.PAY_AUTO_REFUND) { | |||||
| wxRefundOrderP.setRefund_desc("超期自动退款"); | wxRefundOrderP.setRefund_desc("超期自动退款"); | ||||
| } else { | } else { | ||||
| wxRefundOrderP.setRefund_desc("用户自己退款"); | wxRefundOrderP.setRefund_desc("用户自己退款"); | ||||
| @@ -6,10 +6,8 @@ | |||||
| <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | ||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | ||||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | ||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="coupon_id" jdbcType="BIGINT" property="couponId"/> | |||||
| <result column="product_id" jdbcType="BIGINT" property="productId"/> | |||||
| <result column="type" jdbcType="TINYINT" property="type"/> | <result column="type" jdbcType="TINYINT" property="type"/> | ||||
| <result column="b_user_id" jdbcType="BIGINT" property="bUserId"/> | |||||
| <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | ||||
| <result column="payment" jdbcType="INTEGER" property="payment"/> | <result column="payment" jdbcType="INTEGER" property="payment"/> | ||||
| <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | ||||
| @@ -20,7 +18,7 @@ | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`order_number`,`tenant_id`,`c_user_id`,`merchant_id`,`coupon_id`,`type`,`b_user_id`,`payment_type`,`payment`,`payment_time`,`order_status`,`create_date`,`update_date`,`detail` | |||||
| `id`,`order_number`,`tenant_id`,`c_user_id`,`product_id`,`type`,`payment_type`,`payment`,`payment_time`,`order_status`,`create_date`,`update_date`,`detail` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -42,16 +40,8 @@ | |||||
| and `c_user_id` = #{cUserId} | and `c_user_id` = #{cUserId} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantId "> | |||||
| and `merchant_id` = #{merchantId} | |||||
| </if> | |||||
| <if test=" null != bUserId "> | |||||
| and `b_user_id` = #{bUserId} | |||||
| </if> | |||||
| <if test=" null != couponId "> | |||||
| and `coupon_id` = #{couponId} | |||||
| <if test=" null != productId "> | |||||
| and `product_id` = #{productId} | |||||
| </if> | </if> | ||||
| <if test=" null != type "> | <if test=" null != type "> | ||||
| @@ -115,8 +105,8 @@ | |||||
| <if test=" null != cUserId "> | <if test=" null != cUserId "> | ||||
| and `c_user_id` = #{cUserId} | and `c_user_id` = #{cUserId} | ||||
| </if> | </if> | ||||
| <if test=" null != couponId "> | |||||
| and `coupon_id` = #{couponId} | |||||
| <if test=" null != productId "> | |||||
| and `product_id` = #{productId} | |||||
| </if> | </if> | ||||
| <if test=" null != orderStatus "> | <if test=" null != orderStatus "> | ||||
| and `order_status` = #{orderStatus} | and `order_status` = #{orderStatus} | ||||
| @@ -142,29 +132,34 @@ | |||||
| <sql id="allCUserOrderListColumns"> | <sql id="allCUserOrderListColumns"> | ||||
| o.id,o.order_number,o.tenant_id,o.c_user_id,o.merchant_id,o.b_user_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date, | |||||
| o.id,o.order_number,o.tenant_id,o.c_user_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date, | |||||
| co.cover_img,co.title,co.sub_title,co.sale_price,co.use_price,co.price,co.unit, | co.cover_img,co.title,co.sub_title,co.sale_price,co.use_price,co.price,co.unit, | ||||
| </sql> | |||||
| <sql id="allCUserOrderListMerchantColumns"> | |||||
| m.name | m.name | ||||
| </sql> | </sql> | ||||
| <sql id="allCUserOrderDetailColumns"> | <sql id="allCUserOrderDetailColumns"> | ||||
| o.id,o.order_number,o.tenant_id,o.c_user_id,o.merchant_id,o.b_user_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date, | |||||
| o.id,o.order_number,o.tenant_id,o.c_user_id,o.product_id,o.payment_type,o.payment,o.payment_time,o.order_status,o.create_date,o.update_date, | |||||
| co.type,co.cover_img,co.title,co.sub_title,co.sale_price,co.use_price,co.price,co.unit,co.detail,co.remark, | co.type,co.cover_img,co.title,co.sub_title,co.sale_price,co.use_price,co.price,co.unit,co.detail,co.remark, | ||||
| c.id as coupon_order_id,c.coupon_order_status | |||||
| </sql> | |||||
| <sql id="allCUserOrderDetailMerchantColumns"> | |||||
| m.id, | |||||
| m.img_url,m.name,m.link_phone,m.status, | m.img_url,m.name,m.link_phone,m.status, | ||||
| s.addr,s.shop_number,s.baidu_poi, | s.addr,s.shop_number,s.baidu_poi, | ||||
| mb.building_name,mf.floor_name, | mb.building_name,mf.floor_name, | ||||
| c.id as coupon_order_id,c.coupon_order_status | |||||
| </sql> | </sql> | ||||
| <resultMap id="CVoResultMap" type="com.iformall.domain.vo.WxOrderCVo"> | |||||
| <resultMap id="CVoResultMap" type="com.iformall.domain.vo.WxOrderCouponVo"> | |||||
| <id column="id" jdbcType="BIGINT" property="id"/> | <id column="id" jdbcType="BIGINT" property="id"/> | ||||
| <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | ||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | ||||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | ||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="coupon_id" jdbcType="BIGINT" property="couponId"/> | |||||
| <result column="b_user_id" jdbcType="BIGINT" property="bUserId"/> | |||||
| <result column="product_id" jdbcType="BIGINT" property="productId"/> | |||||
| <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | ||||
| <result column="payment" jdbcType="INTEGER" property="payment"/> | <result column="payment" jdbcType="INTEGER" property="payment"/> | ||||
| <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | ||||
| @@ -186,6 +181,15 @@ | |||||
| <result column="coupon_order_id" jdbcType="BIGINT" property="couponOrderId"/> | <result column="coupon_order_id" jdbcType="BIGINT" property="couponOrderId"/> | ||||
| <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus"/> | <result column="coupon_order_status" jdbcType="INTEGER" property="couponOrderStatus"/> | ||||
| <collection property="merchantVoList" | |||||
| ofType="com.iformall.domain.vo.WxMerchantVo" | |||||
| column="coupon_id" | |||||
| select="com.iformall.mapper.WxOrderMapper.findMerchantList" > | |||||
| </collection> | |||||
| </resultMap> | |||||
| <resultMap id="CVoMerchantResultMap" type="com.iformall.domain.vo.WxMerchantVo"> | |||||
| <id column="id" jdbcType="BIGINT" property="id"/> | |||||
| <result column="img_url" jdbcType="VARCHAR" property="merchantImgUrl"/> | <result column="img_url" jdbcType="VARCHAR" property="merchantImgUrl"/> | ||||
| <result column="name" jdbcType="VARCHAR" property="merchantName"/> | <result column="name" jdbcType="VARCHAR" property="merchantName"/> | ||||
| <result column="link_phone" jdbcType="VARCHAR" property="merchantLinkPhone"/> | <result column="link_phone" jdbcType="VARCHAR" property="merchantLinkPhone"/> | ||||
| @@ -198,12 +202,23 @@ | |||||
| <result column="baidu_poi" jdbcType="VARCHAR" property="baiduPoi"/> | <result column="baidu_poi" jdbcType="VARCHAR" property="baiduPoi"/> | ||||
| </resultMap> | </resultMap> | ||||
| <select id="findMerchantList" parameterType="com.iformall.domain.vo.WxMerchantVo" resultMap="CVoMerchantResultMap"> | |||||
| select | |||||
| <include refid="allCUserOrderDetailMerchantColumns"/> | |||||
| from wx_coupon_merchant cm | |||||
| left join wx_merchant m on m.id = cm.merchant_id | |||||
| left join wx_merchant_shop ms on ms.merchant_id = m.id and ms.is_del = 0 | |||||
| left join wx_shop s on ms.shop_id = s.id | |||||
| left join wx_mall_building mb on s.building = mb.id | |||||
| left join wx_mall_floor mf on s.floor = mf.id | |||||
| where cm.product_id = #{productId} | |||||
| </select> | |||||
| <select id="findListOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="CVoResultMap"> | <select id="findListOfCUser" parameterType="com.iformall.domain.po.WxOrder" resultMap="CVoResultMap"> | ||||
| select | select | ||||
| <include refid="allCUserOrderListColumns"/> | <include refid="allCUserOrderListColumns"/> | ||||
| from wx_order o,wx_coupon co,wx_merchant m | from wx_order o,wx_coupon co,wx_merchant m | ||||
| where o.coupon_id = co.id | |||||
| where o.product_id = co.id | |||||
| and co.merchant_id = m.id | and co.merchant_id = m.id | ||||
| <if test="cUserId != null"> | <if test="cUserId != null"> | ||||
| and o.c_user_id = #{cUserId} | and o.c_user_id = #{cUserId} | ||||
| @@ -221,15 +236,9 @@ | |||||
| select | select | ||||
| <include refid="allCUserOrderDetailColumns"/> | <include refid="allCUserOrderDetailColumns"/> | ||||
| FROM wx_order o | FROM wx_order o | ||||
| left join wx_coupon co ON o.coupon_id = co.id | |||||
| left join wx_merchant m ON co.merchant_id = m.id | |||||
| left join wx_coupon co ON o.product_id = co.id | |||||
| left join wx_coupon_order c on o.id = c.order_id | left join wx_coupon_order c on o.id = c.order_id | ||||
| left join wx_merchant_shop ms on ms.merchant_id = m.id and ms.is_del = 0 | |||||
| left join wx_shop s on ms.shop_id = s.id | |||||
| left join wx_mall_building mb on s.building = mb.id | |||||
| left join wx_mall_floor mf on s.floor = mf.id | |||||
| where o.coupon_id = co.id | |||||
| and co.merchant_id = m.id | |||||
| where o.product_id = co.id | |||||
| <if test="cUserId != null"> | <if test="cUserId != null"> | ||||
| and o.c_user_id = #{cUserId} | and o.c_user_id = #{cUserId} | ||||
| </if> | </if> | ||||
| @@ -242,29 +251,38 @@ | |||||
| </select> | </select> | ||||
| <select id="dayMicroPayAmountList" parameterType="map" resultType="map"> | <select id="dayMicroPayAmountList" parameterType="map" resultType="map"> | ||||
| select count(*) as count, IFNULL(sum(payment), 0) as total_price | select count(*) as count, IFNULL(sum(payment), 0) as total_price | ||||
| from wx_order | from wx_order | ||||
| inner join wx_merchant_b_user bu on bu.id = product_id | |||||
| inner join wx_merchant m on m.id = bu.merchant_id | |||||
| where `type` = 1 and `order_status` = 1 | where `type` = 1 and `order_status` = 1 | ||||
| <if test=" null != tenantId "> | <if test=" null != tenantId "> | ||||
| and `tenant_id` = #{tenantId} | and `tenant_id` = #{tenantId} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantId "> | |||||
| and bu.`merchant_id` = #{merchantId} | |||||
| </if> | |||||
| <if test=" null != cUserId "> | <if test=" null != cUserId "> | ||||
| and `c_user_id` = #{cUserId} | and `c_user_id` = #{cUserId} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantId "> | |||||
| and `merchant_id` = #{merchantId} | |||||
| </if> | |||||
| <if test=" null != bUserId "> | <if test=" null != bUserId "> | ||||
| and `b_user_id` = #{bUserId} | |||||
| and bu.`id` = #{bUserId} | |||||
| </if> | </if> | ||||
| <if test=" null != couponId "> | |||||
| and `coupon_id` = #{couponId} | |||||
| <if test=" null != productId "> | |||||
| and `product_id` = #{productId} | |||||
| </if> | </if> | ||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND create_date > #{startDate,jdbcType=TIMESTAMP} | AND create_date > #{startDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| <if test="endDate != null"> | <if test="endDate != null"> | ||||
| AND create_date < #{endDate,jdbcType=TIMESTAMP} | AND create_date < #{endDate,jdbcType=TIMESTAMP} | ||||
| </if> | </if> | ||||
| @@ -275,10 +293,8 @@ | |||||
| <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | <result column="order_number" jdbcType="BIGINT" property="orderNumber"/> | ||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | ||||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | ||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="coupon_id" jdbcType="BIGINT" property="couponId"/> | |||||
| <result column="product_id" jdbcType="BIGINT" property="productId"/> | |||||
| <result column="type" jdbcType="TINYINT" property="type"/> | <result column="type" jdbcType="TINYINT" property="type"/> | ||||
| <result column="b_user_id" jdbcType="BIGINT" property="bUserId"/> | |||||
| <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | <result column="payment_type" jdbcType="INTEGER" property="paymentType"/> | ||||
| <result column="payment" jdbcType="INTEGER" property="payment"/> | <result column="payment" jdbcType="INTEGER" property="payment"/> | ||||
| <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | <result column="payment_time" jdbcType="TIMESTAMP" property="paymentTime"/> | ||||
| @@ -294,7 +310,7 @@ | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allPayOrderColumns"> | <sql id="allPayOrderColumns"> | ||||
| o.`id`,o.`order_number`,o.`tenant_id`,o.`c_user_id`,o.`merchant_id`,o.`coupon_id`,o.`type`,o.`b_user_id`, | |||||
| o.`id`,o.`order_number`,o.`tenant_id`,o.`c_user_id`,o.`product_id`,o.`type`, | |||||
| o.`payment_type`,o.`payment`,o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,o.`detail`, | o.`payment_type`,o.`payment`,o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,o.`detail`, | ||||
| m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone | m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone | ||||
| </sql> | </sql> | ||||
| @@ -303,18 +319,18 @@ | |||||
| select | select | ||||
| <include refid="allPayOrderColumns"/> | <include refid="allPayOrderColumns"/> | ||||
| from wx_order o | from wx_order o | ||||
| inner JOIN wx_merchant m on m.id = o.merchant_id | |||||
| left join wx_merchant_b_user bu on bu.`merchant_id` = o.`merchant_id` and bu.id = o.`b_user_id` | |||||
| left JOIN wx_c_user cu on cu.id = o.c_user_id | |||||
| inner join wx_merchant_b_user bu on bu.id = o.product_id | |||||
| inner join wx_merchant m on m.id = bu.merchant_id | |||||
| left join wx_c_user cu on cu.id = o.c_user_id | |||||
| where o.order_status = '1' and o.`type` = 1 | where o.order_status = '1' and o.`type` = 1 | ||||
| <if test=" null != tenantId "> | <if test=" null != tenantId "> | ||||
| and o.`tenant_id` = #{tenantId} | and o.`tenant_id` = #{tenantId} | ||||
| </if> | </if> | ||||
| <if test=" null != merchantId "> | <if test=" null != merchantId "> | ||||
| and o.`merchant_id` = #{merchantId} | |||||
| and bu.`merchant_id` = #{merchantId} | |||||
| </if> | </if> | ||||
| <if test=" null != bUserId "> | <if test=" null != bUserId "> | ||||
| and o.`b_user_id` = #{bUserId} | |||||
| and bu.`id` = #{bUserId} | |||||
| </if> | </if> | ||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND o.create_date > #{startDate,jdbcType=TIMESTAMP} | AND o.create_date > #{startDate,jdbcType=TIMESTAMP} | ||||