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("d"+String.valueOf(product.getProductAttributeCategoryId()));
|
||||
product.setOriginalPrice(productParam.getPrice());
|
||||
|
||||
productMapper.insertAll(product);
|
||||
productParam.getSkuStockList().forEach(item->{
|
||||
item.setPrice(product.getPrice());
|
||||
});
|
||||
//根据促销类型设置价格:、阶梯价格、满减价格
|
||||
Long productId = product.getId();
|
||||
//会员价格
|
||||
|
||||
@@ -29,4 +29,6 @@ public interface OmsOrderItemMapper {
|
||||
int updateByPrimaryKey(OmsOrderItem record);
|
||||
|
||||
OmsOrderItem selectByOrderId(Long orderId);
|
||||
|
||||
OmsOrderItem getByOrderSn(String orderSn);
|
||||
}
|
||||
@@ -33,4 +33,5 @@ public interface OmsOrderMapper {
|
||||
int updateByPrimaryKey(OmsOrder record);
|
||||
|
||||
|
||||
PmsProduct selectAll(@Param("orderSn") String orderSn);}
|
||||
PmsProduct selectAll(@Param("orderSn") String orderSn);
|
||||
}
|
||||
|
||||
@@ -31,12 +31,23 @@ public enum MemberLevel {
|
||||
return value;
|
||||
}
|
||||
|
||||
public static MemberLevel getMemberByInt(int value){
|
||||
for (MemberLevel memberLevel : MemberLevel.values()) {
|
||||
if(value == memberLevel.value){
|
||||
return memberLevel;
|
||||
// 获取根据 ordinal 映射的 MemberLevel
|
||||
public static MemberLevel fromOrdinal(int ordinal) {
|
||||
MemberLevel[] levels = MemberLevel.values();
|
||||
if (ordinal >= 0 && ordinal < levels.length) {
|
||||
return levels[ordinal-1];
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid ordinal: " + ordinal);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
// 根据 value 获取 MemberLevel
|
||||
public static MemberLevel fromValue(int value) {
|
||||
for (MemberLevel level : MemberLevel.values()) {
|
||||
if (level.getValue() == value) {
|
||||
return level;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("Invalid value: " + value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -361,6 +361,11 @@ public class UmsMemberAccountTransactionExample {
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andFlowTypeEqualTo(Integer value) {
|
||||
addCriterion("flow_type =", value, "flowType");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andTransactionStateNotEqualTo(Integer value) {
|
||||
addCriterion("transaction_state <>", value, "transactionState");
|
||||
return (Criteria) this;
|
||||
|
||||
@@ -513,4 +513,34 @@
|
||||
select * from mall.oms_order_item where order_id = #{orderId}
|
||||
|
||||
</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>
|
||||
@@ -926,4 +926,5 @@
|
||||
JOIN oms_order o ON oi.order_sn = o.order_sn
|
||||
WHERE o.order_sn = #{orderSn}
|
||||
</select>
|
||||
<select id="getPnameByOrderSn" resultType="java.lang.String"></select>
|
||||
</mapper>
|
||||
@@ -109,10 +109,10 @@
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
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},
|
||||
#{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 id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
<!-- 微信小程序支付 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>1.3.2</version>
|
||||
</dependency>
|
||||
|
||||
@@ -119,6 +119,17 @@ public class OrderResult {
|
||||
@ApiModelProperty(value = "积分兑换专区")
|
||||
private Integer intergrationExchange;
|
||||
|
||||
@ApiModelProperty(value = "订单类型")
|
||||
private Integer orderType;
|
||||
|
||||
public Integer getOrderType() {
|
||||
return orderType;
|
||||
}
|
||||
|
||||
public void setOrderType(Integer orderType) {
|
||||
this.orderType = orderType;
|
||||
}
|
||||
|
||||
public Integer getIntergrationExchange() {
|
||||
return intergrationExchange;
|
||||
}
|
||||
|
||||
@@ -377,7 +377,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
orderResult.setNote(order.getNote());
|
||||
orderResult.setDeliveryCompany(order.getDeliveryCompany());
|
||||
orderResult.setDeliverySn(order.getDeliverySn());
|
||||
orderResult.setPaymentTime(order.getPaymentTime());
|
||||
orderResult.setOrderType(order.getOrderType());
|
||||
orderResult.setPaymentTime(new Date());
|
||||
|
||||
// 获取商品信息,判断是否是积分专区商品
|
||||
PmsProduct product = productMapper.getProductByOrderSn(order.getOrderSn());
|
||||
@@ -1402,6 +1403,17 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
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, "支付成功");
|
||||
|
||||
@@ -1442,16 +1454,6 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
// 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();
|
||||
//
|
||||
// //支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
||||
@@ -1568,12 +1570,20 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||
accountTransaction.setMemberId(member.getId());
|
||||
accountTransaction.setOrderId(orderId);
|
||||
accountTransaction.setFlowType(1);
|
||||
accountTransaction.setTransferPaymentTime(orderResult.getPaymentTime());
|
||||
accountTransaction.setRevenueAmount(payAmount.negate());
|
||||
PmsProduct pmsProduct = orderMapper.selectAll(orderResult.getOrderSn());
|
||||
accountTransaction.setRemarks( "商品名称" + pmsProduct.getName());
|
||||
OmsOrderItem orderItem = orderItemMapper.getByOrderSn(orderResult.getOrderSn());
|
||||
accountTransaction.setRemarks("商品名称" + orderItem.getProductName());
|
||||
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) {
|
||||
//奖励积分是购买的价格的100%
|
||||
@@ -1592,19 +1602,36 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
//增加基金积分
|
||||
int fundPoints = (int) (rewardPoints * 0.05);
|
||||
umsDevelopmentFundMapper.updatePoints(fundPoints);
|
||||
|
||||
// //积分分润逻辑
|
||||
// memberPointsSplitProfitService.pointsSplit(order);
|
||||
//插入流水表积分
|
||||
UmsMemberAccountTransaction transaction = new UmsMemberAccountTransaction();
|
||||
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);
|
||||
|
||||
// 设置为余额支付
|
||||
order.setPayType(5);
|
||||
// 设置订单状态为已支付
|
||||
order.setStatus(2);
|
||||
order.setPaymentTime(new Date());
|
||||
orderMapper.updateByPrimaryKey(order);
|
||||
//如果积分专区则需要积分分润
|
||||
if (pmsProduct.getPointsAreaStatus() == 1) {
|
||||
//积分分润逻辑
|
||||
memberPointsSplitProfitService.pointsSplit(order);
|
||||
}
|
||||
//如果会员专区专区则需要判断升级和金额分润
|
||||
if (pmsProduct.getVipStatus() == 1) {
|
||||
//升级现金分润逻辑
|
||||
memberSplitProfitService.updateOderAndMemberInfo(order);
|
||||
}
|
||||
|
||||
// 处理库存、分销等后续操作
|
||||
executorService.execute(() -> {
|
||||
@@ -1634,8 +1661,6 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 微信预支付
|
||||
*
|
||||
@@ -2052,6 +2077,16 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
int fundPoints = (int) (rewardPoints * 0.05);
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
|
||||
//获取默认会员等级并设置
|
||||
UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
|
||||
levelExample.createCriteria().andDefaultStatusEqualTo(0);
|
||||
levelExample.createCriteria().andDefaultStatusEqualTo(1);
|
||||
List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
|
||||
if (!CollectionUtils.isEmpty(memberLevelList)) {
|
||||
umsMember.setMemberLevelId(memberLevelList.get(0).getId());
|
||||
@@ -516,6 +516,8 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
public MemberInfoResult getMemberInfo() {
|
||||
UmsMember loginMember = getCurrentMember();
|
||||
UmsMember member = memberMapper.selectByPrimaryKey(loginMember.getId());
|
||||
MemberLevel memberLevel = MemberLevel.fromOrdinal(loginMember.getMemberLevelId().intValue());
|
||||
member.setMemberLevel(memberLevel);
|
||||
DmsTeamTotalConsume teamTotalConsume = teamTotalConsumeMapper.selectOneByMemberId(loginMember.getId());
|
||||
|
||||
OmsOrderExample example = new OmsOrderExample();
|
||||
@@ -529,6 +531,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
BigDecimal totalIncome = BigDecimal.ZERO;
|
||||
accountTransactionExample.createCriteria()
|
||||
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
||||
.andFlowTypeEqualTo(1)
|
||||
.andMemberIdEqualTo(member.getId());
|
||||
|
||||
List<UmsMemberAccountTransaction> totalList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
||||
@@ -546,6 +549,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
accountTransactionExample.createCriteria()
|
||||
.andTransferPaymentTimeBetween(DateUtil.beginOfDay(nowTime) ,nowTime)
|
||||
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
|
||||
.andFlowTypeEqualTo(1)
|
||||
.andMemberIdEqualTo(member.getId());
|
||||
List<UmsMemberAccountTransaction> todayIncomeList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
|
||||
if(todayIncomeList!= null && !todayIncomeList.isEmpty()){
|
||||
@@ -566,7 +570,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
result.setNickname(member.getNickname() == null ? "" : member.getNickname());
|
||||
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
|
||||
result.setGender(member.getGender());
|
||||
result.setMemberLevel(member.getMemberLevel().getValue()-1);
|
||||
result.setMemberLevel(member.getMemberLevel().getValue());
|
||||
result.setMemberId(loginMember.getId());
|
||||
result.setRealName(member.getRealName());
|
||||
result.setDetailAddress(member.getDetailAddress());
|
||||
@@ -924,7 +928,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
String withdrawMultipleStr = commonService.getDictionaryValue(Constants.D_WITHDRAW_MULTIPLE);
|
||||
double withdrawMultiple = Double.valueOf(withdrawMultipleStr);
|
||||
if(applyParam.getValue() % withdrawMultiple != 0) {
|
||||
return CommonResult.validateFailed("提现积分必须是" + withdrawMultipleStr + "的倍数");
|
||||
return CommonResult.validateFailed("提现金额必须是" + withdrawMultipleStr + "的倍数");
|
||||
}
|
||||
|
||||
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;
|
||||
int flag = member.getBalance().compareTo(withdraw);
|
||||
if(flag == -1) {
|
||||
return CommonResult.validateFailed("积分不足,不能提现");
|
||||
return CommonResult.validateFailed("余额不足,不能提现");
|
||||
}
|
||||
|
||||
while(true) {
|
||||
@@ -943,7 +947,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
||||
//flag = -1,表示balance小于withdraw;flag = 0,表示balance等于withdraw;flag = 1,表示balance大于withdraw;
|
||||
flag = member.getBalance().compareTo(withdraw);
|
||||
if(flag == -1) {
|
||||
return CommonResult.validateFailed("积分不足,不能提现");
|
||||
return CommonResult.validateFailed("余额不足,不能提现");
|
||||
}
|
||||
member.setBalance(member.getBalance().subtract(withdraw)); //修改余额值
|
||||
member.setFreeze(member.getFreeze().add(withdraw)); //修改冻结值
|
||||
|
||||
@@ -83,6 +83,7 @@ public class VipCenterServiceImpl implements VipCenterService {
|
||||
//返回订单id
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("orderId", order.getId());
|
||||
result.put("orderType", order.getOrderType());
|
||||
return CommonResult.success(result, "下单成功");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,8 +106,8 @@ becomeVipAmount: 899
|
||||
# 同等级分润比例
|
||||
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
|
||||
(SELECT nickname FROM ums_member m where m.id = tl.member_id) as username,
|
||||
tl.member_id as memberId,
|
||||
IFNULL((SELECT total FROM dms_team_member_number tmn where tmn.member_id = tl.member_id), 0) as teamNum,
|
||||
(SELECT value FROM dms_team_total_consume ttc where ttc.member_id = tl.member_id) as teamConsume
|
||||
(SELECT nickname FROM ums_member m where m.id = ur.member_id) as username,
|
||||
ur.member_id as memberId,
|
||||
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 = ur.member_id) as teamConsume
|
||||
FROM
|
||||
dms_team_level tl
|
||||
ums_member_relation_tree ur
|
||||
WHERE
|
||||
tl.parent_id = #{member_id}
|
||||
ur.higher_level_id = #{member_id}
|
||||
</select>
|
||||
|
||||
<select id="selectMemberWithdrawApplyList" parameterType="java.lang.Long" resultType="java.util.HashMap">
|
||||
|
||||
Reference in New Issue
Block a user