现金、积分分润逻辑实现

This commit is contained in:
2025-02-20 11:18:28 +08:00
parent 2b5f4c3c5e
commit c572ec0f84
13 changed files with 491 additions and 131 deletions

View File

@@ -4,6 +4,7 @@ import com.buy507.mall.model.UmsMemberRelationTree;
import com.buy507.mall.model.UmsMemberRelationTreeExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface UmsMemberRelationTreeMapper {
long countByExample(UmsMemberRelationTreeExample example);
@@ -27,4 +28,7 @@ public interface UmsMemberRelationTreeMapper {
int updateByPrimaryKeySelective(UmsMemberRelationTree record);
int updateByPrimaryKey(UmsMemberRelationTree record);
@Select("select * from ums_member_relation_tree where member_id = #{currentUserId}")
UmsMemberRelationTree findByMemberId(Long currentUserId);
}

View File

@@ -7,15 +7,16 @@ package com.buy507.mall.model;
*/
public enum MemberLevel {
/**普通用户**/
Member(0),
Member(1),
/**vip会员**/
Consumer(1),
Consumer(2),
/**店长**/
Partner(2),
Partner(3),
/**代理**/
Diamond(3),
Diamond(4),
/** 市代 **/
OneDiamond(4),
OneDiamond(5),
TwoDiamond(6), //中级合作商
ThreeDiamond(7), //高级合作商
FourDiamond(8); //特级合作商

View File

@@ -68,29 +68,18 @@ public class UmsMember implements Serializable {
@ApiModelProperty(value = "分销实体店状态0->未开店1->已开店)")
private StoreStatus storeStatus;
/**
* 余额
*/
@ApiModelProperty(value = "余额")
private BigDecimal balance;
/**
* 冻结余额
*/
@ApiModelProperty(value = "冻结余额")
private BigDecimal freeze;
/**
* 详细地址
*/
@ApiModelProperty(value = "详细地址")
private String detailAddress;
/**
* 真实姓名
*/
@ApiModelProperty(value = "真实姓名")
private String realName;
/**
* 排队状态
*/
@ApiModelProperty(value = "排队状态:0->未排队1->排队中")
private Integer orderStatus;

View File

@@ -41,6 +41,9 @@ public class UmsMemberAccountTransaction implements Serializable {
@ApiModelProperty(value = "转账时间")
private Date transferPaymentTime;
@ApiModelProperty(value = "进账积分")
private Integer revenuePoints;
private static final long serialVersionUID = 1L;
public Long getId() {
@@ -83,6 +86,14 @@ public class UmsMemberAccountTransaction implements Serializable {
this.transactionState = transactionState;
}
public Integer getRevenuePoints() {
return revenuePoints;
}
public void setRevenuePoints(Integer revenuePoints) {
this.revenuePoints = revenuePoints;
}
public String getRemarks() {
return remarks;
}
@@ -117,21 +128,17 @@ public class UmsMemberAccountTransaction implements Serializable {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", memberId=").append(memberId);
sb.append(", orderId=").append(orderId);
sb.append(", revenueAmount=").append(revenueAmount);
sb.append(", transactionState=").append(transactionState);
sb.append(", remarks=").append(remarks);
sb.append(", commissionRatio=").append(commissionRatio);
sb.append(", createTime=").append(createTime);
sb.append(", transferPaymentTime=").append(transferPaymentTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
return "UmsMemberAccountTransaction{" +
"id=" + id +
", memberId=" + memberId +
", orderId=" + orderId +
", revenueAmount=" + revenueAmount +
", transactionState=" + transactionState +
", remarks='" + remarks + '\'' +
", commissionRatio=" + commissionRatio +
", createTime=" + createTime +
", transferPaymentTime=" + transferPaymentTime +
", revenuePoints=" + revenuePoints +
'}';
}
}

View File

@@ -1,6 +1,7 @@
package com.buy507.mall.model;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -44,9 +45,12 @@ public class UmsMemberLevel implements Serializable {
@ApiModelProperty(value = "注释")
private String note;
@ApiModelProperty(value = "提成比例")
@ApiModelProperty(value = "现金提成比例")
private Integer commissionRatio;
@ApiModelProperty(value = "积分提成比例")
private Integer pointsRatio;
private static final long serialVersionUID = 1L;
public Long getId() {
@@ -161,28 +165,32 @@ public class UmsMemberLevel implements Serializable {
this.commissionRatio = commissionRatio;
}
public Integer getPointsRatio() {
return pointsRatio;
}
public void setPointsRatio(Integer pointsRatio) {
this.pointsRatio = pointsRatio;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", name=").append(name);
sb.append(", growthPoint=").append(growthPoint);
sb.append(", defaultStatus=").append(defaultStatus);
sb.append(", freeFreightPoint=").append(freeFreightPoint);
sb.append(", commentGrowthPoint=").append(commentGrowthPoint);
sb.append(", priviledgeFreeFreight=").append(priviledgeFreeFreight);
sb.append(", priviledgeSignIn=").append(priviledgeSignIn);
sb.append(", priviledgeComment=").append(priviledgeComment);
sb.append(", priviledgePromotion=").append(priviledgePromotion);
sb.append(", priviledgeMemberPrice=").append(priviledgeMemberPrice);
sb.append(", priviledgeBirthday=").append(priviledgeBirthday);
sb.append(", note=").append(note);
sb.append(", commissionRatio=").append(commissionRatio);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
return "UmsMemberLevel{" +
"id=" + id +
", name='" + name + '\'' +
", growthPoint=" + growthPoint +
", defaultStatus=" + defaultStatus +
", freeFreightPoint=" + freeFreightPoint +
", commentGrowthPoint=" + commentGrowthPoint +
", priviledgeFreeFreight=" + priviledgeFreeFreight +
", priviledgeSignIn=" + priviledgeSignIn +
", priviledgeComment=" + priviledgeComment +
", priviledgePromotion=" + priviledgePromotion +
", priviledgeMemberPrice=" + priviledgeMemberPrice +
", priviledgeBirthday=" + priviledgeBirthday +
", note='" + note + '\'' +
", commissionRatio=" + commissionRatio +
", pointsRatio=" + pointsRatio +
'}';
}
}

View File

@@ -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)
transaction_state, remarks, commission_ratio, transfer_payment_time, revenue_points)
values (#{memberId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{revenueAmount,jdbcType=DECIMAL},
#{transactionState,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR}, #{commissionRatio,jdbcType=INTEGER},
#{transferPaymentTime,jdbcType=TIMESTAMP})
#{transferPaymentTime,jdbcType=TIMESTAMP}, #{revenuePoints,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">

View File

@@ -141,7 +141,7 @@
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
<update id="updateByExampleSelective" parameterType="map">
update ums_member_relation_tree
<set>
<if test="record.id != null">