Commit 33b6d4b1 by guanchen

代理商奖励小于0.000001的话 就不再写了

添加比例数组 修复潜在bug,查代理商时 都加agent_level<=4限制
parent cbdadbdb
...@@ -14,6 +14,9 @@ import java.util.Map; ...@@ -14,6 +14,9 @@ import java.util.Map;
*/ */
public class Constants { public class Constants {
public static final String AGENT_REWARD_QUEUE_KEY = "agent_reward_redis_city_key"; public static final String AGENT_REWARD_QUEUE_KEY = "agent_reward_redis_city_key";
/**
* 奖励类型
*/
public static final int AGENT_REWARD_TYPE_YEAR_VIP = 710; public static final int AGENT_REWARD_TYPE_YEAR_VIP = 710;
public static final String AGENT_REWARD_TYPE_YEAR_VIP_REMARK = "城市代理商所得的购买年-VIP"; public static final String AGENT_REWARD_TYPE_YEAR_VIP_REMARK = "城市代理商所得的购买年-VIP";
public static final int AGENT_REWARD_TYPE_HALF_YEAR_VIP = 720; public static final int AGENT_REWARD_TYPE_HALF_YEAR_VIP = 720;
...@@ -36,8 +39,39 @@ public class Constants { ...@@ -36,8 +39,39 @@ public class Constants {
public static final String DISTRIBUTE_REDIS_LOCK_KEY = "huhu:partner:distribute:redis:key"; public static final String DISTRIBUTE_REDIS_LOCK_KEY = "huhu:partner:distribute:redis:key";
public static final String PARENT_COLUMN_NAME_CENGJI = "parent_agent_id"; public static final String PARENT_COLUMN_NAME_CENGJI = "parent_agent_id";
public static final String PARENT_COLUMN_NAME_PINGTUI = "presenter_id"; public static final String PARENT_COLUMN_NAME_PINGTUI = "presenter_id";
/**
* 回扣类型
*/
public static final int AGENT_REVOKE_TYPE_ACTIVATION = 100;
public static final String AGENT_REVOKE_TYPE_ACTIVATION_REMARK = "下单激活奖励扣回";
public static final int AGENT_REVOKE_TYPE_SELF_ORDER = 300;
public static final String AGENT_REVOKE_TYPE_SELF_ORDER_REMARK = "自购省奖励扣回";
public static final int AGENT_REVOKE_TYPE_SHARE_ORDER = 400;
public static final String AGENT_REVOKE_TYPE_SHARE_ORDER_REMARK = "分享赚奖励扣回";
public static Map<Integer, String> AGENT_REVOKE_TYPE_MAP = new HashMap<Integer, String>();
/**
* 回扣状态
*/
public static final int REVOKE_STATE_PENDING = 100;
public static final int REVOKE_STATE_DONE = 120;
public static final int REVOKE_STATE_DO_NOTHING = 190;
public static final int REVOKE_STATE_FAILED = 99;
/**
* 结算状态
*/
public static final int SETTLE_STATE_ON_THE_WAY = 100;
public static final int SETTLE_STATE_PRE = 200;
public static final int SETTLE_STATE_DONE = 300;
/**
* 最小奖励金额 小于此不写入
*/
public static final BigDecimal MIN_REWARD = new BigDecimal("0.00000001");
static { static {
/**
* 代理商平推奖励比例配置
*/
AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_YEAR_VIP, new HashMap<Integer, BigDecimal>()); AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_YEAR_VIP, new HashMap<Integer, BigDecimal>());
AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_HALF_YEAR_VIP, new HashMap<Integer, BigDecimal>()); AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_HALF_YEAR_VIP, new HashMap<Integer, BigDecimal>());
AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_SVIP, new HashMap<Integer, BigDecimal>()); AGENT_RATE_MAP.put(AGENT_REWARD_TYPE_SVIP, new HashMap<Integer, BigDecimal>());
...@@ -73,5 +107,11 @@ public class Constants { ...@@ -73,5 +107,11 @@ public class Constants {
AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_REDPACK, AGENT_REWARD_TYPE_REDPACK_REMARK); AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_REDPACK, AGENT_REWARD_TYPE_REDPACK_REMARK);
AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_SELF_ORDER, AGENT_REWARD_TYPE_SELF_ORDER_REMARK); AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_SELF_ORDER, AGENT_REWARD_TYPE_SELF_ORDER_REMARK);
AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_SHARE_ORDER, AGENT_REWARD_TYPE_SHARE_ORDER_REMARK); AGENT_REWARD_REMARK.put(AGENT_REWARD_TYPE_SHARE_ORDER, AGENT_REWARD_TYPE_SHARE_ORDER_REMARK);
/**
* 代理商奖励回扣类型
*/
AGENT_REVOKE_TYPE_MAP.put(AGENT_REVOKE_TYPE_ACTIVATION, AGENT_REVOKE_TYPE_ACTIVATION_REMARK);
AGENT_REVOKE_TYPE_MAP.put(AGENT_REVOKE_TYPE_SELF_ORDER, AGENT_REVOKE_TYPE_SELF_ORDER_REMARK);
AGENT_REVOKE_TYPE_MAP.put(AGENT_REVOKE_TYPE_SHARE_ORDER, AGENT_REVOKE_TYPE_SHARE_ORDER_REMARK);
} }
} }
...@@ -21,6 +21,6 @@ public class UserAgentSqlProvider { ...@@ -21,6 +21,6 @@ public class UserAgentSqlProvider {
return "SELECT b.* " + return "SELECT b.* " +
"FROM user_agent a " + "FROM user_agent a " +
"JOIN user_agent b on a." + parentColumnName + "=b.agent_id " + "JOIN user_agent b on a." + parentColumnName + "=b.agent_id " +
"WHERE a.user_id=#{userId}"; "WHERE a.user_id=#{userId} and b.agent_level<=4";
} }
} }
...@@ -4,10 +4,11 @@ import com.baomidou.mybatisplus.annotation.IdType; ...@@ -4,10 +4,11 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import lombok.Data;
@Data @Data
@TableName(value = "agent_reward") @TableName(value = "agent_reward")
...@@ -37,12 +38,24 @@ public class AgentReward implements Serializable { ...@@ -37,12 +38,24 @@ public class AgentReward implements Serializable {
private Integer userId; private Integer userId;
/** /**
* 奖励类型 40 开卡奖励 50 充值奖励 30 购买VIP会员 20 购买超级VIP会员 * 奖励类型 40 开卡奖励 50 充值奖励 30 购买VIP会员 20 购买超级VIP会员 60 分享赚 300 自购省
*/ */
@TableField(value = "reward_type") @TableField(value = "reward_type")
private Integer rewardType; private Integer rewardType;
/** /**
* 子类型 good_friend:好友奖励
*/
@TableField(value = "reward_type_child")
private String rewardTypeChild;
/**
* 来源类型 good_friend:好友奖励 空:非好友奖励
*/
@TableField(value = "source_type_v")
private String sourceTypeV;
/**
* 描述 * 描述
*/ */
@TableField(value = "reward_remark") @TableField(value = "reward_remark")
...@@ -177,6 +190,18 @@ public class AgentReward implements Serializable { ...@@ -177,6 +190,18 @@ public class AgentReward implements Serializable {
@TableField(value = "create_time") @TableField(value = "create_time")
private LocalDateTime createTime; private LocalDateTime createTime;
/**
* 来源基础金额
*/
@TableField(value = "all_money_ori")
private BigDecimal allMoneyOri;
/**
* 该金额所有的计算比率值
*/
@TableField(value = "ratio_all")
private String ratioAll;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static final String COL_AGENT_ID = "agent_id"; public static final String COL_AGENT_ID = "agent_id";
...@@ -187,6 +212,10 @@ public class AgentReward implements Serializable { ...@@ -187,6 +212,10 @@ public class AgentReward implements Serializable {
public static final String COL_REWARD_TYPE = "reward_type"; public static final String COL_REWARD_TYPE = "reward_type";
public static final String COL_REWARD_TYPE_CHILD = "reward_type_child";
public static final String COL_SOURCE_TYPE_V = "source_type_v";
public static final String COL_REWARD_REMARK = "reward_remark"; public static final String COL_REWARD_REMARK = "reward_remark";
public static final String COL_REWARD_STATUS = "reward_status"; public static final String COL_REWARD_STATUS = "reward_status";
...@@ -234,4 +263,8 @@ public class AgentReward implements Serializable { ...@@ -234,4 +263,8 @@ public class AgentReward implements Serializable {
public static final String COL_DELETED_AT = "deleted_at"; public static final String COL_DELETED_AT = "deleted_at";
public static final String COL_CREATE_TIME = "create_time"; public static final String COL_CREATE_TIME = "create_time";
public static final String COL_ALL_MONEY_ORI = "all_money_ori";
public static final String COL_RATIO_ALL = "ratio_all";
} }
\ No newline at end of file
...@@ -27,6 +27,10 @@ public class AgentRewardMessage extends BaseModel { ...@@ -27,6 +27,10 @@ public class AgentRewardMessage extends BaseModel {
String subOrderSn; String subOrderSn;
BigDecimal orderCommission; BigDecimal orderCommission;
BigDecimal sourceUserPayment; BigDecimal sourceUserPayment;
String orderGoodsId;
String orderTitle;
String rewardTypeChild;
String orderRateArray;
// public AgentRewardMessage(int rewardType, String rechargeTime, int sourceUserId, String referenceId, int agentId, BigDecimal agentReward, int settleState, String orderType, String orderSn, String subOrderSn, BigDecimal orderCommission) { // public AgentRewardMessage(int rewardType, String rechargeTime, int sourceUserId, String referenceId, int agentId, BigDecimal agentReward, int settleState, String orderType, String orderSn, String subOrderSn, BigDecimal orderCommission) {
// this.rewardType = rewardType; // this.rewardType = rewardType;
// this.rechargeTime = rechargeTime; // this.rechargeTime = rechargeTime;
......
...@@ -190,6 +190,8 @@ public class AgentRewardQueueTask { ...@@ -190,6 +190,8 @@ public class AgentRewardQueueTask {
agentReward.setOrderType(message.getOrderType()); agentReward.setOrderType(message.getOrderType());
agentReward.setOrderSn(message.getOrderSn()); agentReward.setOrderSn(message.getOrderSn());
agentReward.setSubOrderSn(message.getSubOrderSn()); agentReward.setSubOrderSn(message.getSubOrderSn());
agentReward.setGoodsId(message.getOrderGoodsId());
agentReward.setTitle(message.getOrderTitle());
agentReward.setAgentLevel(agent.getLevel()); agentReward.setAgentLevel(agent.getLevel());
agentReward.setUserId(agent.getUserId()); agentReward.setUserId(agent.getUserId());
agentReward.setRewardRemark(AGENT_REWARD_REMARK.get(message.getRewardType())); agentReward.setRewardRemark(AGENT_REWARD_REMARK.get(message.getRewardType()));
...@@ -197,6 +199,7 @@ public class AgentRewardQueueTask { ...@@ -197,6 +199,7 @@ public class AgentRewardQueueTask {
agentReward.setSourceUserLevel(sourceUserLevel); agentReward.setSourceUserLevel(sourceUserLevel);
agentReward.setCreatedAt(System.currentTimeMillis() / 1000L); agentReward.setCreatedAt(System.currentTimeMillis() / 1000L);
agentReward.setCommissionRate(commissionRate); agentReward.setCommissionRate(commissionRate);
agentReward.setRewardTypeChild(message.getRewardTypeChild());
/** /**
* agent_reward里: * agent_reward里:
* money 面额(message里, 需要上供的代理商自己获得的奖励) * money 面额(message里, 需要上供的代理商自己获得的奖励)
...@@ -209,14 +212,28 @@ public class AgentRewardQueueTask { ...@@ -209,14 +212,28 @@ public class AgentRewardQueueTask {
if (rewardType == AGENT_REWARD_TYPE_YEAR_VIP || rewardType == AGENT_REWARD_TYPE_HALF_YEAR_VIP || rewardType == AGENT_REWARD_TYPE_SVIP) { if (rewardType == AGENT_REWARD_TYPE_YEAR_VIP || rewardType == AGENT_REWARD_TYPE_HALF_YEAR_VIP || rewardType == AGENT_REWARD_TYPE_SVIP) {
rewardBasement = message.getSourceUserPayment(); rewardBasement = message.getSourceUserPayment();
} else { } else {
/**
* 订单相关, 还需要写入两个字段:all_money_ori 原始佣金, 继承下来的比例数组
*/
rewardBasement = message.getAgentReward(); rewardBasement = message.getAgentReward();
agentReward.setAllMoneyOri(message.getOrderCommission());
agentReward.setRatioAll(message.getOrderRateArray());
} }
BigDecimal reward = rewardBasement.multiply(commissionRate);
/**
* 小于0.000001的奖励 不写入
*/
if (reward.compareTo(MIN_REWARD) < 0) {
logger.info("代理商({})平推奖励金额小于0.000001, 忽略不写入. msg:{}", agent.getAgentId(), message);
return true;
} else {
agentReward.setMoney(rewardBasement); agentReward.setMoney(rewardBasement);
agentReward.setCommissionAcount(rewardBasement); agentReward.setCommissionAcount(rewardBasement);
agentReward.setAmount(rewardBasement.multiply(commissionRate)); agentReward.setAmount(reward);
agentReward.setCommission(rewardBasement.multiply(commissionRate)); agentReward.setCommission(reward);
agentReward.setCashCode("0"); agentReward.setCashCode("0");
return agentRewardService.save(agentReward); return agentRewardService.save(agentReward);
}
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
return false; return false;
......
package com.lanren.huhu.partner.schedule; package com.lanren.huhu.partner.schedule;
import com.lanren.huhu.partner.domain.AgentRevokeRecords;
import com.lanren.huhu.partner.domain.AgentReward;
import com.lanren.huhu.partner.service.AgentRevokeRecordsService;
import com.lanren.huhu.partner.service.AgentRewardService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.List;
import static com.lanren.huhu.partner.constants.Constants.*;
/** /**
* @author chen * @author chen
* @title: RevokeAgentRewardTask * @title: RevokeAgentRewardTask
...@@ -15,23 +27,81 @@ import org.springframework.stereotype.Component; ...@@ -15,23 +27,81 @@ import org.springframework.stereotype.Component;
@Component @Component
public class RevokeAgentRewardTask { public class RevokeAgentRewardTask {
private static Logger logger = LoggerFactory.getLogger(RevokeAgentRewardTask.class); private static Logger logger = LoggerFactory.getLogger(RevokeAgentRewardTask.class);
// @Autowired
// AgentRevokeRecordsService agentRevokeRecordsService; @Autowired
// AgentRevokeRecordsService agentRevokeRecordsService;
// @Scheduled(fixedDelay = 5000L) @Autowired
// public void runScheduledTask() { AgentRewardService agentRewardService;
// logger.info("run RevokeAgentRewardTask");
// runConsume(); @Scheduled(fixedDelay = 5000L)
// } public void runScheduledTask() {
// logger.info("run RevokeAgentRewardTask");
// private void runConsume() { runConsume();
// try { }
// AgentRevokeRecords revokeRecords = agentRevokeRecordsService.getOnePending();
// if (null != revokeRecords) { private void runConsume() {
// List<AgentRevokeRecords> revokeRecordList = null;
// } while (true) {
// } catch (Exception e) { try {
// logger.error(e.getMessage(), e); revokeRecordList = agentRevokeRecordsService.getAllPending();
// } if (null == revokeRecordList || revokeRecordList.size() == 0) {
// } break;
}
process(revokeRecordList);
} catch (Exception e) {
logger.error("process revoke failed. {}", revokeRecordList);
logger.error(e.getMessage(), e);
}
}
}
@Async
public void process(List<AgentRevokeRecords> revokeRecordList) {
for (AgentRevokeRecords agentRevokeRecord : revokeRecordList) {
process(agentRevokeRecord);
}
}
public void process(AgentRevokeRecords revokeRecord) {
int revokeType = revokeRecord.getRevokeType();
if (!AGENT_REVOKE_TYPE_MAP.keySet().contains(revokeType)) {
logger.info("未知的奖励类型 跳过不处理: {}", revokeRecord);
return;
}
AgentReward agentReward = null;
if (revokeType == AGENT_REVOKE_TYPE_ACTIVATION || revokeType == AGENT_REVOKE_TYPE_SELF_ORDER) {
agentReward = agentRewardService.getOneByRefId(revokeRecord.getRefId());
} else if (revokeType == AGENT_REVOKE_TYPE_SHARE_ORDER) {
agentReward = agentRewardService.getOneBySubOrderSn(revokeRecord.getOrderType(), revokeRecord.getOrderSn(), revokeRecord.getSubOrderSn());
} else {
revokeRecord.setState(REVOKE_STATE_DO_NOTHING);
}
/**
* 已结算状态 插负, 未结算状态 抹平
*/
if (null != agentReward) {
if (agentReward.getSettleState() == SETTLE_STATE_DONE) {
agentReward.setAmount(agentReward.getAmount().negate());
agentReward.setCommission(agentReward.getCommission().negate());
if (agentRewardService.insertOne(agentReward) > 0) {
revokeRecord.setState(REVOKE_STATE_DONE);
} else {
revokeRecord.setState(REVOKE_STATE_FAILED);
}
} else if (agentReward.getSettleState() == SETTLE_STATE_ON_THE_WAY || agentReward.getSettleState() == SETTLE_STATE_PRE) {
agentReward.setAmount(new BigDecimal(0));
agentReward.setCommission(new BigDecimal(0));
if (agentRewardService.updateById(agentReward)) {
revokeRecord.setState(REVOKE_STATE_DONE);
} else {
revokeRecord.setState(REVOKE_STATE_FAILED);
}
} else {
revokeRecord.setState(REVOKE_STATE_DO_NOTHING);
}
} else {
revokeRecord.setState(REVOKE_STATE_DO_NOTHING);
}
agentRevokeRecordsService.updateById(revokeRecord);
}
} }
...@@ -22,5 +22,5 @@ public interface AgentRevokeRecordsService extends IService<AgentRevokeRecords>{ ...@@ -22,5 +22,5 @@ public interface AgentRevokeRecordsService extends IService<AgentRevokeRecords>{
int insertOrUpdateSelective(AgentRevokeRecords record); int insertOrUpdateSelective(AgentRevokeRecords record);
AgentRevokeRecords getOnePending(); List<AgentRevokeRecords> getAllPending();
} }
...@@ -24,5 +24,12 @@ public interface AgentRewardService extends IService<AgentReward> { ...@@ -24,5 +24,12 @@ public interface AgentRewardService extends IService<AgentReward> {
int insertOrUpdateSelective(AgentReward record); int insertOrUpdateSelective(AgentReward record);
AgentReward getOneByRefId(String refId);
AgentReward getOneBySubOrderSn(String orderType, String orderSn, String subOrderSn);
int insertOne(AgentReward record);
} }
...@@ -8,6 +8,9 @@ import com.lanren.huhu.partner.service.AgentRevokeRecordsService; ...@@ -8,6 +8,9 @@ import com.lanren.huhu.partner.service.AgentRevokeRecordsService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import static com.lanren.huhu.partner.constants.Constants.REVOKE_STATE_PENDING;
/** /**
* @title: ${NAME} * @title: ${NAME}
* @projectName partner * @projectName partner
...@@ -17,10 +20,6 @@ import java.util.List; ...@@ -17,10 +20,6 @@ import java.util.List;
*/ */
@Service @Service
public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecordsMapper, AgentRevokeRecords> implements AgentRevokeRecordsService{ public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecordsMapper, AgentRevokeRecords> implements AgentRevokeRecordsService{
private static final int STATE_PENDING = 100;
private static final int STATE_DONE = 120;
private static final int STATE_DO_NOTHING = 190;
@Override @Override
public int updateBatch(List<AgentRevokeRecords> list) { public int updateBatch(List<AgentRevokeRecords> list) {
return baseMapper.updateBatch(list); return baseMapper.updateBatch(list);
...@@ -39,9 +38,9 @@ public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecord ...@@ -39,9 +38,9 @@ public class AgentRevokeRecordsServiceImpl extends ServiceImpl<AgentRevokeRecord
} }
@Override @Override
public AgentRevokeRecords getOnePending() { public List<AgentRevokeRecords> getAllPending() {
QueryWrapper<AgentRevokeRecords> wrapper = new QueryWrapper<AgentRevokeRecords>(); QueryWrapper<AgentRevokeRecords> wrapper = new QueryWrapper<AgentRevokeRecords>();
wrapper.eq("state", STATE_PENDING).orderByAsc("updated_at"); wrapper.eq("state", REVOKE_STATE_PENDING).orderByAsc("updated_at");
return baseMapper.selectOne(wrapper); return baseMapper.selectList(wrapper);
} }
} }
...@@ -6,6 +6,7 @@ import com.lanren.huhu.partner.domain.AgentReward; ...@@ -6,6 +6,7 @@ import com.lanren.huhu.partner.domain.AgentReward;
import com.lanren.huhu.partner.service.AgentRewardService; import com.lanren.huhu.partner.service.AgentRewardService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
...@@ -38,5 +39,24 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent ...@@ -38,5 +39,24 @@ public class AgentRewardServiceImpl extends ServiceImpl<AgentRewardMapper, Agent
public int insertOrUpdateSelective(AgentReward record) { public int insertOrUpdateSelective(AgentReward record) {
return baseMapper.insertOrUpdateSelective(record); return baseMapper.insertOrUpdateSelective(record);
} }
@Override
public AgentReward getOneByRefId(String refId) {
return null;
}
@Override
public AgentReward getOneBySubOrderSn(String orderType, String orderSn, String subOrderSn) {
return null;
}
@Override
public int insertOne(AgentReward record) {
List<AgentReward> list = new ArrayList<AgentReward>();
list.add(record);
return batchInsert(list);
}
} }
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
<result column="agent_level" property="agentLevel" /> <result column="agent_level" property="agentLevel" />
<result column="user_id" property="userId" /> <result column="user_id" property="userId" />
<result column="reward_type" property="rewardType" /> <result column="reward_type" property="rewardType" />
<result column="reward_type_child" property="rewardTypeChild" />
<result column="source_type_v" property="sourceTypeV" />
<result column="reward_remark" property="rewardRemark" /> <result column="reward_remark" property="rewardRemark" />
<result column="reward_status" property="rewardStatus" /> <result column="reward_status" property="rewardStatus" />
<result column="money" property="money" /> <result column="money" property="money" />
...@@ -32,14 +34,16 @@ ...@@ -32,14 +34,16 @@
<result column="updated_at" property="updatedAt" /> <result column="updated_at" property="updatedAt" />
<result column="deleted_at" property="deletedAt" /> <result column="deleted_at" property="deletedAt" />
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
<result column="all_money_ori" property="allMoneyOri" />
<result column="ratio_all" property="ratioAll" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, agent_id, agent_level, user_id, reward_type, reward_remark, reward_status, money, id, agent_id, agent_level, user_id, reward_type, reward_type_child, source_type_v,
amount, cash_code, recharge_time, commission_acount, commission_rate, commission, reward_remark, reward_status, money, amount, cash_code, recharge_time, commission_acount,
reference_id, settle_state, source_order, source_user_id, source_user_level, goods_id, commission_rate, commission, reference_id, settle_state, source_order, source_user_id,
title, order_type, order_sn, sub_order_sn, reward_extend, created_at, updated_at, source_user_level, goods_id, title, order_type, order_sn, sub_order_sn, reward_extend,
deleted_at, create_time created_at, updated_at, deleted_at, create_time, all_money_ori, ratio_all
</sql> </sql>
<update id="updateBatch" parameterType="java.util.List"> <update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated--> <!--@mbg.generated-->
...@@ -65,6 +69,16 @@ ...@@ -65,6 +69,16 @@
when id = #{item.id} then #{item.rewardType} when id = #{item.id} then #{item.rewardType}
</foreach> </foreach>
</trim> </trim>
<trim prefix="reward_type_child = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.rewardTypeChild}
</foreach>
</trim>
<trim prefix="source_type_v = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.sourceTypeV}
</foreach>
</trim>
<trim prefix="reward_remark = case" suffix="end,"> <trim prefix="reward_remark = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.rewardRemark} when id = #{item.id} then #{item.rewardRemark}
...@@ -185,6 +199,16 @@ ...@@ -185,6 +199,16 @@
when id = #{item.id} then #{item.createTime} when id = #{item.id} then #{item.createTime}
</foreach> </foreach>
</trim> </trim>
<trim prefix="all_money_ori = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.allMoneyOri}
</foreach>
</trim>
<trim prefix="ratio_all = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.ratioAll}
</foreach>
</trim>
</trim> </trim>
where id in where id in
<foreach close=")" collection="list" item="item" open="(" separator=", "> <foreach close=")" collection="list" item="item" open="(" separator=", ">
...@@ -194,20 +218,21 @@ ...@@ -194,20 +218,21 @@
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true"> <insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into agent_reward insert into agent_reward
(agent_id, agent_level, user_id, reward_type, reward_remark, reward_status, money, (agent_id, agent_level, user_id, reward_type, reward_type_child, source_type_v, reward_remark,
amount, cash_code, recharge_time, commission_acount, commission_rate, commission, reward_status, money, amount, cash_code, recharge_time, commission_acount, commission_rate,
reference_id, settle_state, source_order, source_user_id, source_user_level, goods_id, commission, reference_id, settle_state, source_order, source_user_id, source_user_level,
title, order_type, order_sn, sub_order_sn, reward_extend, created_at, updated_at, goods_id, title, order_type, order_sn, sub_order_sn, reward_extend, created_at,
deleted_at, create_time) updated_at, deleted_at, create_time, all_money_ori, ratio_all)
values values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.agentId}, #{item.agentLevel}, #{item.userId}, #{item.rewardType}, #{item.rewardRemark}, (#{item.agentId}, #{item.agentLevel}, #{item.userId}, #{item.rewardType}, #{item.rewardTypeChild},
#{item.rewardStatus}, #{item.money}, #{item.amount}, #{item.cashCode}, #{item.rechargeTime}, #{item.sourceTypeV}, #{item.rewardRemark}, #{item.rewardStatus}, #{item.money},
#{item.commissionAcount}, #{item.commissionRate}, #{item.commission}, #{item.referenceId}, #{item.amount}, #{item.cashCode}, #{item.rechargeTime}, #{item.commissionAcount},
#{item.settleState}, #{item.sourceOrder}, #{item.sourceUserId}, #{item.sourceUserLevel}, #{item.commissionRate}, #{item.commission}, #{item.referenceId}, #{item.settleState},
#{item.goodsId}, #{item.title}, #{item.orderType}, #{item.orderSn}, #{item.subOrderSn}, #{item.sourceOrder}, #{item.sourceUserId}, #{item.sourceUserLevel}, #{item.goodsId},
#{item.rewardExtend}, #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.title}, #{item.orderType}, #{item.orderSn}, #{item.subOrderSn}, #{item.rewardExtend},
#{item.createTime}) #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.createTime}, #{item.allMoneyOri},
#{item.ratioAll})
</foreach> </foreach>
</insert> </insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentReward" useGeneratedKeys="true"> <insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentReward" useGeneratedKeys="true">
...@@ -221,6 +246,8 @@ ...@@ -221,6 +246,8 @@
agent_level, agent_level,
user_id, user_id,
reward_type, reward_type,
reward_type_child,
source_type_v,
reward_remark, reward_remark,
reward_status, reward_status,
money, money,
...@@ -245,6 +272,8 @@ ...@@ -245,6 +272,8 @@
updated_at, updated_at,
deleted_at, deleted_at,
create_time, create_time,
all_money_ori,
ratio_all,
</trim> </trim>
values values
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -255,6 +284,8 @@ ...@@ -255,6 +284,8 @@
#{agentLevel}, #{agentLevel},
#{userId}, #{userId},
#{rewardType}, #{rewardType},
#{rewardTypeChild},
#{sourceTypeV},
#{rewardRemark}, #{rewardRemark},
#{rewardStatus}, #{rewardStatus},
#{money}, #{money},
...@@ -279,6 +310,8 @@ ...@@ -279,6 +310,8 @@
#{updatedAt}, #{updatedAt},
#{deletedAt}, #{deletedAt},
#{createTime}, #{createTime},
#{allMoneyOri},
#{ratioAll},
</trim> </trim>
on duplicate key update on duplicate key update
<trim suffixOverrides=","> <trim suffixOverrides=",">
...@@ -289,6 +322,8 @@ ...@@ -289,6 +322,8 @@
agent_level = #{agentLevel}, agent_level = #{agentLevel},
user_id = #{userId}, user_id = #{userId},
reward_type = #{rewardType}, reward_type = #{rewardType},
reward_type_child = #{rewardTypeChild},
source_type_v = #{sourceTypeV},
reward_remark = #{rewardRemark}, reward_remark = #{rewardRemark},
reward_status = #{rewardStatus}, reward_status = #{rewardStatus},
money = #{money}, money = #{money},
...@@ -313,6 +348,8 @@ ...@@ -313,6 +348,8 @@
updated_at = #{updatedAt}, updated_at = #{updatedAt},
deleted_at = #{deletedAt}, deleted_at = #{deletedAt},
create_time = #{createTime}, create_time = #{createTime},
all_money_ori = #{allMoneyOri},
ratio_all = #{ratioAll},
</trim> </trim>
</insert> </insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentReward" useGeneratedKeys="true"> <insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentReward" useGeneratedKeys="true">
...@@ -334,6 +371,12 @@ ...@@ -334,6 +371,12 @@
<if test="rewardType != null"> <if test="rewardType != null">
reward_type, reward_type,
</if> </if>
<if test="rewardTypeChild != null">
reward_type_child,
</if>
<if test="sourceTypeV != null">
source_type_v,
</if>
<if test="rewardRemark != null"> <if test="rewardRemark != null">
reward_remark, reward_remark,
</if> </if>
...@@ -406,6 +449,12 @@ ...@@ -406,6 +449,12 @@
<if test="createTime != null"> <if test="createTime != null">
create_time, create_time,
</if> </if>
<if test="allMoneyOri != null">
all_money_ori,
</if>
<if test="ratioAll != null">
ratio_all,
</if>
</trim> </trim>
values values
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -424,6 +473,12 @@ ...@@ -424,6 +473,12 @@
<if test="rewardType != null"> <if test="rewardType != null">
#{rewardType}, #{rewardType},
</if> </if>
<if test="rewardTypeChild != null">
#{rewardTypeChild},
</if>
<if test="sourceTypeV != null">
#{sourceTypeV},
</if>
<if test="rewardRemark != null"> <if test="rewardRemark != null">
#{rewardRemark}, #{rewardRemark},
</if> </if>
...@@ -496,6 +551,12 @@ ...@@ -496,6 +551,12 @@
<if test="createTime != null"> <if test="createTime != null">
#{createTime}, #{createTime},
</if> </if>
<if test="allMoneyOri != null">
#{allMoneyOri},
</if>
<if test="ratioAll != null">
#{ratioAll},
</if>
</trim> </trim>
on duplicate key update on duplicate key update
<trim suffixOverrides=","> <trim suffixOverrides=",">
...@@ -514,6 +575,12 @@ ...@@ -514,6 +575,12 @@
<if test="rewardType != null"> <if test="rewardType != null">
reward_type = #{rewardType}, reward_type = #{rewardType},
</if> </if>
<if test="rewardTypeChild != null">
reward_type_child = #{rewardTypeChild},
</if>
<if test="sourceTypeV != null">
source_type_v = #{sourceTypeV},
</if>
<if test="rewardRemark != null"> <if test="rewardRemark != null">
reward_remark = #{rewardRemark}, reward_remark = #{rewardRemark},
</if> </if>
...@@ -586,6 +653,12 @@ ...@@ -586,6 +653,12 @@
<if test="createTime != null"> <if test="createTime != null">
create_time = #{createTime}, create_time = #{createTime},
</if> </if>
<if test="allMoneyOri != null">
all_money_ori = #{allMoneyOri},
</if>
<if test="ratioAll != null">
ratio_all = #{ratioAll},
</if>
</trim> </trim>
</insert> </insert>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment