Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b0756654e | |||
| a55a89cd11 | |||
| 25e16e41eb | |||
| cd6dd0280f | |||
| f89a84f3ef | |||
| 412c017c96 | |||
| d64f5b4bbb | |||
| 392da5a396 |
@@ -85,7 +85,11 @@ public class PmsProductServiceImpl implements PmsProductService {
|
|||||||
log.info("c"+String.valueOf(product.getProductCategoryId()));
|
log.info("c"+String.valueOf(product.getProductCategoryId()));
|
||||||
log.info("d"+String.valueOf(product.getProductAttributeCategoryId()));
|
log.info("d"+String.valueOf(product.getProductAttributeCategoryId()));
|
||||||
product.setOriginalPrice(productParam.getPrice());
|
product.setOriginalPrice(productParam.getPrice());
|
||||||
|
|
||||||
productMapper.insertAll(product);
|
productMapper.insertAll(product);
|
||||||
|
productParam.getSkuStockList().forEach(item->{
|
||||||
|
item.setPrice(product.getPrice());
|
||||||
|
});
|
||||||
//根据促销类型设置价格:、阶梯价格、满减价格
|
//根据促销类型设置价格:、阶梯价格、满减价格
|
||||||
Long productId = product.getId();
|
Long productId = product.getId();
|
||||||
//会员价格
|
//会员价格
|
||||||
|
|||||||
@@ -29,4 +29,6 @@ public interface OmsOrderItemMapper {
|
|||||||
int updateByPrimaryKey(OmsOrderItem record);
|
int updateByPrimaryKey(OmsOrderItem record);
|
||||||
|
|
||||||
OmsOrderItem selectByOrderId(Long orderId);
|
OmsOrderItem selectByOrderId(Long orderId);
|
||||||
|
|
||||||
|
OmsOrderItem getByOrderSn(String orderSn);
|
||||||
}
|
}
|
||||||
@@ -33,4 +33,5 @@ public interface OmsOrderMapper {
|
|||||||
int updateByPrimaryKey(OmsOrder record);
|
int updateByPrimaryKey(OmsOrder record);
|
||||||
|
|
||||||
|
|
||||||
PmsProduct selectAll(@Param("orderSn") String orderSn);}
|
PmsProduct selectAll(@Param("orderSn") String orderSn);
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,13 +30,24 @@ public enum MemberLevel {
|
|||||||
public int getValue() {
|
public int getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MemberLevel getMemberByInt(int value){
|
// 获取根据 ordinal 映射的 MemberLevel
|
||||||
for (MemberLevel memberLevel : MemberLevel.values()) {
|
public static MemberLevel fromOrdinal(int ordinal) {
|
||||||
if(value == memberLevel.value){
|
MemberLevel[] levels = MemberLevel.values();
|
||||||
return memberLevel;
|
if (ordinal >= 0 && ordinal < levels.length) {
|
||||||
|
return levels[ordinal-1];
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Invalid ordinal: " + ordinal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据 value 获取 MemberLevel
|
||||||
|
public static MemberLevel fromValue(int value) {
|
||||||
|
for (MemberLevel level : MemberLevel.values()) {
|
||||||
|
if (level.getValue() == value) {
|
||||||
|
return level;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
throw new IllegalArgumentException("Invalid value: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -361,6 +361,11 @@ public class UmsMemberAccountTransactionExample {
|
|||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Criteria andFlowTypeEqualTo(Integer value) {
|
||||||
|
addCriterion("flow_type =", value, "flowType");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
public Criteria andTransactionStateNotEqualTo(Integer value) {
|
public Criteria andTransactionStateNotEqualTo(Integer value) {
|
||||||
addCriterion("transaction_state <>", value, "transactionState");
|
addCriterion("transaction_state <>", value, "transactionState");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
|
|||||||
@@ -513,4 +513,34 @@
|
|||||||
select * from mall.oms_order_item where order_id = #{orderId}
|
select * from mall.oms_order_item where order_id = #{orderId}
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getByOrderSn" resultType="com.buy507.mall.model.OmsOrderItem">
|
||||||
|
select id,
|
||||||
|
order_id,
|
||||||
|
order_sn,
|
||||||
|
product_id,
|
||||||
|
product_pic,
|
||||||
|
product_name,
|
||||||
|
product_brand,
|
||||||
|
product_sn,
|
||||||
|
product_price,
|
||||||
|
product_quantity,
|
||||||
|
product_sku_id,
|
||||||
|
product_sku_code,
|
||||||
|
product_category_id,
|
||||||
|
promotion_name,
|
||||||
|
promotion_amount,
|
||||||
|
coupon_amount,
|
||||||
|
integration_amount,
|
||||||
|
real_amount,
|
||||||
|
gift_integration,
|
||||||
|
gift_growth,
|
||||||
|
product_attr,
|
||||||
|
sp1,
|
||||||
|
sp2,
|
||||||
|
sp3,
|
||||||
|
intergrationPrice,
|
||||||
|
intergrationExchange
|
||||||
|
from oms_order_item
|
||||||
|
where order_sn = #{orderSn}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -926,4 +926,5 @@
|
|||||||
JOIN oms_order o ON oi.order_sn = o.order_sn
|
JOIN oms_order o ON oi.order_sn = o.order_sn
|
||||||
WHERE o.order_sn = #{orderSn}
|
WHERE o.order_sn = #{orderSn}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getPnameByOrderSn" resultType="java.lang.String"></select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -109,10 +109,10 @@
|
|||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
</selectKey>
|
</selectKey>
|
||||||
insert into ums_member_account_transaction (member_id, order_id, revenue_amount,
|
insert into ums_member_account_transaction (member_id, order_id, revenue_amount,
|
||||||
transaction_state, remarks, commission_ratio, transfer_payment_time, revenue_points)
|
transaction_state, remarks, commission_ratio, transfer_payment_time, revenue_points, flow_type)
|
||||||
values (#{memberId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{revenueAmount,jdbcType=DECIMAL},
|
values (#{memberId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{revenueAmount,jdbcType=DECIMAL},
|
||||||
#{transactionState,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR}, #{commissionRatio,jdbcType=INTEGER},
|
#{transactionState,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR}, #{commissionRatio,jdbcType=INTEGER},
|
||||||
#{transferPaymentTime,jdbcType=TIMESTAMP}, #{revenuePoints,jdbcType=INTEGER})
|
#{transferPaymentTime,jdbcType=TIMESTAMP}, #{revenuePoints,jdbcType=INTEGER}, #{flowType,jdbcType=INTEGER})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
|
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
|
||||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
|
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
|
|
||||||
<!-- 微信小程序支付 -->
|
<!-- 微信小程序支付 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>commons-io</groupId>
|
||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
<version>1.3.2</version>
|
<version>1.3.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|||||||
@@ -119,6 +119,17 @@ public class OrderResult {
|
|||||||
@ApiModelProperty(value = "积分兑换专区")
|
@ApiModelProperty(value = "积分兑换专区")
|
||||||
private Integer intergrationExchange;
|
private Integer intergrationExchange;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单类型")
|
||||||
|
private Integer orderType;
|
||||||
|
|
||||||
|
public Integer getOrderType() {
|
||||||
|
return orderType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderType(Integer orderType) {
|
||||||
|
this.orderType = orderType;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getIntergrationExchange() {
|
public Integer getIntergrationExchange() {
|
||||||
return intergrationExchange;
|
return intergrationExchange;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -329,156 +329,157 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderResult getMemberOrderDetailInfo(Long orderId) {
|
public OrderResult getMemberOrderDetailInfo(Long orderId) {
|
||||||
UmsMember loginMember = memberService.getCurrentMember();
|
UmsMember loginMember = memberService.getCurrentMember();
|
||||||
|
|
||||||
OrderResult orderResult = new OrderResult();
|
OrderResult orderResult = new OrderResult();
|
||||||
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
||||||
//删除状态:0->未删除;1->已删除
|
//删除状态:0->未删除;1->已删除
|
||||||
if(order != null && order.getMemberId().equals(loginMember.getId()) && order.getDeleteStatus() == 0) {
|
if (order != null && order.getMemberId().equals(loginMember.getId()) && order.getDeleteStatus() == 0) {
|
||||||
orderResult.setOrderId(order.getId());
|
orderResult.setOrderId(order.getId());
|
||||||
orderResult.setOrderSn(order.getOrderSn());
|
orderResult.setOrderSn(order.getOrderSn());
|
||||||
orderResult.setCreateTime(order.getCreateTime());
|
orderResult.setCreateTime(order.getCreateTime());
|
||||||
orderResult.setPayAmount(order.getPayAmount());
|
orderResult.setPayAmount(order.getPayAmount());
|
||||||
orderResult.setOrderStatus(order.getStatus());
|
orderResult.setOrderStatus(order.getStatus());
|
||||||
orderResult.setDeliveryType(order.getDeliveryType());
|
orderResult.setDeliveryType(order.getDeliveryType());
|
||||||
if(order.getStatus() == 0) {
|
if (order.getStatus() == 0) {
|
||||||
orderResult.setOrderStatusName("待付款");
|
orderResult.setOrderStatusName("待付款");
|
||||||
if(order.getPayType() != null && order.getPayType() == 3) {
|
if (order.getPayType() != null && order.getPayType() == 3) {
|
||||||
orderResult.setOrderStatusName("已付款待审核");
|
orderResult.setOrderStatusName("已付款待审核");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(order.getStatus() == 1) {
|
if (order.getStatus() == 1) {
|
||||||
orderResult.setOrderStatusName("待发货");
|
orderResult.setOrderStatusName("待发货");
|
||||||
}
|
}
|
||||||
if(order.getStatus() == 2) {
|
if (order.getStatus() == 2) {
|
||||||
// 提货方式:0->自提;1->物流
|
// 提货方式:0->自提;1->物流
|
||||||
if(order.getDeliveryType() == 0) {
|
if (order.getDeliveryType() == 0) {
|
||||||
orderResult.setOrderStatusName("待提货");
|
orderResult.setOrderStatusName("待提货");
|
||||||
} else {
|
} else {
|
||||||
orderResult.setOrderStatusName("待收货");
|
orderResult.setOrderStatusName("待收货");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(order.getStatus() == 3) {
|
if (order.getStatus() == 3) {
|
||||||
orderResult.setOrderStatusName("交易完成");
|
orderResult.setOrderStatusName("交易完成");
|
||||||
if(order.getCommentTime() == null) {
|
if (order.getCommentTime() == null) {
|
||||||
orderResult.setCommentStatus(0); //未评价
|
orderResult.setCommentStatus(0); //未评价
|
||||||
} else {
|
} else {
|
||||||
orderResult.setCommentStatus(1); //已评价
|
orderResult.setCommentStatus(1); //已评价
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(order.getStatus() == 4) {
|
if (order.getStatus() == 4) {
|
||||||
orderResult.setOrderStatusName("交易关闭");
|
orderResult.setOrderStatusName("交易关闭");
|
||||||
orderResult.setOrderStatus(4);
|
orderResult.setOrderStatus(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
orderResult.setFreightAmount(order.getFreightAmount());
|
orderResult.setFreightAmount(order.getFreightAmount());
|
||||||
orderResult.setNote(order.getNote());
|
orderResult.setNote(order.getNote());
|
||||||
orderResult.setDeliveryCompany(order.getDeliveryCompany());
|
orderResult.setDeliveryCompany(order.getDeliveryCompany());
|
||||||
orderResult.setDeliverySn(order.getDeliverySn());
|
orderResult.setDeliverySn(order.getDeliverySn());
|
||||||
orderResult.setPaymentTime(order.getPaymentTime());
|
orderResult.setOrderType(order.getOrderType());
|
||||||
|
orderResult.setPaymentTime(new Date());
|
||||||
|
|
||||||
// 获取商品信息,判断是否是积分专区商品
|
// 获取商品信息,判断是否是积分专区商品
|
||||||
PmsProduct product = productMapper.getProductByOrderSn(order.getOrderSn());
|
PmsProduct product = productMapper.getProductByOrderSn(order.getOrderSn());
|
||||||
System.out.println("hello");
|
System.out.println("hello");
|
||||||
boolean isPointsExchangeStatus = product != null && product.getPointsExchangeStatus() == 1;
|
boolean isPointsExchangeStatus = product != null && product.getPointsExchangeStatus() == 1;
|
||||||
|
|
||||||
//支付类型: 0->未支付;1->支付宝;2->微信; 3->线下支付; 4->积分支付
|
//支付类型: 0->未支付;1->支付宝;2->微信; 3->线下支付; 4->积分支付
|
||||||
//判断是否为积分专区商品
|
//判断是否为积分专区商品
|
||||||
if(isPointsExchangeStatus) {
|
if (isPointsExchangeStatus) {
|
||||||
orderResult.setIntergrationPrice(product.getIntergrationPrice());
|
orderResult.setIntergrationPrice(product.getIntergrationPrice());
|
||||||
orderResult.setIntergrationExchange(product.getPointsExchangeStatus());
|
orderResult.setIntergrationExchange(product.getPointsExchangeStatus());
|
||||||
orderResult.setPayType(order.getPayType());
|
orderResult.setPayType(order.getPayType());
|
||||||
if (order.getPayType() == 0) {
|
if (order.getPayType() == 0) {
|
||||||
orderResult.setPayTypeName("未支付");
|
orderResult.setPayTypeName("未支付");
|
||||||
}
|
}
|
||||||
}else {
|
} else {
|
||||||
// 如果不是积分兑换专区商品,则继续使用其他支付方式
|
// 如果不是积分兑换专区商品,则继续使用其他支付方式
|
||||||
if (order.getPayType() != null) {
|
if (order.getPayType() != null) {
|
||||||
orderResult.setPayType(order.getPayType());
|
orderResult.setPayType(order.getPayType());
|
||||||
if (order.getPayType() == 0) {
|
if (order.getPayType() == 0) {
|
||||||
orderResult.setPayTypeName("未支付");
|
orderResult.setPayTypeName("未支付");
|
||||||
} else if (order.getPayType() == 1) {
|
} else if (order.getPayType() == 1) {
|
||||||
orderResult.setPayTypeName("支付宝支付");
|
orderResult.setPayTypeName("支付宝支付");
|
||||||
} else if (order.getPayType() == 2) {
|
} else if (order.getPayType() == 2) {
|
||||||
orderResult.setPayTypeName("微信支付");
|
orderResult.setPayTypeName("微信支付");
|
||||||
} else if (order.getPayType() == 3) { //mcoo todo
|
} else if (order.getPayType() == 3) { //mcoo todo
|
||||||
orderResult.setPayTypeName("线下支付");
|
orderResult.setPayTypeName("线下支付");
|
||||||
DmsOfflinePaymentRecord paymentRecord = offlinePaymentRecordMapper.selectOneByOrderId(orderId);
|
DmsOfflinePaymentRecord paymentRecord = offlinePaymentRecordMapper.selectOneByOrderId(orderId);
|
||||||
DmsSellerBankAccount bankAccount = sellerBankAccountMapper.selectOneById(paymentRecord.getSellerBankAccountId());
|
DmsSellerBankAccount bankAccount = sellerBankAccountMapper.selectOneById(paymentRecord.getSellerBankAccountId());
|
||||||
OfflinePaymentRecordResult recordResult = new OfflinePaymentRecordResult();
|
OfflinePaymentRecordResult recordResult = new OfflinePaymentRecordResult();
|
||||||
BeanUtils.copyProperties(paymentRecord, recordResult);
|
BeanUtils.copyProperties(paymentRecord, recordResult);
|
||||||
BeanUtils.copyProperties(bankAccount, recordResult);
|
BeanUtils.copyProperties(bankAccount, recordResult);
|
||||||
|
|
||||||
if (recordResult.getConfirmStatus() == 1) {
|
if (recordResult.getConfirmStatus() == 1) {
|
||||||
recordResult.setConfirmStatusName("已审核");
|
recordResult.setConfirmStatusName("已审核");
|
||||||
} else {
|
} else {
|
||||||
recordResult.setConfirmStatusName("未审核");
|
recordResult.setConfirmStatusName("未审核");
|
||||||
}
|
}
|
||||||
orderResult.setPaymentRecord(recordResult);
|
orderResult.setPaymentRecord(recordResult);
|
||||||
} else {
|
} else {
|
||||||
orderResult.setPayTypeName("积分支付");
|
orderResult.setPayTypeName("积分支付");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
orderResult.setPayType(0);
|
orderResult.setPayType(0);
|
||||||
orderResult.setPayTypeName("未支付");
|
orderResult.setPayTypeName("未支付");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
orderResult.setDeliveryTime(order.getDeliveryTime());
|
orderResult.setDeliveryTime(order.getDeliveryTime());
|
||||||
orderResult.setReceiveTime(order.getReceiveTime());
|
orderResult.setReceiveTime(order.getReceiveTime());
|
||||||
orderResult.setCommentTime(order.getCommentTime());
|
orderResult.setCommentTime(order.getCommentTime());
|
||||||
orderResult.setOrderStatus(0);
|
orderResult.setOrderStatus(0);
|
||||||
|
|
||||||
//0->不开发票;1->电子发票;2->纸质发票
|
//0->不开发票;1->电子发票;2->纸质发票
|
||||||
if(order.getBillType() != null) {
|
if (order.getBillType() != null) {
|
||||||
orderResult.setBillType(order.getBillType());
|
orderResult.setBillType(order.getBillType());
|
||||||
if(order.getBillType() == 1) {
|
if (order.getBillType() == 1) {
|
||||||
orderResult.setBillTypeName("电子发票");
|
orderResult.setBillTypeName("电子发票");
|
||||||
} else if(order.getBillType() == 2) {
|
} else if (order.getBillType() == 2) {
|
||||||
orderResult.setBillTypeName("纸质发票");
|
orderResult.setBillTypeName("纸质发票");
|
||||||
} else {
|
} else {
|
||||||
orderResult.setBillTypeName("不开发票");
|
orderResult.setBillTypeName("不开发票");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
orderResult.setBillType(0);
|
orderResult.setBillType(0);
|
||||||
orderResult.setBillTypeName("不开发票");
|
orderResult.setBillTypeName("不开发票");
|
||||||
}
|
}
|
||||||
|
|
||||||
orderResult.setBillHeader(order.getBillHeader());
|
orderResult.setBillHeader(order.getBillHeader());
|
||||||
orderResult.setBillContent(order.getBillContent());
|
orderResult.setBillContent(order.getBillContent());
|
||||||
orderResult.setReceiverName(order.getReceiverName());
|
orderResult.setReceiverName(order.getReceiverName());
|
||||||
orderResult.setReceiverPhone(order.getReceiverPhone());
|
orderResult.setReceiverPhone(order.getReceiverPhone());
|
||||||
orderResult.setReceiverProvince(order.getReceiverProvince());
|
orderResult.setReceiverProvince(order.getReceiverProvince());
|
||||||
orderResult.setReceiverCity(order.getReceiverCity());
|
orderResult.setReceiverCity(order.getReceiverCity());
|
||||||
orderResult.setReceiverRegion(order.getReceiverRegion());
|
orderResult.setReceiverRegion(order.getReceiverRegion());
|
||||||
orderResult.setReceiverDetailAddress(order.getReceiverDetailAddress());
|
orderResult.setReceiverDetailAddress(order.getReceiverDetailAddress());
|
||||||
|
|
||||||
OmsOrderItemExample example = new OmsOrderItemExample();
|
OmsOrderItemExample example = new OmsOrderItemExample();
|
||||||
example.createCriteria().andOrderIdEqualTo(orderId);
|
example.createCriteria().andOrderIdEqualTo(orderId);
|
||||||
List<OmsOrderItem> orderItemList = orderItemMapper.selectByExample(example);
|
List<OmsOrderItem> orderItemList = orderItemMapper.selectByExample(example);
|
||||||
|
|
||||||
OrderItemResult orderItemResult = null;
|
OrderItemResult orderItemResult = null;
|
||||||
orderResult.setProductsNum(orderItemList.size());
|
orderResult.setProductsNum(orderItemList.size());
|
||||||
List<OrderItemResult> orderItemResultList = new ArrayList<>();
|
List<OrderItemResult> orderItemResultList = new ArrayList<>();
|
||||||
for(OmsOrderItem orderItem : orderItemList) {
|
for (OmsOrderItem orderItem : orderItemList) {
|
||||||
orderItemResult = new OrderItemResult();
|
orderItemResult = new OrderItemResult();
|
||||||
orderItemResult.setOrderId(order.getId());
|
orderItemResult.setOrderId(order.getId());
|
||||||
orderItemResult.setOrderSn(order.getOrderSn());
|
orderItemResult.setOrderSn(order.getOrderSn());
|
||||||
orderItemResult.setProductBrand(orderItem.getProductBrand());
|
orderItemResult.setProductBrand(orderItem.getProductBrand());
|
||||||
orderItemResult.setProductId(orderItem.getProductId());
|
orderItemResult.setProductId(orderItem.getProductId());
|
||||||
orderItemResult.setProductName(orderItem.getProductName());
|
orderItemResult.setProductName(orderItem.getProductName());
|
||||||
orderItemResult.setProductPic(orderItem.getProductPic());
|
orderItemResult.setProductPic(orderItem.getProductPic());
|
||||||
orderItemResult.setProductPrice(orderItem.getProductPrice());
|
orderItemResult.setProductPrice(orderItem.getProductPrice());
|
||||||
orderItemResult.setProductQuantity(orderItem.getProductQuantity());
|
orderItemResult.setProductQuantity(orderItem.getProductQuantity());
|
||||||
orderItemResult.setIntergrationPrice(product.getIntergrationPrice());
|
orderItemResult.setIntergrationPrice(product.getIntergrationPrice());
|
||||||
orderItemResult.setIntergrationExchange(product.getPointsExchangeStatus());
|
orderItemResult.setIntergrationExchange(product.getPointsExchangeStatus());
|
||||||
orderItemResult.setSp1(orderItem.getSp1());
|
orderItemResult.setSp1(orderItem.getSp1());
|
||||||
orderItemResult.setSp2(orderItem.getSp2());
|
orderItemResult.setSp2(orderItem.getSp2());
|
||||||
orderItemResult.setSp3(orderItem.getSp3());
|
orderItemResult.setSp3(orderItem.getSp3());
|
||||||
orderItemResultList.add(orderItemResult);
|
orderItemResultList.add(orderItemResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
orderResult.setOrderItem(orderItemResultList);
|
orderResult.setOrderItem(orderItemResultList);
|
||||||
|
|
||||||
@@ -744,39 +745,39 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
/**
|
/**
|
||||||
* 直接购买,根据提交信息生成订单
|
* 直接购买,根据提交信息生成订单
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
/**
|
/**
|
||||||
* 创建订单
|
* 创建订单
|
||||||
*/
|
*/
|
||||||
public CommonResult createOrder(OrderParam orderParam) {
|
public CommonResult createOrder(OrderParam orderParam) {
|
||||||
//orderParam.setSkuId(98L);
|
//orderParam.setSkuId(98L);
|
||||||
if(orderParam.getSkuId() == null) {
|
if (orderParam.getSkuId() == null) {
|
||||||
return CommonResult.validateFailed("商品SKU不能为空");
|
return CommonResult.validateFailed("商品SKU不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(orderParam.getDeliveryType() == null || (orderParam.getDeliveryType() != 0 && orderParam.getDeliveryType() != 1) ) {
|
if (orderParam.getDeliveryType() == null || (orderParam.getDeliveryType() != 0 && orderParam.getDeliveryType() != 1)) {
|
||||||
return CommonResult.validateFailed("提货方式不能为空");
|
return CommonResult.validateFailed("提货方式不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(orderParam.getMemberReceiveAddressId() == null) {
|
if (orderParam.getMemberReceiveAddressId() == null) {
|
||||||
return CommonResult.validateFailed("会员收货地址不能为空");
|
return CommonResult.validateFailed("会员收货地址不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
UmsMemberReceiveAddress address = memberReceiveAddressMapper.selectOneById(orderParam.getMemberReceiveAddressId());
|
UmsMemberReceiveAddress address = memberReceiveAddressMapper.selectOneById(orderParam.getMemberReceiveAddressId());
|
||||||
if(address == null) {
|
if (address == null) {
|
||||||
return CommonResult.validateFailed("未查询到会员收货地址");
|
return CommonResult.validateFailed("未查询到会员收货地址");
|
||||||
|
}
|
||||||
|
if (orderParam.getQuantity() == null) {
|
||||||
|
return CommonResult.validateFailed("商品数量不能为空");
|
||||||
|
}
|
||||||
|
if (orderParam.getQuantity() <= 0) {
|
||||||
|
return CommonResult.validateFailed("商品数量错误");
|
||||||
|
}
|
||||||
|
PmsSkuStock skuStock = skuStockMapper.selectByPrimaryKey(orderParam.getSkuId());
|
||||||
|
if (skuStock == null) {
|
||||||
|
return CommonResult.validateFailed("未查询到商品信息");
|
||||||
}
|
}
|
||||||
if(orderParam.getQuantity() == null) {
|
|
||||||
return CommonResult.validateFailed("商品数量不能为空");
|
|
||||||
}
|
|
||||||
if(orderParam.getQuantity() <= 0) {
|
|
||||||
return CommonResult.validateFailed("商品数量错误");
|
|
||||||
}
|
|
||||||
PmsSkuStock skuStock = skuStockMapper.selectByPrimaryKey(orderParam.getSkuId());
|
|
||||||
if(skuStock == null) {
|
|
||||||
return CommonResult.validateFailed("未查询到商品信息");
|
|
||||||
}
|
|
||||||
|
|
||||||
PmsProduct product = productMapper.getPrimaryKey(skuStock.getProductId());
|
PmsProduct product = productMapper.getPrimaryKey(skuStock.getProductId());
|
||||||
|
|
||||||
@@ -794,190 +795,190 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
totalPointsAmount = pointsPrice.multiply(new BigDecimal(orderParam.getQuantity()));
|
totalPointsAmount = pointsPrice.multiply(new BigDecimal(orderParam.getQuantity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断商品是否都有库存 (库存 - 锁定库存 = 真实库存)
|
//判断商品是否都有库存 (库存 - 锁定库存 = 真实库存)
|
||||||
if ((skuStock.getStock() - skuStock.getLockStock()) < orderParam.getQuantity()) {
|
if ((skuStock.getStock() - skuStock.getLockStock()) < orderParam.getQuantity()) {
|
||||||
return CommonResult.validateFailed("库存不足,无法下单");
|
return CommonResult.validateFailed("库存不足,无法下单");
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
if(product != null) {
|
if (product != null) {
|
||||||
|
|
||||||
UmsMember member = memberMapper.selectByPrimaryKey(memberService.getCurrentMember().getId());
|
UmsMember member = memberMapper.selectByPrimaryKey(memberService.getCurrentMember().getId());
|
||||||
BigDecimal discount = commonService.getDiscount(member.getId());
|
BigDecimal discount = commonService.getDiscount(member.getId());
|
||||||
|
|
||||||
if(discount != null) {
|
if (discount != null) {
|
||||||
price = skuStock.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
price = skuStock.getPrice().multiply(discount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal totalAmount = new BigDecimal(0);
|
BigDecimal totalAmount = new BigDecimal(0);
|
||||||
BigDecimal zero = new BigDecimal(0);
|
BigDecimal zero = new BigDecimal(0);
|
||||||
totalAmount = price.multiply(new BigDecimal(orderParam.getQuantity()));
|
totalAmount = price.multiply(new BigDecimal(orderParam.getQuantity()));
|
||||||
|
|
||||||
if(orderParam.getIntegration() == null) {
|
if (orderParam.getIntegration() == null) {
|
||||||
orderParam.setIntegration(zero);
|
orderParam.setIntegration(zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
//先判断积分是否大于0,大于0表示使用了积分支付
|
//先判断积分是否大于0,大于0表示使用了积分支付
|
||||||
//flag 等于1表示使用积分支付 判断用户积分是否充足
|
//flag 等于1表示使用积分支付 判断用户积分是否充足
|
||||||
//flag = -1,表示integration小于0;flag = 0,表示integration等于0;flag = 1,表示integration大于0;
|
//flag = -1,表示integration小于0;flag = 0,表示integration等于0;flag = 1,表示integration大于0;
|
||||||
//int integerationFlag = orderParam.getIntegration().compareTo(new BigDecimal(0)); //mcoo
|
//int integerationFlag = orderParam.getIntegration().compareTo(new BigDecimal(0)); //mcoo
|
||||||
int integerationFlag = 0;
|
int integerationFlag = 0;
|
||||||
if(integerationFlag == 1) {
|
if (integerationFlag == 1) {
|
||||||
int flag = member.getBalance().compareTo(orderParam.getIntegration());
|
int flag = member.getBalance().compareTo(orderParam.getIntegration());
|
||||||
//flag = -1,表示balance小于integration;flag = 0,表示balance等于integration;flag = 1,表示balance大于integration;
|
//flag = -1,表示balance小于integration;flag = 0,表示balance等于integration;flag = 1,表示balance大于integration;
|
||||||
/*if(flag == -1) {
|
/*if(flag == -1) {
|
||||||
return CommonResult.validateFailed("森态积分不足,无法抵扣");
|
return CommonResult.validateFailed("森态积分不足,无法抵扣");
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
while(true) {
|
while (true) {
|
||||||
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
|
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
|
||||||
if(redisLock.lock(String.valueOf(skuStock.getProductId()), String.valueOf(time))) {
|
if (redisLock.lock(String.valueOf(skuStock.getProductId()), String.valueOf(time))) {
|
||||||
|
|
||||||
//重新查询获取最新的数据
|
//重新查询获取最新的数据
|
||||||
skuStock = skuStockMapper.selectByPrimaryKey(orderParam.getSkuId());
|
skuStock = skuStockMapper.selectByPrimaryKey(orderParam.getSkuId());
|
||||||
|
|
||||||
//判断购物车中商品是否都有库存 (库存 - 锁定库存 = 真实库存)
|
//判断购物车中商品是否都有库存 (库存 - 锁定库存 = 真实库存)
|
||||||
if ((skuStock.getStock() - skuStock.getLockStock()) < orderParam.getQuantity()) {
|
if ((skuStock.getStock() - skuStock.getLockStock()) < orderParam.getQuantity()) {
|
||||||
return CommonResult.validateFailed("库存不足,无法下单");
|
return CommonResult.validateFailed("库存不足,无法下单");
|
||||||
}
|
}
|
||||||
|
|
||||||
skuStock.setLockStock(skuStock.getLockStock() + orderParam.getQuantity());
|
skuStock.setLockStock(skuStock.getLockStock() + orderParam.getQuantity());
|
||||||
skuStockMapper.updateByPrimaryKey(skuStock);
|
skuStockMapper.updateByPrimaryKey(skuStock);
|
||||||
redisLock.unlock(String.valueOf(skuStock.getProductId()), String.valueOf(time));
|
redisLock.unlock(String.valueOf(skuStock.getProductId()), String.valueOf(time));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//生成订单信息
|
//生成订单信息
|
||||||
OmsOrder order = new OmsOrder();
|
OmsOrder order = new OmsOrder();
|
||||||
order.setTotalAmount(totalAmount); // 订单总金额
|
order.setTotalAmount(totalAmount); // 订单总金额
|
||||||
order.setIntegrationAmount(zero); // 积分部分金额设为零
|
order.setIntegrationAmount(zero); // 积分部分金额设为零
|
||||||
order.setIntegrationAmount(orderParam.getIntegration() == null ? zero : orderParam.getIntegration());
|
order.setIntegrationAmount(orderParam.getIntegration() == null ? zero : orderParam.getIntegration());
|
||||||
if(integerationFlag == 1) {
|
if (integerationFlag == 1) {
|
||||||
int flag = orderParam.getIntegration().compareTo(totalAmount);
|
int flag = orderParam.getIntegration().compareTo(totalAmount);
|
||||||
BigDecimal integeration = new BigDecimal(0);
|
BigDecimal integeration = new BigDecimal(0);
|
||||||
//flag = -1,表示integration小于totalAmount;flag = 0,表示integration等于totalAmount;flag = 1,表示integration大于totalAmount;
|
//flag = -1,表示integration小于totalAmount;flag = 0,表示integration等于totalAmount;flag = 1,表示integration大于totalAmount;
|
||||||
//如果传入的积分小于实际支付金额,用实际支付金额减去抵扣积分。
|
//如果传入的积分小于实际支付金额,用实际支付金额减去抵扣积分。
|
||||||
//如果传入的积分等于或者大于实际支付金额,表示全额抵扣
|
//如果传入的积分等于或者大于实际支付金额,表示全额抵扣
|
||||||
if(flag == -1) {
|
if (flag == -1) {
|
||||||
order.setPayAmount(totalAmount.subtract(orderParam.getIntegration())); //实际支付金额
|
order.setPayAmount(totalAmount.subtract(orderParam.getIntegration())); //实际支付金额
|
||||||
order.setIntegrationAmount(orderParam.getIntegration());
|
order.setIntegrationAmount(orderParam.getIntegration());
|
||||||
integeration = orderParam.getIntegration();
|
integeration = orderParam.getIntegration();
|
||||||
} else {
|
} else {
|
||||||
order.setPayAmount(zero);
|
order.setPayAmount(zero);
|
||||||
order.setIntegrationAmount(totalAmount);
|
order.setIntegrationAmount(totalAmount);
|
||||||
integeration = totalAmount;
|
integeration = totalAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
//冻结用户余额
|
//冻结用户余额
|
||||||
member = memberMapper.selectByPrimaryKey(member.getId());
|
member = memberMapper.selectByPrimaryKey(member.getId());
|
||||||
//flag = -1,表示balance小于integeration;flag = 0,表示balance等于integeration;flag = 1,表示balance大于integeration;
|
//flag = -1,表示balance小于integeration;flag = 0,表示balance等于integeration;flag = 1,表示balance大于integeration;
|
||||||
flag = member.getBalance().compareTo(integeration);
|
flag = member.getBalance().compareTo(integeration);
|
||||||
/*if(flag == -1) {
|
/*if(flag == -1) {
|
||||||
throw new RuntimeException("森态积分不足,无法抵扣");
|
throw new RuntimeException("森态积分不足,无法抵扣");
|
||||||
}*/
|
}*/
|
||||||
member.setBalance(member.getBalance().subtract(integeration)); //修改余额值
|
member.setBalance(member.getBalance().subtract(integeration)); //修改余额值
|
||||||
member.setFreeze(member.getFreeze().add(integeration)); //修改冻结值
|
member.setFreeze(member.getFreeze().add(integeration)); //修改冻结值
|
||||||
memberMapper.updateByPrimaryKey(member);
|
memberMapper.updateByPrimaryKey(member);
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
order.setPayAmount(totalAmount); //实际支付金额
|
order.setPayAmount(totalAmount); //实际支付金额
|
||||||
order.setIntegrationAmount(zero);
|
order.setIntegrationAmount(zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
order.setMemberId(member.getId());
|
order.setMemberId(member.getId());
|
||||||
order.setCreateTime(date);
|
order.setCreateTime(date);
|
||||||
order.setModifyTime(date);
|
order.setModifyTime(date);
|
||||||
order.setMemberUsername(member.getUsername());
|
order.setMemberUsername(member.getUsername());
|
||||||
order.setFreightAmount(zero); //运费
|
order.setFreightAmount(zero); //运费
|
||||||
order.setPayType(isPointsExchangeStatus ? 4 : 0); // payType为4代表积分支付
|
order.setPayType(isPointsExchangeStatus ? 4 : 0); // payType为4代表积分支付
|
||||||
order.setPromotionAmount(zero); //促销优化金额(促销价、满减、阶梯价)
|
order.setPromotionAmount(zero); //促销优化金额(促销价、满减、阶梯价)
|
||||||
order.setCouponAmount(zero);
|
order.setCouponAmount(zero);
|
||||||
order.setDiscountAmount(zero);
|
order.setDiscountAmount(zero);
|
||||||
order.setPayType(0); //支付方式:0->未支付;1->支付宝;2->微信
|
order.setPayType(0); //支付方式:0->未支付;1->支付宝;2->微信
|
||||||
order.setSourceType(1); //订单来源:0->PC订单;1->app订单
|
order.setSourceType(1); //订单来源:0->PC订单;1->app订单
|
||||||
order.setDeliveryType(1); //提货方式:0->自提;1->物流 默认为1 mcoo
|
order.setDeliveryType(1); //提货方式:0->自提;1->物流 默认为1 mcoo
|
||||||
|
|
||||||
//生成订单号
|
//生成订单号
|
||||||
order.setOrderSn(generateOrderSn(order));
|
order.setOrderSn(generateOrderSn(order));
|
||||||
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
|
//订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单
|
||||||
order.setStatus(0);
|
order.setStatus(0);
|
||||||
//订单类型:0->正常订单;1->秒杀订单 2->5连订单
|
//订单类型:0->正常订单;1->秒杀订单 2->5连订单
|
||||||
order.setOrderType(0);
|
order.setOrderType(0);
|
||||||
|
|
||||||
OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);
|
OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);
|
||||||
order.setAutoConfirmDay(orderSetting.getConfirmOvertime());
|
order.setAutoConfirmDay(orderSetting.getConfirmOvertime());
|
||||||
order.setIntegration(0);
|
order.setIntegration(0);
|
||||||
order.setGrowth(0);
|
order.setGrowth(0);
|
||||||
|
|
||||||
//收货人信息:姓名、电话、邮编、地址
|
//收货人信息:姓名、电话、邮编、地址
|
||||||
order.setReceiverName(address.getName());
|
order.setReceiverName(address.getName());
|
||||||
order.setReceiverPhone(address.getPhoneNumber());
|
order.setReceiverPhone(address.getPhoneNumber());
|
||||||
order.setReceiverPostCode(address.getPostCode());
|
order.setReceiverPostCode(address.getPostCode());
|
||||||
order.setReceiverProvince(address.getProvince());
|
order.setReceiverProvince(address.getProvince());
|
||||||
order.setReceiverCity(address.getCity());
|
order.setReceiverCity(address.getCity());
|
||||||
order.setReceiverRegion(address.getRegion());
|
order.setReceiverRegion(address.getRegion());
|
||||||
order.setReceiverDetailAddress(address.getDetailAddress());
|
order.setReceiverDetailAddress(address.getDetailAddress());
|
||||||
|
|
||||||
order.setNote(orderParam.getNote() == null ? null : orderParam.getNote());
|
order.setNote(orderParam.getNote() == null ? null : orderParam.getNote());
|
||||||
|
|
||||||
//确认收货状态:0->未确认;1->已确认
|
//确认收货状态:0->未确认;1->已确认
|
||||||
order.setConfirmStatus(0);
|
order.setConfirmStatus(0);
|
||||||
//删除状态:0->未删除;1->已删除
|
//删除状态:0->未删除;1->已删除
|
||||||
order.setDeleteStatus(0);
|
order.setDeleteStatus(0);
|
||||||
order.setUseIntegration(0);
|
order.setUseIntegration(0);
|
||||||
order.setPromotionInfo("无优惠");
|
order.setPromotionInfo("无优惠");
|
||||||
order.setSettlementStatus(0); //分销结算状态(0->未结算;1->已结算;2->不结算)
|
order.setSettlementStatus(0); //分销结算状态(0->未结算;1->已结算;2->不结算)
|
||||||
|
|
||||||
orderMapper.insert(order);
|
orderMapper.insert(order);
|
||||||
|
|
||||||
//生成订单商品信息
|
//生成订单商品信息
|
||||||
OmsOrderItem orderItem = new OmsOrderItem();
|
OmsOrderItem orderItem = new OmsOrderItem();
|
||||||
orderItem.setOrderId(order.getId());
|
orderItem.setOrderId(order.getId());
|
||||||
orderItem.setOrderSn(order.getOrderSn());
|
orderItem.setOrderSn(order.getOrderSn());
|
||||||
orderItem.setProductId(product.getId());
|
orderItem.setProductId(product.getId());
|
||||||
orderItem.setProductPic(skuStock.getPic());
|
orderItem.setProductPic(skuStock.getPic());
|
||||||
orderItem.setProductName(product.getName());
|
orderItem.setProductName(product.getName());
|
||||||
//orderItem.setProductAttr(cartPromotionItem.getProductAttr());
|
//orderItem.setProductAttr(cartPromotionItem.getProductAttr());
|
||||||
orderItem.setProductBrand(product.getBrandName());
|
orderItem.setProductBrand(product.getBrandName());
|
||||||
orderItem.setProductSn(product.getProductSn());
|
orderItem.setProductSn(product.getProductSn());
|
||||||
orderItem.setProductPrice(price);
|
orderItem.setProductPrice(price);
|
||||||
orderItem.setProductQuantity(orderParam.getQuantity());
|
orderItem.setProductQuantity(orderParam.getQuantity());
|
||||||
orderItem.setProductSkuId(skuStock.getId());
|
orderItem.setProductSkuId(skuStock.getId());
|
||||||
orderItem.setProductSkuCode(skuStock.getSkuCode());
|
orderItem.setProductSkuCode(skuStock.getSkuCode());
|
||||||
orderItem.setProductCategoryId(product.getProductCategoryId());
|
orderItem.setProductCategoryId(product.getProductCategoryId());
|
||||||
orderItem.setSp1(skuStock.getSp1());
|
orderItem.setSp1(skuStock.getSp1());
|
||||||
orderItem.setSp2(skuStock.getSp2());
|
orderItem.setSp2(skuStock.getSp2());
|
||||||
orderItem.setSp3(skuStock.getSp3());
|
orderItem.setSp3(skuStock.getSp3());
|
||||||
orderItem.setPromotionName("无优惠");
|
orderItem.setPromotionName("无优惠");
|
||||||
orderItem.setPromotionAmount(new BigDecimal(0));
|
orderItem.setPromotionAmount(new BigDecimal(0));
|
||||||
//积分价格
|
//积分价格
|
||||||
orderItem.setGiftIntegration(totalPointsAmount);
|
orderItem.setGiftIntegration(totalPointsAmount);
|
||||||
orderItem.setGiftGrowth(0);
|
orderItem.setGiftGrowth(0);
|
||||||
orderItem.setCouponAmount(new BigDecimal(0));
|
orderItem.setCouponAmount(new BigDecimal(0));
|
||||||
orderItem.setIntegrationAmount(new BigDecimal(0));
|
orderItem.setIntegrationAmount(new BigDecimal(0));
|
||||||
orderItem.setRealAmount(new BigDecimal(0));
|
orderItem.setRealAmount(new BigDecimal(0));
|
||||||
|
|
||||||
orderItemMapper.insert(orderItem);
|
orderItemMapper.insert(orderItem);
|
||||||
|
|
||||||
//超时未支付,自动取消订单
|
//超时未支付,自动取消订单
|
||||||
//分钟转换成毫秒
|
//分钟转换成毫秒
|
||||||
long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000;
|
long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000;
|
||||||
cancelOrderSender.sendMessage(order.getId(), delayTimes);
|
cancelOrderSender.sendMessage(order.getId(), delayTimes);
|
||||||
|
|
||||||
result.put("orderId", order.getId());
|
result.put("orderId", order.getId());
|
||||||
result.put("totalAmount", order.getPayAmount());
|
result.put("totalAmount", order.getPayAmount());
|
||||||
if (isPointsExchangeStatus) {
|
if (isPointsExchangeStatus) {
|
||||||
result.put("pointsPrice", totalPointsAmount);
|
result.put("pointsPrice", totalPointsAmount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CommonResult.success(result, "下单成功");
|
return CommonResult.success(result, "下单成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1360,7 +1361,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
// 判断是否使用积分支付
|
// 判断是否使用积分支付
|
||||||
UmsMember member = memberMapper.selectByPrimaryKey(currentMember.getId());
|
UmsMember member = memberMapper.selectByPrimaryKey(currentMember.getId());
|
||||||
|
|
||||||
if(product1.getPointsExchangeStatus() == 1) {
|
if (product1.getPointsExchangeStatus() == 1) {
|
||||||
|
|
||||||
// 获取积分兑换价格
|
// 获取积分兑换价格
|
||||||
// 使用订单中的积分字段
|
// 使用订单中的积分字段
|
||||||
@@ -1402,6 +1403,17 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
updateStock(orderId);
|
updateStock(orderId);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//插入流水表积分
|
||||||
|
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||||
|
accountTransaction.setMemberId(member.getId());
|
||||||
|
accountTransaction.setOrderId(orderId);
|
||||||
|
accountTransaction.setFlowType(2);
|
||||||
|
accountTransaction.setTransferPaymentTime(order.getPaymentTime());
|
||||||
|
accountTransaction.setRevenuePoints(-totalPointsAmount.intValue());
|
||||||
|
PmsProduct pmsProduct = orderMapper.selectAll(order.getOrderSn());
|
||||||
|
accountTransaction.setRemarks("商品名称" + pmsProduct.getName());
|
||||||
|
umsMemberAccountTransactionMapper.insert(accountTransaction);
|
||||||
|
|
||||||
// 返还积分金额到前端
|
// 返还积分金额到前端
|
||||||
return CommonResult.success(totalPointsAmount, "支付成功");
|
return CommonResult.success(totalPointsAmount, "支付成功");
|
||||||
|
|
||||||
@@ -1442,16 +1454,6 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
// return CommonResult.validateFailed("无效订单");
|
// return CommonResult.validateFailed("无效订单");
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// //插入流水表
|
|
||||||
// UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
|
||||||
// accountTransaction.setMemberId(member.getId());
|
|
||||||
// accountTransaction.setOrderId(orderId);
|
|
||||||
// accountTransaction.setTransferPaymentTime(order.getPaymentTime());
|
|
||||||
// accountTransaction.setRevenuePoints(totalPointsAmount.intValue());
|
|
||||||
// PmsProduct pmsProduct = orderMapper.selectAll(order.getOrderSn());
|
|
||||||
// accountTransaction.setRemarks( "商品名称" + pmsProduct.getName());
|
|
||||||
// umsMemberAccountTransactionMapper.insert(accountTransaction);
|
|
||||||
//
|
|
||||||
// Date date = new Date();
|
// Date date = new Date();
|
||||||
//
|
//
|
||||||
// //支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
// //支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
||||||
@@ -1568,12 +1570,20 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||||
accountTransaction.setMemberId(member.getId());
|
accountTransaction.setMemberId(member.getId());
|
||||||
accountTransaction.setOrderId(orderId);
|
accountTransaction.setOrderId(orderId);
|
||||||
|
accountTransaction.setFlowType(1);
|
||||||
accountTransaction.setTransferPaymentTime(orderResult.getPaymentTime());
|
accountTransaction.setTransferPaymentTime(orderResult.getPaymentTime());
|
||||||
accountTransaction.setRevenueAmount(payAmount.negate());
|
accountTransaction.setRevenueAmount(payAmount.negate());
|
||||||
PmsProduct pmsProduct = orderMapper.selectAll(orderResult.getOrderSn());
|
OmsOrderItem orderItem = orderItemMapper.getByOrderSn(orderResult.getOrderSn());
|
||||||
accountTransaction.setRemarks( "商品名称" + pmsProduct.getName());
|
accountTransaction.setRemarks("商品名称" + orderItem.getProductName());
|
||||||
umsMemberAccountTransactionMapper.insert(accountTransaction);
|
umsMemberAccountTransactionMapper.insert(accountTransaction);
|
||||||
|
|
||||||
|
PmsProduct pmsProduct = orderMapper.selectAll(orderResult.getOrderSn());
|
||||||
|
if (pmsProduct.getVipStatus() == 1) {
|
||||||
|
//增加基金现金
|
||||||
|
BigDecimal fundCash = payAmount.multiply(new BigDecimal("0.05"));
|
||||||
|
umsDevelopmentFundMapper.updateCash(fundCash);
|
||||||
|
}
|
||||||
|
|
||||||
//如果是积分专区的商品则进行积分专区相对应的逻辑
|
//如果是积分专区的商品则进行积分专区相对应的逻辑
|
||||||
if (pmsProduct.getPointsAreaStatus() == 1) {
|
if (pmsProduct.getPointsAreaStatus() == 1) {
|
||||||
//奖励积分是购买的价格的100%
|
//奖励积分是购买的价格的100%
|
||||||
@@ -1590,21 +1600,38 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
// 更新用户积分
|
// 更新用户积分
|
||||||
memberMapper.updateByPrimaryKey(member);
|
memberMapper.updateByPrimaryKey(member);
|
||||||
//增加基金积分
|
//增加基金积分
|
||||||
int fundPoints = (int)(rewardPoints * 0.05);
|
int fundPoints = (int) (rewardPoints * 0.05);
|
||||||
umsDevelopmentFundMapper.updatePoints(fundPoints);
|
umsDevelopmentFundMapper.updatePoints(fundPoints);
|
||||||
|
//插入流水表积分
|
||||||
// //积分分润逻辑
|
UmsMemberAccountTransaction transaction = new UmsMemberAccountTransaction();
|
||||||
// memberPointsSplitProfitService.pointsSplit(order);
|
transaction.setMemberId(member.getId());
|
||||||
|
transaction.setOrderId(orderId);
|
||||||
|
transaction.setFlowType(2);
|
||||||
|
transaction.setTransferPaymentTime(orderResult.getPaymentTime());
|
||||||
|
transaction.setRevenuePoints(rewardPoints);
|
||||||
|
transaction.setRemarks("购买商品返还积分:" + pmsProduct.getName());
|
||||||
|
umsMemberAccountTransactionMapper.insert(transaction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 更新订单状态为已支付
|
// 更新订单状态为已支付
|
||||||
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
||||||
|
|
||||||
// 设置为余额支付
|
// 设置为余额支付
|
||||||
order.setPayType(5);
|
order.setPayType(5);
|
||||||
// 设置订单状态为已支付
|
// 设置订单状态为已支付
|
||||||
order.setStatus(2);
|
order.setStatus(2);
|
||||||
order.setPaymentTime(new Date());
|
order.setPaymentTime(new Date());
|
||||||
orderMapper.updateByPrimaryKey(order);
|
orderMapper.updateByPrimaryKey(order);
|
||||||
|
//如果积分专区则需要积分分润
|
||||||
|
if (pmsProduct.getPointsAreaStatus() == 1) {
|
||||||
|
//积分分润逻辑
|
||||||
|
memberPointsSplitProfitService.pointsSplit(order);
|
||||||
|
}
|
||||||
|
//如果会员专区专区则需要判断升级和金额分润
|
||||||
|
if (pmsProduct.getVipStatus() == 1) {
|
||||||
|
//升级现金分润逻辑
|
||||||
|
memberSplitProfitService.updateOderAndMemberInfo(order);
|
||||||
|
}
|
||||||
|
|
||||||
// 处理库存、分销等后续操作
|
// 处理库存、分销等后续操作
|
||||||
executorService.execute(() -> {
|
executorService.execute(() -> {
|
||||||
@@ -1616,7 +1643,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*处理库存的逻辑
|
* 处理库存的逻辑
|
||||||
*/
|
*/
|
||||||
private void updateStock(Long orderId) {
|
private void updateStock(Long orderId) {
|
||||||
// 查询订单商品信息,进行库存更新等操作
|
// 查询订单商品信息,进行库存更新等操作
|
||||||
@@ -1634,8 +1661,6 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信预支付
|
* 微信预支付
|
||||||
*
|
*
|
||||||
@@ -2049,9 +2074,19 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
// 更新用户积分
|
// 更新用户积分
|
||||||
memberMapper.updateByPrimaryKey(member);
|
memberMapper.updateByPrimaryKey(member);
|
||||||
//增加基金积分
|
//增加基金积分
|
||||||
int fundPoints = (int)(rewardPoints * 0.05);
|
int fundPoints = (int) (rewardPoints * 0.05);
|
||||||
umsDevelopmentFundMapper.updatePoints(fundPoints);
|
umsDevelopmentFundMapper.updatePoints(fundPoints);
|
||||||
|
|
||||||
|
//插入流水表积分
|
||||||
|
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||||
|
accountTransaction.setMemberId(member.getId());
|
||||||
|
accountTransaction.setOrderId(order.getId());
|
||||||
|
accountTransaction.setFlowType(2);
|
||||||
|
accountTransaction.setTransferPaymentTime(order.getPaymentTime());
|
||||||
|
accountTransaction.setRevenuePoints(rewardPoints);
|
||||||
|
accountTransaction.setRemarks("购买商品返还积分:" + pmsProduct.getName());
|
||||||
|
umsMemberAccountTransactionMapper.insert(accountTransaction);
|
||||||
|
|
||||||
//积分分润逻辑
|
//积分分润逻辑
|
||||||
memberPointsSplitProfitService.pointsSplit(order);
|
memberPointsSplitProfitService.pointsSplit(order);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
|
|
||||||
//获取默认会员等级并设置
|
//获取默认会员等级并设置
|
||||||
UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
|
UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
|
||||||
levelExample.createCriteria().andDefaultStatusEqualTo(0);
|
levelExample.createCriteria().andDefaultStatusEqualTo(1);
|
||||||
List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
|
List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
|
||||||
if (!CollectionUtils.isEmpty(memberLevelList)) {
|
if (!CollectionUtils.isEmpty(memberLevelList)) {
|
||||||
umsMember.setMemberLevelId(memberLevelList.get(0).getId());
|
umsMember.setMemberLevelId(memberLevelList.get(0).getId());
|
||||||
@@ -516,6 +516,8 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
public MemberInfoResult getMemberInfo() {
|
public MemberInfoResult getMemberInfo() {
|
||||||
UmsMember loginMember = getCurrentMember();
|
UmsMember loginMember = getCurrentMember();
|
||||||
UmsMember member = memberMapper.selectByPrimaryKey(loginMember.getId());
|
UmsMember member = memberMapper.selectByPrimaryKey(loginMember.getId());
|
||||||
|
MemberLevel memberLevel = MemberLevel.fromOrdinal(loginMember.getMemberLevelId().intValue());
|
||||||
|
member.setMemberLevel(memberLevel);
|
||||||
DmsTeamTotalConsume teamTotalConsume = teamTotalConsumeMapper.selectOneByMemberId(loginMember.getId());
|
DmsTeamTotalConsume teamTotalConsume = teamTotalConsumeMapper.selectOneByMemberId(loginMember.getId());
|
||||||
|
|
||||||
OmsOrderExample example = new OmsOrderExample();
|
OmsOrderExample example = new OmsOrderExample();
|
||||||
@@ -529,6 +531,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
BigDecimal totalIncome = BigDecimal.ZERO;
|
BigDecimal totalIncome = BigDecimal.ZERO;
|
||||||
accountTransactionExample.createCriteria()
|
accountTransactionExample.createCriteria()
|
||||||
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
||||||
|
.andFlowTypeEqualTo(1)
|
||||||
.andMemberIdEqualTo(member.getId());
|
.andMemberIdEqualTo(member.getId());
|
||||||
|
|
||||||
List<UmsMemberAccountTransaction> totalList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
List<UmsMemberAccountTransaction> totalList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
||||||
@@ -541,11 +544,12 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询今天收入
|
//查询今天收入
|
||||||
BigDecimal todayIncome = BigDecimal.ZERO;
|
BigDecimal todayIncome = BigDecimal.ZERO;
|
||||||
accountTransactionExample = new UmsMemberAccountTransactionExample();
|
accountTransactionExample = new UmsMemberAccountTransactionExample();
|
||||||
accountTransactionExample.createCriteria()
|
accountTransactionExample.createCriteria()
|
||||||
.andTransferPaymentTimeBetween(DateUtil.beginOfDay(nowTime) ,nowTime)
|
.andTransferPaymentTimeBetween(DateUtil.beginOfDay(nowTime) ,nowTime)
|
||||||
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
||||||
|
.andFlowTypeEqualTo(1)
|
||||||
.andMemberIdEqualTo(member.getId());
|
.andMemberIdEqualTo(member.getId());
|
||||||
List<UmsMemberAccountTransaction> todayIncomeList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
List<UmsMemberAccountTransaction> todayIncomeList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
||||||
if(todayIncomeList!= null && !todayIncomeList.isEmpty()){
|
if(todayIncomeList!= null && !todayIncomeList.isEmpty()){
|
||||||
@@ -566,7 +570,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
result.setNickname(member.getNickname() == null ? "" : member.getNickname());
|
result.setNickname(member.getNickname() == null ? "" : member.getNickname());
|
||||||
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
|
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
|
||||||
result.setGender(member.getGender());
|
result.setGender(member.getGender());
|
||||||
result.setMemberLevel(member.getMemberLevel().getValue()-1);
|
result.setMemberLevel(member.getMemberLevel().getValue());
|
||||||
result.setMemberId(loginMember.getId());
|
result.setMemberId(loginMember.getId());
|
||||||
result.setRealName(member.getRealName());
|
result.setRealName(member.getRealName());
|
||||||
result.setDetailAddress(member.getDetailAddress());
|
result.setDetailAddress(member.getDetailAddress());
|
||||||
@@ -924,7 +928,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
String withdrawMultipleStr = commonService.getDictionaryValue(Constants.D_WITHDRAW_MULTIPLE);
|
String withdrawMultipleStr = commonService.getDictionaryValue(Constants.D_WITHDRAW_MULTIPLE);
|
||||||
double withdrawMultiple = Double.valueOf(withdrawMultipleStr);
|
double withdrawMultiple = Double.valueOf(withdrawMultipleStr);
|
||||||
if(applyParam.getValue() % withdrawMultiple != 0) {
|
if(applyParam.getValue() % withdrawMultiple != 0) {
|
||||||
return CommonResult.validateFailed("提现积分必须是" + withdrawMultipleStr + "的倍数");
|
return CommonResult.validateFailed("提现金额必须是" + withdrawMultipleStr + "的倍数");
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal withdraw = new BigDecimal(applyParam.getValue());
|
BigDecimal withdraw = new BigDecimal(applyParam.getValue());
|
||||||
@@ -933,7 +937,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
//flag = -1,表示balance小于withdraw;flag = 0,表示balance等于withdraw;flag = 1,表示balance大于withdraw;
|
//flag = -1,表示balance小于withdraw;flag = 0,表示balance等于withdraw;flag = 1,表示balance大于withdraw;
|
||||||
int flag = member.getBalance().compareTo(withdraw);
|
int flag = member.getBalance().compareTo(withdraw);
|
||||||
if(flag == -1) {
|
if(flag == -1) {
|
||||||
return CommonResult.validateFailed("积分不足,不能提现");
|
return CommonResult.validateFailed("余额不足,不能提现");
|
||||||
}
|
}
|
||||||
|
|
||||||
while(true) {
|
while(true) {
|
||||||
@@ -943,7 +947,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
//flag = -1,表示balance小于withdraw;flag = 0,表示balance等于withdraw;flag = 1,表示balance大于withdraw;
|
//flag = -1,表示balance小于withdraw;flag = 0,表示balance等于withdraw;flag = 1,表示balance大于withdraw;
|
||||||
flag = member.getBalance().compareTo(withdraw);
|
flag = member.getBalance().compareTo(withdraw);
|
||||||
if(flag == -1) {
|
if(flag == -1) {
|
||||||
return CommonResult.validateFailed("积分不足,不能提现");
|
return CommonResult.validateFailed("余额不足,不能提现");
|
||||||
}
|
}
|
||||||
member.setBalance(member.getBalance().subtract(withdraw)); //修改余额值
|
member.setBalance(member.getBalance().subtract(withdraw)); //修改余额值
|
||||||
member.setFreeze(member.getFreeze().add(withdraw)); //修改冻结值
|
member.setFreeze(member.getFreeze().add(withdraw)); //修改冻结值
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ public class VipCenterServiceImpl implements VipCenterService {
|
|||||||
//返回订单id
|
//返回订单id
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
result.put("orderId", order.getId());
|
result.put("orderId", order.getId());
|
||||||
|
result.put("orderType", order.getOrderType());
|
||||||
return CommonResult.success(result, "下单成功");
|
return CommonResult.success(result, "下单成功");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,8 +106,8 @@ becomeVipAmount: 899
|
|||||||
# 同等级分润比例
|
# 同等级分润比例
|
||||||
sameLevelProfit: 10
|
sameLevelProfit: 10
|
||||||
#店长升级金额
|
#店长升级金额
|
||||||
storeManagerAmount: 1000
|
storeManagerAmount: 10000
|
||||||
#代理升级金额
|
#代理升级金额
|
||||||
agentAmount: 1000
|
agentAmount: 50000
|
||||||
#市代理升级金额
|
#市代理升级金额
|
||||||
cityAgentAmount: 1000
|
cityAgentAmount: 100000
|
||||||
@@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
<select id="selectMemberTeamList" parameterType="java.lang.Long" resultType="com.buy507.mall.portal.domain.TeamMemberResult">
|
<select id="selectMemberTeamList" parameterType="java.lang.Long" resultType="com.buy507.mall.portal.domain.TeamMemberResult">
|
||||||
SELECT
|
SELECT
|
||||||
(SELECT nickname FROM ums_member m where m.id = tl.member_id) as username,
|
(SELECT nickname FROM ums_member m where m.id = ur.member_id) as username,
|
||||||
tl.member_id as memberId,
|
ur.member_id as memberId,
|
||||||
IFNULL((SELECT total FROM dms_team_member_number tmn where tmn.member_id = tl.member_id), 0) as teamNum,
|
IFNULL((SELECT total FROM dms_team_member_number tmn where tmn.member_id = ur.member_id), 0) as teamNum,
|
||||||
(SELECT value FROM dms_team_total_consume ttc where ttc.member_id = tl.member_id) as teamConsume
|
(SELECT value FROM dms_team_total_consume ttc where ttc.member_id = ur.member_id) as teamConsume
|
||||||
FROM
|
FROM
|
||||||
dms_team_level tl
|
ums_member_relation_tree ur
|
||||||
WHERE
|
WHERE
|
||||||
tl.parent_id = #{member_id}
|
ur.higher_level_id = #{member_id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMemberWithdrawApplyList" parameterType="java.lang.Long" resultType="java.util.HashMap">
|
<select id="selectMemberWithdrawApplyList" parameterType="java.lang.Long" resultType="java.util.HashMap">
|
||||||
|
|||||||
Reference in New Issue
Block a user