Commit fcd9a793 by guanchen

添加合伙人按月结算

parent 29a7d37e
......@@ -15,7 +15,7 @@ import java.util.Map;
public class Constants {
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 String AGENT_REWARD_TYPE_YEAR_VIP_REMARK = "城市代理商所得的购买年-VIP";
......@@ -56,12 +56,17 @@ public class Constants {
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 int SETTLE_STATE_FAILED = -300;
/**
* 财务结算状态
*/
public static final int REWARD_STATUS_UNSETTLE = 100;
public static final int REWARD_STATUS_SETTLE = 120;
/**
* 最小奖励金额 小于此不写入
*/
......@@ -72,6 +77,52 @@ public class Constants {
*/
public static final String AGENT_REWARD_PUSH_KEY = "agent:reward:queue";
/**
* 合伙人
*/
public static final int PARTNER_REWARD_TYPE_REDPACK = 60;
public static final String PARTNER_REWARD_TYPE_REDPACK_REMARK = "用户在线充值";
public static final int PARTNER_REWARD_TYPE_VIP = 70;
public static final String PARTNER_REWARD_TYPE_VIP_REMARK = "升高开户充值";
public static final int PARTNER_REWARD_TYPE_INVITE = 80;
public static final String PARTNER_REWARD_TYPE_INVITE_REMARK = "邀请奖励";
public static final int PARTNER_REWARD_TYPE_ORDER_ACTIVE = 90;
public static final String PARTNER_REWARD_TYPE_ORDER_ACTIVE_REMARK = "下单奖励";
public static final int PARTNER_REWARD_TYPE_SVIP = 100;
public static final String PARTNER_REWARD_TYPE_SVIP_REMARK = "购买超级VIP会员";
public static final int PARTNER_REWARD_TYPE_PURCHASE = 110;
public static final String PARTNER_REWARD_TYPE_PURCHASE_REMARK = "购物奖励";
public static final int PARTNER_REWARD_TYPE_SHARE = 120;
public static final String PARTNER_REWARD_TYPE_SHARE_REMARK = "分享赚奖励";
/**
* 订单状态
*/
public static final int ORDER_STATE_FAILED = -3;
public static final int ORDER_STATE_PAID = 1;
public static final int ORDER_STATE_SETTLED = 3;
/**
* 阶梯算税
*/
public static final BigDecimal TAX_STAGE_FREE_BASE = new BigDecimal("800");
public static final BigDecimal TAX_STAGE_1 = new BigDecimal("4000");
public static final BigDecimal TAX_STAGE_1_RATE1 = new BigDecimal("0.2"); //800-4000
public static final BigDecimal TAX_STAGE_1_RATE2 = new BigDecimal("0.76");
public static final BigDecimal TAX_STAGE_WX_MAX = new BigDecimal("17076.5"); //4000-17076.5
public static final BigDecimal TAX_STAGE_WX_MAX_RATE1 = new BigDecimal("0.8"); //
public static final BigDecimal TAX_STAGE_WX_MAX_RATE2 = new BigDecimal("0.2"); //
public static final BigDecimal TAX_STAGE_WX_MAX_RATE3 = new BigDecimal("0.76"); //
public static final BigDecimal BANK_RATE = new BigDecimal("0.1");
/**
* 合伙人变更记录
*/
public static final int PARTNER_ACCOUNT_LOG_TYPE_SETTLE = 50;
public static final String PARTNER_ACCOUNT_LOG_TYPE_SETTLE_REMARK = "月结发钱";
public static final int PARTNER_ACCOUNT_LOG_TYPE_TECH_CHARGE = 80;
public static final String PARTNER_ACCOUNT_LOG_TYPE_TECH_CHARGE_REMARK = "平台技术服务费";
public static final int PARTNER_ACCOUNT_LOG_TYPE_TAX = 70;
public static final String PARTNER_ACCOUNT_LOG_TYPE_TAX_REMARK = "代扣个人所得税";
static {
/**
* 代理商平推奖励比例配置
......
package com.lanren.huhu.partner.controller; import com.lanren.huhu.partner.manager.PartnerManager;import com.lanren.huhu.partner.model.Partner;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpHeaders;import org.springframework.web.bind.annotation.*; import javax.validation.Valid;import java.time.LocalDateTime; /** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */@RestController@RequestMapping("/v1/partner")public class PartnerController { private static Logger logger = LoggerFactory.getLogger(PartnerController.class); @Autowired private PartnerManager partnerManager; @RequestMapping(value = "/level", method = RequestMethod.POST) public Result<PartnerResponse> getPartnerLevel(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("getPartnerLevel userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.getPartnerLevel(partner.getUserId()); }}
\ No newline at end of file
package com.lanren.huhu.partner.controller; import com.lanren.huhu.partner.manager.PartnerManager;import com.lanren.huhu.partner.model.Partner;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpHeaders;import org.springframework.web.bind.annotation.*; import javax.validation.Valid;import java.time.LocalDateTime; /** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */@RestController@RequestMapping("/v1/partner")public class PartnerController { private static Logger logger = LoggerFactory.getLogger(PartnerController.class); @Autowired private PartnerManager partnerManager; @RequestMapping(value = "/level", method = RequestMethod.POST) public Result<PartnerResponse> getPartnerLevel(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("getPartnerLevel userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.getPartnerLevel(partner.getUserId()); } /** * 测试使用 结算单个用户 */ @RequestMapping(value = "/finance", method = RequestMethod.POST) public Result<PartnerResponse> doFinanceSettle(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("doFinanceSettle userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.doFinanceSettle(partner.getUserId()); }}
\ No newline at end of file
......
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanren.huhu.partner.domain.AgentAccountLog;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface AgentAccountLogMapper extends BaseMapper<AgentAccountLog> {
int updateBatch(List<AgentAccountLog> list);
int batchInsert(@Param("list") List<AgentAccountLog> list);
int insertOrUpdate(AgentAccountLog record);
int insertOrUpdateSelective(AgentAccountLog record);
}
\ No newline at end of file
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanren.huhu.partner.domain.AgentIncomeSummary;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface AgentIncomeSummaryMapper extends BaseMapper<AgentIncomeSummary> {
int updateBatch(List<AgentIncomeSummary> list);
int batchInsert(@Param("list") List<AgentIncomeSummary> list);
int insertOrUpdate(AgentIncomeSummary record);
int insertOrUpdateSelective(AgentIncomeSummary record);
}
\ No newline at end of file
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface OrderTaobaoJdGoodsCommissionMapper extends BaseMapper<OrderTaobaoJdGoodsCommission> {
int updateBatch(List<OrderTaobaoJdGoodsCommission> list);
int batchInsert(@Param("list") List<OrderTaobaoJdGoodsCommission> list);
int insertOrUpdate(OrderTaobaoJdGoodsCommission record);
int insertOrUpdateSelective(OrderTaobaoJdGoodsCommission record);
}
\ No newline at end of file
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanren.huhu.partner.domain.OrdersActive;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface OrdersActiveMapper extends BaseMapper<OrdersActive> {
int updateBatch(List<OrdersActive> list);
int batchInsert(@Param("list") List<OrdersActive> list);
int insertOrUpdate(OrdersActive record);
int insertOrUpdateSelective(OrdersActive record);
}
\ No newline at end of file
......@@ -37,4 +37,6 @@ public interface PartnerAccountMapper extends BaseMapper<PartnerAccount> {
"JOIN partner_account b on a.user_id=b.user_id " +
"WHERE a.invite_user_id=#{userId}")
List<PartnerAccount> getChildListByUserId(Integer userId);
PartnerAccount selectOneForUpdate(Integer userId);
}
\ No newline at end of file
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lanren.huhu.partner.domain.PartnerIncomeSummary;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface PartnerIncomeSummaryMapper extends BaseMapper<PartnerIncomeSummary> {
int updateBatch(List<PartnerIncomeSummary> list);
int batchInsert(@Param("list") List<PartnerIncomeSummary> list);
int insertOrUpdate(PartnerIncomeSummary record);
int insertOrUpdateSelective(PartnerIncomeSummary record);
}
\ No newline at end of file
package com.lanren.huhu.partner.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lanren.huhu.partner.domain.PartnerReward;
import java.util.List;
import com.lanren.huhu.partner.model.PartnerSettle;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface PartnerRewardMapper extends BaseMapper<PartnerReward> {
int updateBatch(List<PartnerReward> list);
......@@ -15,4 +19,14 @@ public interface PartnerRewardMapper extends BaseMapper<PartnerReward> {
int insertOrUpdate(PartnerReward record);
int insertOrUpdateSelective(PartnerReward record);
IPage<PartnerReward> selectOrderRewardPageByTs(Page<PartnerReward> page, @Param("beginTs") Long beginTs, @Param("endTs") Long endTs);
IPage<PartnerReward> selectOrderRewardPageByTsAndUid(Page<PartnerReward> page, Long beginTs, Long endTs, Integer userId);
IPage<PartnerSettle> selectPartnerSettlePageByTs(Page<PartnerSettle> page, Long beginTs, Long endTs);
PartnerSettle selectPartnerSettleByTsAndUid(Long beginTs, Long endTs, Integer userId);
int updateRewardStatusByUidAndTs(Integer userId, Long beginTs, Long endTs);
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
@Data
@TableName(value = "agent_account_log")
public class AgentAccountLog implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
@TableField(value = "user_id")
private Integer userId;
/**
* 代理商id
*/
@TableField(value = "agent_id")
private Integer agentId;
/**
* 年份
*/
@TableField(value = "yeartime")
private Integer yeartime;
/**
* 月份
*/
@TableField(value = "monthtime")
private Integer monthtime;
/**
* 每日日期
*/
@TableField(value = "daytime")
private Integer daytime;
/**
* 变化类型 10 微信 20支付宝 30 银联 40 银行卡 、50呼呼结算、60首月奖励 、70税费、80平台服务费、90平台扣除
*/
@TableField(value = "type")
private Integer type;
/**
* 变化的金额 进账为正数 出账为负数
*/
@TableField(value = "change_num")
private BigDecimal changeNum;
/**
* 变化的之后的金额
*/
@TableField(value = "changed_amount")
private BigDecimal changedAmount;
/**
* 变更的当前时间戳 秒级
*/
@TableField(value = "change_time")
private Integer changeTime;
/**
* 状态 20是已经处理(充值后者减值,10是待处理)
*/
@TableField(value = "pay_state")
private Integer payState;
/**
* 支付平台 系统hupay、微信wxpay、支付宝 alipay 、银联支付 unionpay 、银行卡cardpay
*/
@TableField(value = "pay_platform")
private String payPlatform;
/**
* 支付类型,10充值,20消费,30提现,40退款, 50合伙人奖励,60充值奖励,70 激活现金,80提现回退,90系统赠送,100系统扣除,110呼呼按月结算,120首月奖励,130代扣税费,140平台服务费
*/
@TableField(value = "pay_type")
private Boolean payType;
/**
* 类型描述 与pay_type 对应
*/
@TableField(value = "pay_remark")
private String payRemark;
/**
* 文字描述
*/
@TableField(value = "pay_info")
private String payInfo;
/**
* 参考ID 就是发生变化的订单id 支付 充值 提现、奖励的主键id
*/
@TableField(value = "reference_id")
private String referenceId;
@TableField(value = "create_time")
private LocalDateTime createTime;
@TableField(value = "modify_time")
private LocalDateTime modifyTime;
private static final long serialVersionUID = 1L;
public static final String COL_USER_ID = "user_id";
public static final String COL_AGENT_ID = "agent_id";
public static final String COL_YEARTIME = "yeartime";
public static final String COL_MONTHTIME = "monthtime";
public static final String COL_DAYTIME = "daytime";
public static final String COL_TYPE = "type";
public static final String COL_CHANGE_NUM = "change_num";
public static final String COL_CHANGED_AMOUNT = "changed_amount";
public static final String COL_CHANGE_TIME = "change_time";
public static final String COL_PAY_STATE = "pay_state";
public static final String COL_PAY_PLATFORM = "pay_platform";
public static final String COL_PAY_TYPE = "pay_type";
public static final String COL_PAY_REMARK = "pay_remark";
public static final String COL_PAY_INFO = "pay_info";
public static final String COL_REFERENCE_ID = "reference_id";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_MODIFY_TIME = "modify_time";
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "agent_income_summary")
public class AgentIncomeSummary implements Serializable {
/**
* ID序号
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
@TableField(value = "user_id")
private Integer userId;
/**
* 代理商id
*/
@TableField(value = "agent_id")
private Integer agentId;
/**
* 年份
*/
@TableField(value = "yeartime")
private Integer yeartime;
/**
* 月份
*/
@TableField(value = "monthtime")
private Integer monthtime;
/**
* 结算金额
*/
@TableField(value = "income")
private BigDecimal income;
/**
* 结算内容
*/
@TableField(value = "content")
private String content;
/**
* 结算状态 10未结算20已结算
*/
@TableField(value = "state")
private Integer state;
/**
* 结算时间
*/
@TableField(value = "settle_time")
private Integer settleTime;
/**
* 创建时间
*/
@TableField(value = "created_at")
private Integer createdAt;
/**
* 更新时间
*/
@TableField(value = "updated_at")
private Integer updatedAt;
private static final long serialVersionUID = 1L;
public static final String COL_USER_ID = "user_id";
public static final String COL_AGENT_ID = "agent_id";
public static final String COL_YEARTIME = "yeartime";
public static final String COL_MONTHTIME = "monthtime";
public static final String COL_INCOME = "income";
public static final String COL_CONTENT = "content";
public static final String COL_STATE = "state";
public static final String COL_SETTLE_TIME = "settle_time";
public static final String COL_CREATED_AT = "created_at";
public static final String COL_UPDATED_AT = "updated_at";
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "new_recruits_exclusive_log")
public class NewRecruitsExclusiveLog implements Serializable {
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 1:签到、2:呼呼
*/
@TableField(value = "app_id")
private Integer appId;
/**
* 商品id
*/
@TableField(value = "union_id")
private String unionId;
/**
* 到手价
*/
@TableField(value = "to_get_price")
private BigDecimal toGetPrice;
/**
* 开始时间
*/
@TableField(value = "start_time")
private Long startTime;
/**
* 结束时间
*/
@TableField(value = "end_time")
private Long endTime;
/**
* 创建时间
*/
@TableField(value = "created_at")
private Long createdAt;
/**
* 修改时间
*/
@TableField(value = "updated_at")
private Long updatedAt;
/**
* 最高补贴价
*/
@TableField(value = "max_subsidy_price")
private BigDecimal maxSubsidyPrice;
/**
* 平台价
*/
@TableField(value = "final_price")
private BigDecimal finalPrice;
/**
* 佣金比例
*/
@TableField(value = "commission_rate")
private BigDecimal commissionRate;
/**
* 优惠券价格
*/
@TableField(value = "coupon_amout")
private BigDecimal couponAmout;
private static final long serialVersionUID = 1L;
public static final String COL_APP_ID = "app_id";
public static final String COL_UNION_ID = "union_id";
public static final String COL_TO_GET_PRICE = "to_get_price";
public static final String COL_START_TIME = "start_time";
public static final String COL_END_TIME = "end_time";
public static final String COL_CREATED_AT = "created_at";
public static final String COL_UPDATED_AT = "updated_at";
public static final String COL_MAX_SUBSIDY_PRICE = "max_subsidy_price";
public static final String COL_FINAL_PRICE = "final_price";
public static final String COL_COMMISSION_RATE = "commission_rate";
public static final String COL_COUPON_AMOUT = "coupon_amout";
}
\ No newline at end of file
......@@ -4,28 +4,24 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
/**
* @author houseme
*/
@Data
@TableName(value = "huhu.order_taobao_jd_commission")
@TableName(value = "order_taobao_jd_commission")
public class OrderTaobaoJdCommission implements Serializable {
/**
* 订单类型 taobao:淘宝,jd:京东
*/
@TableId(value = "type", type = IdType.INPUT)
@TableId(value = "type", type = IdType.INPUT)
private String type;
/**
* 订单号
*/
@TableId(value = "order_sn", type = IdType.AUTO)
@TableId(value = "order_sn", type = IdType.INPUT)
private String orderSn;
/**
......@@ -187,6 +183,12 @@ public class OrderTaobaoJdCommission implements Serializable {
@TableField(value = "insert_time")
private LocalDateTime insertTime;
/**
* 新人专享订单最多返给用户金额
*/
@TableField(value = "huhu_subsidy_max")
private BigDecimal huhuSubsidyMax;
private static final long serialVersionUID = 1L;
public static final String COL_ORDER_SN_PARENT = "order_sn_parent";
......@@ -248,4 +250,6 @@ public class OrderTaobaoJdCommission implements Serializable {
public static final String COL_HUHU_COMMISSION_RATE = "huhu_commission_rate";
public static final String COL_INSERT_TIME = "insert_time";
public static final String COL_HUHU_SUBSIDY_MAX = "huhu_subsidy_max";
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
@Data
@TableName(value = "order_taobao_jd_goods_commission")
public class OrderTaobaoJdGoodsCommission implements Serializable {
/**
* 订单类型 taobao:淘宝,jd:京东
*/
@TableId(value = "type", type = IdType.INPUT)
private String type;
/**
* 订单号
*/
@TableId(value = "order_sn", type = IdType.INPUT)
private String orderSn;
/**
* 子订单编号
*/
@TableId(value = "sub_order_sn", type = IdType.INPUT)
private String subOrderSn;
/**
* 父订单号
*/
@TableField(value = "order_sn_parent")
private String orderSnParent;
/**
* 是否是父订单
*/
@TableField(value = "is_parent")
private Integer isParent;
/**
* 商品id
*/
@TableField(value = "goods_id")
private String goodsId;
/**
* 商品数
*/
@TableField(value = "goods_cnt")
private Integer goodsCnt;
/**
* 标题
*/
@TableField(value = "title")
private String title;
/**
* 预估佣金
*/
@TableField(value = "estimate_effect")
private BigDecimal estimateEffect;
/**
* 实际结算佣金
*/
@TableField(value = "commission_amount")
private BigDecimal commissionAmount;
/**
* 0未付款 1付款 2成功 3结算 -3失效
*/
@TableField(value = "order_state")
private Integer orderState;
/**
* 订单创建时间
*/
@TableField(value = "create_time")
private LocalDateTime createTime;
/**
* 结算时间
*/
@TableField(value = "settle_time")
private LocalDateTime settleTime;
/**
* 用户下单时支付金额
*/
@TableField(value = "order_amount")
private BigDecimal orderAmount;
/**
* 用户实际支付金额
*/
@TableField(value = "check_amount")
private BigDecimal checkAmount;
/**
* 是否预付订金订单 1是0否
*/
@TableField(value = "has_deposit")
private Integer hasDeposit;
/**
* 是否新人专享
*/
@TableField(value = "is_for_new")
private Integer isForNew;
/**
* 如果新人专享有多条,此为排序,只按排序值为1的结算补贴
*/
@TableField(value = "for_new_rank")
private Integer forNewRank;
/**
* 呼呼新人专享补贴快照
*/
@TableField(value = "huhu_subsidy_snapshot")
private BigDecimal huhuSubsidySnapshot;
/**
* 广告位名称
*/
@TableField(value = "pname")
private String pname;
/**
* 不给合伙人奖励: 1不给 0给
*/
@TableField(value = "no_invite_reward")
private Integer noInviteReward;
/**
* 呼呼新人专享实际补贴
*/
@TableField(value = "huhu_subsidy_actual")
private BigDecimal huhuSubsidyActual;
/**
* 呼呼新人专享实际补贴
*/
@TableField(value = "commission_snapshot")
private BigDecimal commissionSnapshot;
/**
* 呼呼给用户结算的佣金
*/
@TableField(value = "money")
private BigDecimal money;
/**
* 淘宝/京东/天猫
*/
@TableField(value = "order_type")
private String orderType;
/**
* 是否有维权退款
*/
@TableField(value = "has_refund")
private Integer hasRefund;
/**
* 是否京东PLUS
*/
@TableField(value = "is_jd_plus")
private Integer isJdPlus;
/**
* 乘系数之前的结算佣金
*/
@TableField(value = "all_money")
private BigDecimal allMoney;
/**
* 维权退款扣回佣金
*/
@TableField(value = "refund_amount")
private BigDecimal refundAmount;
/**
* 呼呼返佣比例
*/
@TableField(value = "huhu_commission_rate")
private BigDecimal huhuCommissionRate;
/**
* 是否大淘客分享订单
*/
@TableField(value = "is_share_order")
private Integer isShareOrder;
/**
* 插入时间
*/
@TableField(value = "insert_time")
private LocalDateTime insertTime;
/**
* 新人专享到手价
*/
@TableField(value = "to_get_price")
private BigDecimal toGetPrice;
/**
* 用户角色: 10普通,20VIP,30超V
*/
@TableField(value = "self_role")
private Integer selfRole;
/**
* 累计更新次数
*/
@TableField(value = "update_times")
private Integer updateTimes;
/**
* 新人专享订单最多返给用户金额
*/
@TableField(value = "huhu_subsidy_max")
private BigDecimal huhuSubsidyMax;
private static final long serialVersionUID = 1L;
public static final String COL_ORDER_SN_PARENT = "order_sn_parent";
public static final String COL_IS_PARENT = "is_parent";
public static final String COL_GOODS_ID = "goods_id";
public static final String COL_GOODS_CNT = "goods_cnt";
public static final String COL_TITLE = "title";
public static final String COL_ESTIMATE_EFFECT = "estimate_effect";
public static final String COL_COMMISSION_AMOUNT = "commission_amount";
public static final String COL_ORDER_STATE = "order_state";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_SETTLE_TIME = "settle_time";
public static final String COL_ORDER_AMOUNT = "order_amount";
public static final String COL_CHECK_AMOUNT = "check_amount";
public static final String COL_HAS_DEPOSIT = "has_deposit";
public static final String COL_IS_FOR_NEW = "is_for_new";
public static final String COL_FOR_NEW_RANK = "for_new_rank";
public static final String COL_HUHU_SUBSIDY_SNAPSHOT = "huhu_subsidy_snapshot";
public static final String COL_PNAME = "pname";
public static final String COL_NO_INVITE_REWARD = "no_invite_reward";
public static final String COL_HUHU_SUBSIDY_ACTUAL = "huhu_subsidy_actual";
public static final String COL_COMMISSION_SNAPSHOT = "commission_snapshot";
public static final String COL_MONEY = "money";
public static final String COL_ORDER_TYPE = "order_type";
public static final String COL_HAS_REFUND = "has_refund";
public static final String COL_IS_JD_PLUS = "is_jd_plus";
public static final String COL_ALL_MONEY = "all_money";
public static final String COL_REFUND_AMOUNT = "refund_amount";
public static final String COL_HUHU_COMMISSION_RATE = "huhu_commission_rate";
public static final String COL_IS_SHARE_ORDER = "is_share_order";
public static final String COL_INSERT_TIME = "insert_time";
public static final String COL_TO_GET_PRICE = "to_get_price";
public static final String COL_SELF_ROLE = "self_role";
public static final String COL_UPDATE_TIMES = "update_times";
public static final String COL_HUHU_SUBSIDY_MAX = "huhu_subsidy_max";
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
@Data
@TableName(value = "orders_active")
public class OrdersActive implements Serializable {
/**
* id序号
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 系统订单号
*/
@TableField(value = "order_id")
private String orderId;
/**
* 用户id
*/
@TableField(value = "user_id")
private Integer userId;
/**
* 订单号
*/
@TableField(value = "order_sn")
private String orderSn;
/**
* 订单类型 taobao:淘宝,jd:京东
*/
@TableField(value = "type")
private String type;
/**
* 标题
*/
@TableField(value = "title")
private String title;
/**
* 已激活用户显示当前佣金, 新用户显示预估佣金
*/
@TableField(value = "commission_snapshot")
private BigDecimal commissionSnapshot;
/**
* 预估佣金(不乘百分比的值)
*/
@TableField(value = "estimate_effect")
private BigDecimal estimateEffect;
/**
* 实际结算佣金(商家给呼呼结算的佣金)
*/
@TableField(value = "commission_amount")
private BigDecimal commissionAmount;
/**
* 维权退款返还佣金
*/
@TableField(value = "refund_amount")
private BigDecimal refundAmount;
/**
* 乘系数之前的给用户返佣金额(暂定)
*/
@TableField(value = "all_money")
private BigDecimal allMoney;
/**
* 结算金额(最终给用户结算金额)
*/
@TableField(value = "money")
private BigDecimal money;
/**
* 0未付款 1付款 3 结算 -3失效
*/
@TableField(value = "status")
private Integer status;
/**
* 订单创建时间
*/
@TableField(value = "create_time")
private LocalDateTime createTime;
/**
* 结算时间
*/
@TableField(value = "settle_time")
private LocalDateTime settleTime;
/**
* 倒计时最后时间
*/
@TableField(value = "last_time")
private LocalDateTime lastTime;
/**
* 用户实际支付金额
*/
@TableField(value = "amount")
private BigDecimal amount;
/**
* 是否是新人专享
*/
@TableField(value = "is_for_new")
private Integer isForNew;
/**
* 呼呼补贴金额快照
*/
@TableField(value = "huhu_subsidy_snapshot")
private BigDecimal huhuSubsidySnapshot;
/**
* 呼呼补贴金额实际
*/
@TableField(value = "huhu_subsidy_actual")
private BigDecimal huhuSubsidyActual;
/**
* 100 待激活 200 待结算 300 已结算 -100已失效
*/
@TableField(value = "active_state")
private Integer activeState;
/**
* 提交时间
*/
@TableField(value = "post_time")
private LocalDateTime postTime;
/**
* 激活时间
*/
@TableField(value = "active_time")
private LocalDateTime activeTime;
/**
* 创建时间
*/
@TableField(value = "created_at")
private Integer createdAt;
/**
* 系统结算时间
*/
@TableField(value = "updated_at")
private Integer updatedAt;
/**
* 是否预付订金订单 1是0否
*/
@TableField(value = "has_deposit")
private Integer hasDeposit;
/**
* 首提金额 0.00 默认不是首提
*/
@TableField(value = "first_withdraw_cash")
private BigDecimal firstWithdrawCash;
/**
* 是否首提 0否1是
*/
@TableField(value = "is_first_withdraw")
private Boolean isFirstWithdraw;
/**
* 是否拆单 0否1是
*/
@TableField(value = "is_split_order")
private Boolean isSplitOrder;
/**
* 父订单号
*/
@TableField(value = "parent_order_sn")
private String parentOrderSn;
/**
* 是否给合伙人奖励1不给0给
*/
@TableField(value = "no_invite_reward")
private Boolean noInviteReward;
/**
* 商品购买数量
*/
@TableField(value = "goods_cnt")
private Integer goodsCnt;
/**
* 订单状态200:待兑换 ;100:已兑换; 300:已失效
*/
@TableField(value = "order_state")
private Integer orderState;
/**
* 金额结算的父订单号
*/
@TableField(value = "settlement_parent_order_sn")
private String settlementParentOrderSn;
/**
* 是否结余订单(尾款单) 0:否;1:是
*/
@TableField(value = "is_surplus_order")
private Integer isSurplusOrder;
/**
* 是否消费红包,100消费 200不消费 0默认
*/
@TableField(value = "is_consume_money")
private Integer isConsumeMoney;
/**
* 是否可以提前结算的订单100 不是 200是提前7天 300是秒提
*/
@TableField(value = "is_advance_settle_order")
private Integer isAdvanceSettleOrder;
/**
* 激活订单的身份快照 0普通 100高级月vip 200高级半年vip 300高级年度vip 400超级月vip 500 超级年度vip
*/
@TableField(value = "active_identity")
private Integer activeIdentity;
/**
* 是否推送过结算任务0否1是
*/
@TableField(value = "is_push_settle_task")
private Integer isPushSettleTask;
/**
* 默认0 100助力 80非
*/
@TableField(value = "is_assist")
private Integer isAssist;
/**
* 最高比例
*/
@TableField(value = "max_rate")
private BigDecimal maxRate;
/**
* 最低比例
*/
@TableField(value = "mini_rate")
private BigDecimal miniRate;
private static final long serialVersionUID = 1L;
public static final String COL_ORDER_ID = "order_id";
public static final String COL_USER_ID = "user_id";
public static final String COL_ORDER_SN = "order_sn";
public static final String COL_TYPE = "type";
public static final String COL_TITLE = "title";
public static final String COL_COMMISSION_SNAPSHOT = "commission_snapshot";
public static final String COL_ESTIMATE_EFFECT = "estimate_effect";
public static final String COL_COMMISSION_AMOUNT = "commission_amount";
public static final String COL_REFUND_AMOUNT = "refund_amount";
public static final String COL_ALL_MONEY = "all_money";
public static final String COL_MONEY = "money";
public static final String COL_STATUS = "status";
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_SETTLE_TIME = "settle_time";
public static final String COL_LAST_TIME = "last_time";
public static final String COL_AMOUNT = "amount";
public static final String COL_IS_FOR_NEW = "is_for_new";
public static final String COL_HUHU_SUBSIDY_SNAPSHOT = "huhu_subsidy_snapshot";
public static final String COL_HUHU_SUBSIDY_ACTUAL = "huhu_subsidy_actual";
public static final String COL_ACTIVE_STATE = "active_state";
public static final String COL_POST_TIME = "post_time";
public static final String COL_ACTIVE_TIME = "active_time";
public static final String COL_CREATED_AT = "created_at";
public static final String COL_UPDATED_AT = "updated_at";
public static final String COL_HAS_DEPOSIT = "has_deposit";
public static final String COL_FIRST_WITHDRAW_CASH = "first_withdraw_cash";
public static final String COL_IS_FIRST_WITHDRAW = "is_first_withdraw";
public static final String COL_IS_SPLIT_ORDER = "is_split_order";
public static final String COL_PARENT_ORDER_SN = "parent_order_sn";
public static final String COL_NO_INVITE_REWARD = "no_invite_reward";
public static final String COL_GOODS_CNT = "goods_cnt";
public static final String COL_ORDER_STATE = "order_state";
public static final String COL_SETTLEMENT_PARENT_ORDER_SN = "settlement_parent_order_sn";
public static final String COL_IS_SURPLUS_ORDER = "is_surplus_order";
public static final String COL_IS_CONSUME_MONEY = "is_consume_money";
public static final String COL_IS_ADVANCE_SETTLE_ORDER = "is_advance_settle_order";
public static final String COL_ACTIVE_IDENTITY = "active_identity";
public static final String COL_IS_PUSH_SETTLE_TASK = "is_push_settle_task";
public static final String COL_IS_ASSIST = "is_assist";
public static final String COL_MAX_RATE = "max_rate";
public static final String COL_MINI_RATE = "mini_rate";
}
\ No newline at end of file
......@@ -4,15 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
@Data
@TableName(value = "partner_account_log")
public class PartnerAccountLog implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
......@@ -105,6 +106,12 @@ public class PartnerAccountLog implements Serializable {
@TableField(value = "modify_time")
private LocalDateTime modifyTime;
/**
* 变更前的快照
*/
@TableField(value = "snapshot")
private String snapshot;
private static final long serialVersionUID = 1L;
public static final String COL_USER_ID = "user_id";
......@@ -138,4 +145,6 @@ public class PartnerAccountLog implements Serializable {
public static final String COL_CREATE_TIME = "create_time";
public static final String COL_MODIFY_TIME = "modify_time";
public static final String COL_SNAPSHOT = "snapshot";
}
\ No newline at end of file
package com.lanren.huhu.partner.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "partner_income_summary")
public class PartnerIncomeSummary implements Serializable {
/**
* ID序号
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
@TableField(value = "user_id")
private Integer userId;
/**
* 年份
*/
@TableField(value = "yeartime")
private Integer yeartime;
/**
* 月份
*/
@TableField(value = "monthtime")
private Integer monthtime;
/**
* 结算金额
*/
@TableField(value = "income")
private BigDecimal income;
/**
* 结算内容
*/
@TableField(value = "content")
private String content;
/**
* 结算状态 10未结算20已结算
*/
@TableField(value = "state")
private Integer state;
/**
* 结算时间
*/
@TableField(value = "settle_time")
private Integer settleTime;
/**
* 创建时间
*/
@TableField(value = "created_at")
private Integer createdAt;
/**
* 更新时间
*/
@TableField(value = "updated_at")
private Integer updatedAt;
private static final long serialVersionUID = 1L;
public static final String COL_USER_ID = "user_id";
public static final String COL_YEARTIME = "yeartime";
public static final String COL_MONTHTIME = "monthtime";
public static final String COL_INCOME = "income";
public static final String COL_CONTENT = "content";
public static final String COL_STATE = "state";
public static final String COL_SETTLE_TIME = "settle_time";
public static final String COL_CREATED_AT = "created_at";
public static final String COL_UPDATED_AT = "updated_at";
}
\ No newline at end of file
......@@ -4,10 +4,12 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "partner_reward")
......@@ -15,7 +17,7 @@ public class PartnerReward implements Serializable {
/**
* ID序号
*/
@TableId(value = "id", type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
......@@ -37,12 +39,18 @@ public class PartnerReward implements Serializable {
private Integer userPartnerLevel;
/**
* 合伙人奖励类型 60 用户在线充值 70 升高开户充值,80邀请奖励,90下单奖励,100购买超级VIP会员,110购物奖励,120分享赚奖励
* 合伙人奖励类型 60 用户在线充值 70 升高开户充值,80邀请奖励,90下单奖励,100购买超级VIP会员,110购物奖励,120分享赚奖励 130 平台奖励
*/
@TableField(value = "reward_type")
private Integer rewardType;
/**
* 子类型 good_friend:好友奖励
*/
@TableField(value = "reward_type_child")
private String rewardTypeChild;
/**
* 状态 100待结算 120 已结算
*/
@TableField(value = "reward_status")
......@@ -70,7 +78,7 @@ public class PartnerReward implements Serializable {
* 用户充值时间
*/
@TableField(value = "recharge_time")
private LocalDateTime rechargeTime;
private Date rechargeTime;
/**
* 面值
......@@ -168,6 +176,24 @@ public class PartnerReward implements Serializable {
@TableField(value = "sub_order_sn")
private String subOrderSn;
/**
* 是否在客户端展示 1展示 0 不展示
*/
@TableField(value = "is_show_on_client")
private Boolean isShowOnClient;
/**
* 来源基础金额
*/
@TableField(value = "all_money_ori")
private BigDecimal allMoneyOri;
/**
* 该金额所有的计算比率值
*/
@TableField(value = "ratio_all")
private String ratioAll;
private static final long serialVersionUID = 1L;
public static final String COL_USER_ID = "user_id";
......@@ -178,6 +204,8 @@ public class PartnerReward implements Serializable {
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_REWARD_STATUS = "reward_status";
public static final String COL_COMMISSION_ACOUNT = "commission_acount";
......@@ -221,4 +249,10 @@ public class PartnerReward implements Serializable {
public static final String COL_ORDER_SN = "order_sn";
public static final String COL_SUB_ORDER_SN = "sub_order_sn";
public static final String COL_IS_SHOW_ON_CLIENT = "is_show_on_client";
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
package com.lanren.huhu.partner.manager; import com.lanren.huhu.partner.domain.PartnerAccount;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import com.lanren.huhu.partner.service.PartnerAccountService;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * @author houseme * @date 2019-06-26 10:56 * @Project partner * @Package com.lanren.huhu.partner.manager * @File: PartnerAccountManager */@Componentpublic class PartnerManager { private static Logger logger = LoggerFactory.getLogger(PartnerManager.class); @Autowired private PartnerAccountService partnerAccountService; /*** * 获取合伙人账户信息 * @param userId * @return */ public Result<PartnerAccount> findByUserId(Integer userId) { Result<PartnerAccount> result = new Result<>(); if (logger.isDebugEnabled()) { logger.info("PartnerAccountManager findByUserId userId:{},time:{}", userId, LocalDateTime.now()); } PartnerAccount partnerAccount = partnerAccountService.getOneByUserId(userId); result.setData(partnerAccount); return result; } /*** * 获取合伙人等级 10 普通, 20 高级, 30 超级 * @param userId * @return */ public Result<PartnerResponse> getPartnerLevel(Integer userId) { if (logger.isDebugEnabled()) { logger.info("PartnerAccountManager getPartnerLevel userId:{},time:{}", userId, LocalDateTime.now()); } Result<PartnerResponse> result = new Result<>(); PartnerAccount partnerAccount = partnerAccountService.getOneByUserId(userId); if (null != partnerAccount) { int partnerLevel; if (partnerAccount.getIsSuperPartner() == 1) { partnerLevel = 30; } else { partnerLevel = partnerAccount.getPartnerLevel(); } result.setData(new PartnerResponse(partnerLevel)); } else { result.setCode(601); } return result; }}
\ No newline at end of file
package com.lanren.huhu.partner.manager; import com.lanren.huhu.partner.domain.PartnerAccount;import com.lanren.huhu.partner.model.PartnerResponse;import com.lanren.huhu.partner.result.Result;import com.lanren.huhu.partner.schedule.PartnerSettleTask;import com.lanren.huhu.partner.service.PartnerAccountService;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * @author houseme * @date 2019-06-26 10:56 * @Project partner * @Package com.lanren.huhu.partner.manager * @File: PartnerAccountManager */@Componentpublic class PartnerManager { private static Logger logger = LoggerFactory.getLogger(PartnerManager.class); @Autowired private PartnerAccountService partnerAccountService; @Autowired private PartnerSettleTask partnerSettleTask; /*** * 获取合伙人账户信息 * @param userId * @return */ public Result<PartnerAccount> findByUserId(Integer userId) { Result<PartnerAccount> result = new Result<>(); if (logger.isDebugEnabled()) { logger.info("PartnerAccountManager findByUserId userId:{},time:{}", userId, LocalDateTime.now()); } PartnerAccount partnerAccount = partnerAccountService.getOneByUserId(userId); result.setData(partnerAccount); return result; } /*** * 获取合伙人等级 10 普通, 20 高级, 30 超级 * @param userId * @return */ public Result<PartnerResponse> getPartnerLevel(Integer userId) { if (logger.isDebugEnabled()) { logger.info("PartnerAccountManager getPartnerLevel userId:{},time:{}", userId, LocalDateTime.now()); } Result<PartnerResponse> result = new Result<>(); PartnerAccount partnerAccount = partnerAccountService.getOneByUserId(userId); if (null != partnerAccount) { int partnerLevel; if (partnerAccount.getIsSuperPartner() == 1) { partnerLevel = 30; } else { partnerLevel = partnerAccount.getPartnerLevel(); } result.setData(new PartnerResponse(partnerLevel)); } else { result.setCode(601); } return result; } public Result<PartnerResponse> doFinanceSettle(int userId) { Result<PartnerResponse> result = new Result<>(); if (partnerSettleTask.doOneUserSettle(userId)) { result.setCode(200); } else { result.setCode(500); } return result; }}
\ No newline at end of file
......
......@@ -189,10 +189,10 @@ public class UserManager {
logger.info("do recursiveSet for userId: {}", tree.getUserId());
if (logger.isDebugEnabled()) {
logger.info("do recursiveSet for userId: {}", tree.getUserId());
/**
* 先找到直接下级
*/
}
/**
* 先找到直接下级
*/
setChildList(tree, parentColumnName);
ArrayList<AgentTree> children = tree.getChildList();
/**
......
package com.lanren.huhu.partner.model;
import com.lanren.huhu.partner.model.base.BaseModel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author chen
* @title: PartnerSettle
* @projectName partner
* @description: 合伙人结算数据 sumOrderCommission 和 sumRedpack 的值 是扣除techCharge之后的值
* @package com.lanren.huhu.partner.model
* @date 2019-07-18 15:59
*/
@Data
public class PartnerSettle extends BaseModel {
private int userId;
private BigDecimal sumOrderCommission;
private BigDecimal sumRedpack;
private BigDecimal sumOthers;
private BigDecimal techCharge;
private BigDecimal wxIncome;
private BigDecimal wxTax;
private BigDecimal bankIncome;
private BigDecimal bankTax;
}
package com.lanren.huhu.partner.model;
import com.lanren.huhu.partner.model.base.BaseModel;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author chen
* @title: PartnerSnapshot
* @projectName partner
* @package com.lanren.huhu.partner.model
* @date 2019-07-19 16:26
*/
@Data
public class PartnerSnapshot extends BaseModel {
private int userId;
private BigDecimal wxFreeBalance;
private BigDecimal bankFreeBalance;
}
package com.lanren.huhu.partner.schedule;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lanren.huhu.partner.constants.Constants;
import com.lanren.huhu.partner.domain.*;
import com.lanren.huhu.partner.model.PartnerSettle;
import com.lanren.huhu.partner.model.PartnerSnapshot;
import com.lanren.huhu.partner.service.*;
import com.lanren.huhu.partner.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Component;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import static org.springframework.util.StringUtils.isEmpty;
/**
* @author chen
......@@ -11,8 +30,463 @@ import org.slf4j.LoggerFactory;
* @package com.lanren.huhu.partner.schedule
* @date 2019-07-02 15:45
*/
//@Component
@Component
public class PartnerSettleTask {
private static Logger logger = LoggerFactory.getLogger(PartnerSettleTask.class);
private static final int PAGE_SIZE = 1000;
private static final BigDecimal ZERO = new BigDecimal(0);
@Autowired
PartnerRewardService partnerRewardService;
@Autowired
OrdersActiveService ordersActiveService;
@Autowired
OrderTaobaoJdCommissionService orderTaobaoJdCommissionService;
@Autowired
OrderTaobaoJdGoodsCommissionService orderTaobaoJdGoodsCommissionService;
@Autowired
DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
TransactionDefinition transactionDefinition;
@Autowired
PartnerAccountService partnerAccountService;
@Autowired
PartnerAccountLogService partnerAccountLogService;
@Autowired
PartnerIncomeSummaryService partnerIncomeSummaryService;
// @Scheduled(fixedDelay = 30 * 24 * 60 * 60 * 1000L)
public void runScheduledTask() {
logger.info("run PartnerSettleTask");
try {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
updateAll(beginTs, endTs);
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
private void updateAll(long beginTs, long endTs) {
updateOrderCommission(beginTs, endTs, 0, 0);
doSettle(beginTs, endTs);
}
public boolean doOneUserSettle(Integer userId) {
long input = DateUtils.getLastMonth1stTimestamp(System.currentTimeMillis());
long beginTs = DateUtils.getMonth1stTimestamp(input) / 1000L;
long endTs = DateUtils.getMonthLastTimestamp(input) / 1000L;
PartnerSettle errPartnerSettle = null;
try {
updateOrderCommission(beginTs, endTs, 1, userId);
if (partnerRewardService == null) {
logger.info("partnerRewardService is nuull");
}
PartnerSettle partnerSettle = partnerRewardService.selectPartnerSettlePageByTsAndUid(beginTs, endTs, userId);
errPartnerSettle = partnerSettle;
if (setIncomeAndTax(partnerSettle)) {
return doDbUpdate(partnerSettle, beginTs, endTs);
} else {
return false;
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("userId is {}, errPartnerSettle is {}", userId, errPartnerSettle);
return false;
}
}
private void doSettle(long beginTs, long endTs) {
PartnerSettle errPartnerSettle = null;
try {
int pageNo = 1;
while (true) {
Page<PartnerSettle> page = new Page<PartnerSettle>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
page.setSearchCount(false);
IPage<PartnerSettle> ipage = partnerRewardService.selectPartnerSettlePageByTs(page, beginTs, endTs);
List<PartnerSettle> partnerSettleList = ipage.getRecords();
if (partnerSettleList != null && partnerSettleList.size() > 0) {
for (PartnerSettle partnerSettle : partnerSettleList) {
errPartnerSettle = partnerSettle;
if (setIncomeAndTax(partnerSettle)) {
if (!doDbUpdate(partnerSettle, beginTs, endTs)) {
logger.error("doDbUpdate failed for user {}", partnerSettle.getUserId());
}
}
}
pageNo++;
} else {
break;
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
logger.error("errPartnerSettle is {}", errPartnerSettle);
}
}
private boolean doDbUpdate(PartnerSettle partnerSettle, long beginTs, long endTs) {
TransactionStatus transactionStatus = null;
try {
logger.info("partnerSettle is {}", partnerSettle);
/**
* 开启事务
*/
transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
/**
* 获取合伙人账户 锁定行
*/
PartnerAccount partnerAccount = partnerAccountService.getOneByUserIdForUpdate(partnerSettle.getUserId());
/**
* 插入变更记录
*/
insertIntoPartnerAccountLog(partnerSettle, partnerAccount);
updatePartnerAccount(partnerSettle, partnerAccount);
updatePartnerRewardStatus(partnerSettle.getUserId(), beginTs, endTs);
insertPartnerIncomeSummary(partnerSettle.getUserId(), beginTs);
/**
* 提交事务
*/
dataSourceTransactionManager.commit(transactionStatus);
// dataSourceTransactionManager.rollback(transactionStatus);
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
/**
* 回滚事务
*/
if (transactionStatus != null) {
logger.info("do settle failed, rollback");
dataSourceTransactionManager.rollback(transactionStatus);
}
return false;
}
}
private void insertPartnerIncomeSummary(int userId, long beginTs) {
Date now = new Date(beginTs * 1000L);
int yeartime = Integer.parseInt(DateUtils.getYear(now));
int monthtime = Integer.parseInt(DateUtils.getMonth(now));
PartnerIncomeSummary partnerIncomeSummary = partnerIncomeSummaryService.getOneByUidYearMonth(userId, yeartime, monthtime);
if (null == partnerIncomeSummary) {
partnerIncomeSummary = new PartnerIncomeSummary();
partnerIncomeSummary.setUserId(userId);
partnerIncomeSummary.setYeartime(yeartime);
partnerIncomeSummary.setMonthtime(monthtime);
partnerIncomeSummary.setIncome(ZERO);
partnerIncomeSummaryService.save(partnerIncomeSummary);
}
}
private void updatePartnerRewardStatus(int userId, long beginTs, long endTs) {
partnerRewardService.updateRewardStatusByUidAndTs(userId, beginTs, endTs);
}
private void updatePartnerAccount(PartnerSettle partnerSettle, PartnerAccount partnerAccount) {
/**
* 更新合伙人账户金额
*/
BigDecimal wxIncomeAdd = partnerSettle.getWxIncome().subtract(partnerSettle.getWxTax());
BigDecimal bankIncomeAdd = partnerSettle.getBankIncome().subtract(partnerSettle.getBankTax());
partnerAccount.setAllIncome(partnerAccount.getAllIncome().add(wxIncomeAdd).add(bankIncomeAdd));
partnerAccount.setIncomeAfterTax(partnerAccount.getIncomeAfterTax().add(wxIncomeAdd).add(bankIncomeAdd));
partnerAccount.setWxFreeBalance(partnerAccount.getWxFreeBalance().add(wxIncomeAdd));
partnerAccount.setBankFreeBalance(partnerAccount.getBankFreeBalance().add(bankIncomeAdd));
partnerAccountService.updateById(partnerAccount);
}
private void insertIntoPartnerAccountLog(PartnerSettle partnerSettle, PartnerAccount partnerAccount) {
/**
* 月结发钱
*/
BigDecimal changeNum = partnerSettle.getSumOrderCommission().add(partnerSettle.getSumRedpack()).add(partnerSettle.getSumOthers()).add(partnerSettle.getTechCharge());
BigDecimal changedAmount = partnerAccount.getWxFreeBalance().add(partnerAccount.getBankFreeBalance()).add(changeNum);
PartnerSnapshot snapshot = new PartnerSnapshot();
snapshot.setUserId(partnerAccount.getUserId());
snapshot.setWxFreeBalance(partnerAccount.getWxFreeBalance());
snapshot.setBankFreeBalance(partnerAccount.getBankFreeBalance());
PartnerAccountLog log = createNewPartnerAccountLog(partnerSettle.getUserId(),
Constants.PARTNER_ACCOUNT_LOG_TYPE_SETTLE,
changeNum,
changedAmount,
Constants.PARTNER_ACCOUNT_LOG_TYPE_SETTLE_REMARK,
snapshot.toString());
partnerAccountLogService.save(log);
/**
* 平台技术服务费
*/
changeNum = partnerSettle.getTechCharge().negate();
changedAmount = changedAmount.add(changeNum);
log = createNewPartnerAccountLog(partnerSettle.getUserId(),
Constants.PARTNER_ACCOUNT_LOG_TYPE_TECH_CHARGE,
changeNum,
changedAmount,
Constants.PARTNER_ACCOUNT_LOG_TYPE_TECH_CHARGE_REMARK,
"");
partnerAccountLogService.save(log);
/**
* 个人所得税
*/
changeNum = partnerSettle.getWxTax().add(partnerSettle.getBankTax()).negate();
changedAmount = changedAmount.add(changeNum);
snapshot.setWxFreeBalance(snapshot.getWxFreeBalance().add(partnerSettle.getWxIncome()));
snapshot.setBankFreeBalance(snapshot.getBankFreeBalance().add(partnerSettle.getBankIncome()));
log = createNewPartnerAccountLog(partnerSettle.getUserId(),
Constants.PARTNER_ACCOUNT_LOG_TYPE_TAX,
changeNum,
changedAmount,
Constants.PARTNER_ACCOUNT_LOG_TYPE_TAX_REMARK,
snapshot.toString());
partnerAccountLogService.save(log);
}
private PartnerAccountLog createNewPartnerAccountLog(int userId, int type, BigDecimal changeNum, BigDecimal changedAmount, String payRemark,String snapshot) {
Date now = new Date();
int yeartime = Integer.parseInt(DateUtils.getYear(now));
int monthtime = Integer.parseInt(DateUtils.getMonth(now));
int daytime = Integer.parseInt(DateUtils.getDay(now));
PartnerAccountLog log = new PartnerAccountLog();
log.setUserId(userId);
log.setType(type);
log.setChangeNum(changeNum);
log.setChangedAmount(changedAmount);
log.setPayRemark(payRemark);
log.setPayType(false);
log.setYeartime(yeartime);
log.setMonthtime(monthtime);
log.setDaytime(daytime);
log.setSnapshot(snapshot.toString());
return log;
}
private void updateRewardCommission(PartnerReward partnerReward, BigDecimal allMoney) {
partnerReward.setAllMoneyOri(allMoney);
String ratioAllStr = partnerReward.getRatioAll().replaceAll("[\\[\\],\"]", "");
String[] strs = ratioAllStr.split(",");
BigDecimal cash = allMoney;
for (String s : strs) {
BigDecimal ratio = new BigDecimal(s);
cash = cash.multiply(ratio);
}
BigDecimal commission = cash.multiply(partnerReward.getCommissionRate());
partnerReward.setCash(cash);
partnerReward.setCommissionAcount(commission);
partnerRewardService.updateById(partnerReward);
}
/**
* 更新至 失效, 结算完成
* 不再参与后续结算计算
* @param partnerReward
*/
private void updateReward2Failed(PartnerReward partnerReward) {
partnerReward.setAllMoneyOri(ZERO);
partnerReward.setCash(ZERO);
partnerReward.setCommissionAcount(ZERO);
partnerReward.setSettleState(Constants.SETTLE_STATE_FAILED);
partnerReward.setRewardStatus(Constants.REWARD_STATUS_SETTLE);
partnerRewardService.updateById(partnerReward);
}
/**
* 自购省和分享赚的奖励金额 需要根据最终的实际原始佣金 重新计算
* @param beginTs
* @param endTs
*/
private void updateOrderCommission(long beginTs, long endTs, int runType, int userId) {
PartnerReward errPartnerReward = null;
try {
int pageNo = 1;
while (true) {
Page<PartnerReward> page = new Page<PartnerReward>(pageNo, PAGE_SIZE);
page.setOptimizeCountSql(false);
page.setSearchCount(false);
IPage<PartnerReward> ipage;
if (runType == 0) {
ipage = partnerRewardService.selectOrderRewardPageByTs(page, beginTs, endTs);
} else {
ipage = partnerRewardService.selectOrderRewardPageByTsAndUid(page, beginTs, endTs, userId);
}
List<PartnerReward> partnerRewardList = ipage.getRecords();
if (partnerRewardList != null && partnerRewardList.size() > 0) {
/**
* 循环处理每条奖励
*/
for (PartnerReward partnerReward : partnerRewardList) {
errPartnerReward = partnerReward;
/**
* 购物奖励: reward_type: 110, settle_state > 0 且 != 300
* 需要根据订单号查找最终的真实的原始佣金 并 按比例快照重新计算奖励金额,
* 更新字段: all_money_ori cash commission_account
* 如果订单失效: 更新settle_state, all_money_ori/cash/commission_account 抹平, 跳过处理, 循环到下一条
*/
if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_PURCHASE && partnerReward.getSettleState() > 0
&& partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getRatioAll())) {
/**
* 历史数据: 没有记录订单号 或者 没有记录比例 不更新奖励金额
*/
} else {
/**
* 有订单号 和 比例快照 可以更新金额
*/
OrdersActive ordersActive = ordersActiveService.getOneByOrderSn(partnerReward.getOrderType(), partnerReward.getOrderSn());
OrderTaobaoJdCommission order = orderTaobaoJdCommissionService.getOneByOrderSn(partnerReward.getOrderType(), partnerReward.getOrderSn());
if (null == ordersActive || null == order) {
/**
* 如果没有找到active 或者 没有找到commission
* 不更新奖励金额
*/
} else {
/**
* 订单状态只有三种: -3, 1, 3
*/
if (order.getStatus() == Constants.ORDER_STATE_FAILED) {
/**
* 订单失效 订单付款 跳过, 处理下一条奖励
*/
updateReward2Failed(partnerReward);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_PAID) {
/**
* 订单还是付款状态 更新奖励时间 下个月再处理
*/
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime());
partnerReward.setRechargeTime(new Date(newRechargeTime));
partnerRewardService.updateById(partnerReward);
continue;
} else if (order.getStatus() == Constants.ORDER_STATE_SETTLED) {
/**
* 订单结算 更新金额
*/
if (ordersActive.getIsForNew() == 1) {
/**
* 新人专享订单 不给合伙人奖励 跳过
*/
updateReward2Failed(partnerReward);
continue;
} else {
/**
* 正常订单 更新原始佣金
* all_money_ori: 原始佣金
* cash: all_money_ori 乘以 ratio_all中的每个比例
* commission_account: cash 乘以 commission_rate
*/
updateRewardCommission(partnerReward, order.getAllMoney());
}
}
}
}
}
/**
* 分享赚订单: 按子订单号更新奖励金额
*/
if (partnerReward.getRewardType() == Constants.PARTNER_REWARD_TYPE_SHARE && partnerReward.getSettleState() > 0
&& partnerReward.getSettleState() != Constants.SETTLE_STATE_DONE) {
if (isEmpty(partnerReward.getOrderType()) || isEmpty(partnerReward.getOrderSn()) || isEmpty(partnerReward.getSubOrderSn())
|| isEmpty(partnerReward.getRatioAll())) {
/**
* 历史数据: 没有记录子订单号 或者 没有记录比例 不更新奖励金额
*/
} else {
/**
* 有订单号 和 比例快照 可以更新金额
*/
OrderTaobaoJdGoodsCommission subOrder = orderTaobaoJdGoodsCommissionService.getOneByOrderSn(partnerReward.getOrderType(), partnerReward.getOrderSn(), partnerReward.getSubOrderSn());
if (null == subOrder) {
/**
* 如果没有找到子订单
* 不更新奖励金额
*/
} else {
/**
* 订单状态只有三种: -3, 1, 3
*/
if (subOrder.getOrderState() == Constants.ORDER_STATE_FAILED) {
/**
* 订单失效 订单付款 跳过, 处理下一条奖励
*/
updateReward2Failed(partnerReward);
} else if (subOrder.getOrderState() == Constants.ORDER_STATE_PAID) {
/**
* 订单还是付款状态 更新奖励时间 下个月再处理
*/
long newRechargeTime = DateUtils.getNextMonth1stTimestamp(partnerReward.getRechargeTime().getTime());
partnerReward.setRechargeTime(new Date(newRechargeTime));
partnerRewardService.updateById(partnerReward);
continue;
} else if (subOrder.getOrderState() == Constants.ORDER_STATE_SETTLED) {
/**
* 正常订单 更新原始佣金
* all_money_ori: 原始佣金
* cash: all_money_ori 乘以 ratio_all中的每个比例
* commission_account: cash 乘以 commission_rate
*/
updateRewardCommission(partnerReward, subOrder.getAllMoney());
}
}
}
}
}
pageNo++;
} else {
break;
}
}
} catch (Exception e) {
logger.error(e.getMessage(),e);
logger.error("errPartnerReward is {}", errPartnerReward);
}
}
private static boolean setIncomeAndTax(PartnerSettle partnerSettle) {
try {
BigDecimal base = partnerSettle.getSumRedpack().add(partnerSettle.getSumOthers());
/**
* 订单收入全部计入微信 并且不计税
*/
BigDecimal wxIncome = partnerSettle.getSumOrderCommission();
BigDecimal wxTax = ZERO;
BigDecimal bankIncome = ZERO;
BigDecimal bankTax = ZERO;
// 所有按左开右闭统计
if (base.compareTo(Constants.TAX_STAGE_FREE_BASE) <= 0) {
/**
* 小于 [0,800]
*/
} else if (base.compareTo(Constants.TAX_STAGE_FREE_BASE) == 1 && base.compareTo(Constants.TAX_STAGE_1) <= 0) {
/**
* (800,4000]
*/
wxTax = base.subtract(Constants.TAX_STAGE_FREE_BASE).multiply(Constants.TAX_STAGE_1_RATE1).multiply(Constants.TAX_STAGE_1_RATE2);
wxIncome = wxIncome.add(base).subtract(wxTax);
} else if (base.compareTo(Constants.TAX_STAGE_1) == 1 && base.compareTo(Constants.TAX_STAGE_WX_MAX) <= 0) {
/**
* (4000-17076.5]
*/
wxTax = base.multiply(Constants.TAX_STAGE_WX_MAX_RATE1).multiply(Constants.TAX_STAGE_WX_MAX_RATE2).multiply(Constants.TAX_STAGE_WX_MAX_RATE3);
wxIncome = wxIncome.add(base).subtract(wxTax);
} else {
/**
* (17076.5,)
*
* 微信收入: 17076.5-17076.5*0.8*0.2*0.76
*/
wxTax = Constants.TAX_STAGE_WX_MAX.multiply(Constants.TAX_STAGE_WX_MAX_RATE1).multiply(Constants.TAX_STAGE_WX_MAX_RATE2).multiply(Constants.TAX_STAGE_WX_MAX_RATE3);
wxIncome = wxIncome.add(Constants.TAX_STAGE_WX_MAX).subtract(wxTax);
bankTax = base.subtract(Constants.TAX_STAGE_WX_MAX).multiply(Constants.BANK_RATE);
bankIncome = base.subtract(Constants.TAX_STAGE_WX_MAX).subtract(bankTax);
}
partnerSettle.setWxIncome(wxIncome);
partnerSettle.setWxTax(wxTax);
partnerSettle.setBankIncome(bankIncome);
partnerSettle.setBankTax(bankTax);
return true;
} catch (Exception e) {
logger.error(e.getMessage(), e);
return false;
}
}
}
package com.lanren.huhu.partner.service;
import java.util.List;
import com.lanren.huhu.partner.domain.AgentAccountLog;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-16 15:38
*/
public interface AgentAccountLogService extends IService<AgentAccountLog>{
int updateBatch(List<AgentAccountLog> list);
int batchInsert(List<AgentAccountLog> list);
int insertOrUpdate(AgentAccountLog record);
int insertOrUpdateSelective(AgentAccountLog record);
}
package com.lanren.huhu.partner.service;
import java.util.List;
import com.lanren.huhu.partner.domain.AgentIncomeSummary;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-16 15:37
*/
public interface AgentIncomeSummaryService extends IService<AgentIncomeSummary>{
int updateBatch(List<AgentIncomeSummary> list);
int batchInsert(List<AgentIncomeSummary> list);
int insertOrUpdate(AgentIncomeSummary record);
int insertOrUpdateSelective(AgentIncomeSummary record);
}
......@@ -4,15 +4,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.OrderTaobaoJdCommission;
import java.util.List;
/**
*
* @author houseme
* @date 2019-07-01 14:43
* @Project partner
* @Package ${PACKAGE_NAME}
* @File: ${NAME}
*/
public interface OrderTaobaoJdCommissionService extends IService<OrderTaobaoJdCommission>{
public interface OrderTaobaoJdCommissionService extends IService<OrderTaobaoJdCommission> {
int updateBatch(List<OrderTaobaoJdCommission> list);
......@@ -25,3 +25,4 @@ public interface OrderTaobaoJdCommissionService extends IService<OrderTaobaoJdCo
OrderTaobaoJdCommission getOneByOrderSn(String orderType, String orderSn);
}
package com.lanren.huhu.partner.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-17 16:59
*/
public interface OrderTaobaoJdGoodsCommissionService extends IService<OrderTaobaoJdGoodsCommission>{
int updateBatch(List<OrderTaobaoJdGoodsCommission> list);
int batchInsert(List<OrderTaobaoJdGoodsCommission> list);
int insertOrUpdate(OrderTaobaoJdGoodsCommission record);
int insertOrUpdateSelective(OrderTaobaoJdGoodsCommission record);
OrderTaobaoJdGoodsCommission getOneByOrderSn(String orderType, String orderSn, String subOrderSn);
}
package com.lanren.huhu.partner.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.OrdersActive;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-17 16:59
*/
public interface OrdersActiveService extends IService<OrdersActive>{
int updateBatch(List<OrdersActive> list);
int batchInsert(List<OrdersActive> list);
int insertOrUpdate(OrdersActive record);
int insertOrUpdateSelective(OrdersActive record);
OrdersActive getOneByOrderSn(String type, String orderSn);
}
......@@ -4,15 +4,16 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.PartnerAccountLog;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: 合伙人账户明细
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-02 15:57
*/
public interface PartnerAccountLogService extends IService<PartnerAccountLog>{
/**
* @author chen
* @title: ${NAME}
* @projectName partner
* @description: 合伙人账户明细
* @package ${PACKAGE_NAME}
* @date 2019-07-02 15:57
*/
public interface PartnerAccountLogService extends IService<PartnerAccountLog> {
int updateBatch(List<PartnerAccountLog> list);
......@@ -24,3 +25,5 @@ public interface PartnerAccountLogService extends IService<PartnerAccountLog>{
int insertOrUpdateSelective(PartnerAccountLog record);
}
......@@ -50,4 +50,8 @@ public interface PartnerAccountService extends IService<PartnerAccount> {
*/
PartnerAccount getOneByUserId(Integer userId);
/**
* 行级锁
*/
PartnerAccount getOneByUserIdForUpdate(Integer userId);
}
package com.lanren.huhu.partner.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.PartnerIncomeSummary;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-19 15:19
*/
public interface PartnerIncomeSummaryService extends IService<PartnerIncomeSummary>{
int updateBatch(List<PartnerIncomeSummary> list);
int batchInsert(List<PartnerIncomeSummary> list);
int insertOrUpdate(PartnerIncomeSummary record);
int insertOrUpdateSelective(PartnerIncomeSummary record);
PartnerIncomeSummary getOneByUidYearMonth(Integer userId, int year, int month);
}
package com.lanren.huhu.partner.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lanren.huhu.partner.domain.PartnerReward;
import com.lanren.huhu.partner.model.PartnerSettle;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: 合伙人奖g明细
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-02 14:54
*/
public interface PartnerRewardService extends IService<PartnerReward>{
/**
* @author chen
* @title: ${NAME}
* @projectName partner
* @description: 合伙人奖g明细
* @package ${PACKAGE_NAME}
* @date 2019-07-02 14:54
*/
public interface PartnerRewardService extends IService<PartnerReward> {
int updateBatch(List<PartnerReward> list);
......@@ -23,4 +27,24 @@ public interface PartnerRewardService extends IService<PartnerReward>{
int insertOrUpdateSelective(PartnerReward record);
/**
* 涉及订单佣金相关的奖励: 自购省/分享赚
*/
IPage<PartnerReward> selectOrderRewardPageByTs(Page<PartnerReward> page, Long beginTs, Long endTs);
IPage<PartnerReward> selectOrderRewardPageByTsAndUid(Page<PartnerReward> page, Long beginTs, Long endTs, Integer userId);
/**
* 获取每个合伙人的汇总收入
*/
IPage<PartnerSettle> selectPartnerSettlePageByTs(Page<PartnerSettle> page, Long beginTs, Long endTs);
/**
* 获取单个合伙人的汇总收入
*/
PartnerSettle selectPartnerSettlePageByTsAndUid(Long beginTs, Long endTs, Integer userId);
/**
* 更新奖励状态
*/
int updateRewardStatusByUidAndTs(Integer userId, Long beginTs, Long endTs);
}
package com.lanren.huhu.partner.service.impl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import com.lanren.huhu.partner.domain.AgentAccountLog;
import com.lanren.huhu.partner.dao.AgentAccountLogMapper;
import com.lanren.huhu.partner.service.AgentAccountLogService;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-16 15:38
*/
@Service
public class AgentAccountLogServiceImpl extends ServiceImpl<AgentAccountLogMapper, AgentAccountLog> implements AgentAccountLogService{
@Override
public int updateBatch(List<AgentAccountLog> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<AgentAccountLog> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(AgentAccountLog record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(AgentAccountLog record) {
return baseMapper.insertOrUpdateSelective(record);
}
}
package com.lanren.huhu.partner.service.impl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import com.lanren.huhu.partner.dao.AgentIncomeSummaryMapper;
import com.lanren.huhu.partner.domain.AgentIncomeSummary;
import com.lanren.huhu.partner.service.AgentIncomeSummaryService;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-16 15:37
*/
@Service
public class AgentIncomeSummaryServiceImpl extends ServiceImpl<AgentIncomeSummaryMapper, AgentIncomeSummary> implements AgentIncomeSummaryService{
@Override
public int updateBatch(List<AgentIncomeSummary> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<AgentIncomeSummary> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(AgentIncomeSummary record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(AgentIncomeSummary record) {
return baseMapper.insertOrUpdateSelective(record);
}
}
......@@ -8,8 +8,8 @@ import com.lanren.huhu.partner.service.OrderTaobaoJdCommissionService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* @author houseme
* @date 2019-07-01 14:43
* @Project partner
......@@ -17,20 +17,23 @@ import java.util.List;
* @File: ${NAME}
*/
@Service
public class OrderTaobaoJdCommissionServiceImpl extends ServiceImpl<OrderTaobaoJdCommissionMapper, OrderTaobaoJdCommission> implements OrderTaobaoJdCommissionService{
public class OrderTaobaoJdCommissionServiceImpl extends ServiceImpl<OrderTaobaoJdCommissionMapper, OrderTaobaoJdCommission> implements OrderTaobaoJdCommissionService {
@Override
public int updateBatch(List<OrderTaobaoJdCommission> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<OrderTaobaoJdCommission> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(OrderTaobaoJdCommission record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(OrderTaobaoJdCommission record) {
return baseMapper.insertOrUpdateSelective(record);
......@@ -43,3 +46,4 @@ public class OrderTaobaoJdCommissionServiceImpl extends ServiceImpl<OrderTaobaoJ
return baseMapper.selectOne(wrapper);
}
}
package com.lanren.huhu.partner.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lanren.huhu.partner.dao.OrderTaobaoJdGoodsCommissionMapper;
import com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission;
import com.lanren.huhu.partner.service.OrderTaobaoJdGoodsCommissionService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-17 16:59
*/
@Service
public class OrderTaobaoJdGoodsCommissionServiceImpl extends ServiceImpl<OrderTaobaoJdGoodsCommissionMapper, OrderTaobaoJdGoodsCommission> implements OrderTaobaoJdGoodsCommissionService{
@Override
public int updateBatch(List<OrderTaobaoJdGoodsCommission> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<OrderTaobaoJdGoodsCommission> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(OrderTaobaoJdGoodsCommission record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(OrderTaobaoJdGoodsCommission record) {
return baseMapper.insertOrUpdateSelective(record);
}
@Override
public OrderTaobaoJdGoodsCommission getOneByOrderSn(String orderType, String orderSn, String subOrderSn) {
QueryWrapper<OrderTaobaoJdGoodsCommission> wrapper = new QueryWrapper<OrderTaobaoJdGoodsCommission>();
wrapper.eq("type", orderType).eq("order_sn", orderSn).eq("sub_order_sn", subOrderSn);
return baseMapper.selectOne(wrapper);
}
}
package com.lanren.huhu.partner.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lanren.huhu.partner.dao.OrdersActiveMapper;
import com.lanren.huhu.partner.domain.OrdersActive;
import com.lanren.huhu.partner.service.OrdersActiveService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-17 16:59
*/
@Service
public class OrdersActiveServiceImpl extends ServiceImpl<OrdersActiveMapper, OrdersActive> implements OrdersActiveService{
@Override
public int updateBatch(List<OrdersActive> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<OrdersActive> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(OrdersActive record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(OrdersActive record) {
return baseMapper.insertOrUpdateSelective(record);
}
@Override
public OrdersActive getOneByOrderSn(String type, String orderSn) {
QueryWrapper<OrdersActive> wrapper = new QueryWrapper<OrdersActive>();
wrapper.eq("type", type).eq("order_sn", orderSn);
return baseMapper.selectOne(wrapper);
}
}
......@@ -7,30 +7,36 @@ import com.lanren.huhu.partner.service.PartnerAccountLogService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: 合伙人账户明细
* @author chen
* @package ${PACKAGE_N @date 2019-07-02 15:57
*/
/**
* @author chen
* @title: ${NAME}
* @projectName partner
* @description: 合伙人账户明细
* @package ${PACKAGE_N @date 2019-07-02 15:57
*/
@Service
public class PartnerAccountLogServiceImpl extends ServiceImpl<PartnerAccountLogMapper, PartnerAccountLog> implements PartnerAccountLogService{
public class PartnerAccountLogServiceImpl extends ServiceImpl<PartnerAccountLogMapper, PartnerAccountLog> implements PartnerAccountLogService {
@Override
public int updateBatch(List<PartnerAccountLog> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<PartnerAccountLog> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(PartnerAccountLog record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(PartnerAccountLog record) {
return baseMapper.insertOrUpdateSelective(record);
}
}
......@@ -38,11 +38,14 @@ public class PartnerAccountServiceImpl extends ServiceImpl<PartnerAccountMapper,
return baseMapper.insertOrUpdateSelective(record);
}
@Override
public PartnerAccount getOneByUserId(Integer userId) {
QueryWrapper<PartnerAccount> queryWrapper = new QueryWrapper<PartnerAccount>();
queryWrapper.eq("user_id", userId);
return baseMapper.selectOne(queryWrapper);
}
@Override
public PartnerAccount getOneByUserIdForUpdate(Integer userId) {
return baseMapper.selectOneForUpdate(userId);
}
}
package com.lanren.huhu.partner.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lanren.huhu.partner.dao.PartnerIncomeSummaryMapper;
import com.lanren.huhu.partner.domain.PartnerIncomeSummary;
import com.lanren.huhu.partner.service.PartnerIncomeSummaryService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: TODO
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-19 15:19
*/
@Service
public class PartnerIncomeSummaryServiceImpl extends ServiceImpl<PartnerIncomeSummaryMapper, PartnerIncomeSummary> implements PartnerIncomeSummaryService{
@Override
public int updateBatch(List<PartnerIncomeSummary> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<PartnerIncomeSummary> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(PartnerIncomeSummary record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(PartnerIncomeSummary record) {
return baseMapper.insertOrUpdateSelective(record);
}
@Override
public PartnerIncomeSummary getOneByUidYearMonth(Integer userId, int year, int month) {
QueryWrapper<PartnerIncomeSummary> wrapper = new QueryWrapper<PartnerIncomeSummary>();
wrapper.eq("user_id", userId).eq("yeartime", year).eq("monthtime", month);
return baseMapper.selectOne(wrapper);
}
}
package com.lanren.huhu.partner.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lanren.huhu.partner.dao.PartnerRewardMapper;
import com.lanren.huhu.partner.domain.PartnerReward;
import com.lanren.huhu.partner.model.PartnerSettle;
import com.lanren.huhu.partner.service.PartnerRewardService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: ${NAME}
* @projectName partner
* @description: 合伙人奖励明细
* @author chen
* @package ${PACKAGE_NAME}
* @date 2019-07-02 14:54
*/
/**
* @author chen
* @title: ${NAME}
* @projectName partner
* @description: 合伙人奖励明细
* @package ${PACKAGE_NAME}
* @date 2019-07-02 14:54
*/
@Service
public class PartnerRewardServiceImpl extends ServiceImpl<PartnerRewardMapper, PartnerReward> implements PartnerRewardService{
public class PartnerRewardServiceImpl extends ServiceImpl<PartnerRewardMapper, PartnerReward> implements PartnerRewardService {
@Override
public int updateBatch(List<PartnerReward> list) {
return baseMapper.updateBatch(list);
}
@Override
public int batchInsert(List<PartnerReward> list) {
return baseMapper.batchInsert(list);
}
@Override
public int insertOrUpdate(PartnerReward record) {
return baseMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(PartnerReward record) {
return baseMapper.insertOrUpdateSelective(record);
}
@Override
public IPage<PartnerReward> selectOrderRewardPageByTs(Page<PartnerReward> page, Long beginTs, Long endTs) {
return baseMapper.selectOrderRewardPageByTs(page, beginTs, endTs);
}
@Override
public IPage<PartnerReward> selectOrderRewardPageByTsAndUid(Page<PartnerReward> page, Long beginTs, Long endTs, Integer userId) {
return baseMapper.selectOrderRewardPageByTsAndUid(page, beginTs, endTs, userId);
}
@Override
public IPage<PartnerSettle> selectPartnerSettlePageByTs(Page<PartnerSettle> page, Long beginTs, Long endTs) {
return baseMapper.selectPartnerSettlePageByTs(page, beginTs, endTs);
}
@Override
public PartnerSettle selectPartnerSettlePageByTsAndUid(Long beginTs, Long endTs, Integer userId) {
return baseMapper.selectPartnerSettleByTsAndUid(beginTs, endTs, userId);
}
@Override
public int updateRewardStatusByUidAndTs(Integer userId, Long beginTs, Long endTs) {
return baseMapper.updateRewardStatusByUidAndTs(userId, beginTs, endTs);
}
}
......@@ -346,6 +346,24 @@ public final class DateUtils {
public static String getYear(Date date) {
return format(date).substring(0, 4);
}
/**
* 获取日期年份
*
* @param date 日期
* @return
*/
public static String getMonth(Date date) {
return format(date).substring(5, 7);
}
/**
* 获取日期年份
*
* @param date 日期
* @return
*/
public static String getDay(Date date) {
return format(date).substring(8, 10);
}
/**
* 获取yyyy-MM-dd格式日期
......@@ -1425,6 +1443,65 @@ public final class DateUtils {
int ts = (int)(date.getTime()/1000);
return ts;
}
/**
* 获取下个月的第一秒
* @param timestamp
* @return
*/
public static long getNextMonth1stTimestamp(long timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(timestamp));
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime().getTime();
}
/**
* 获取上个月的第一秒
* @param timestamp
* @return
*/
public static long getLastMonth1stTimestamp(long timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(timestamp));
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime().getTime();
}
/**
* 获取当前月的最后一秒
* @param timestamp
* @return
*/
public static long getMonthLastTimestamp(long timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(timestamp));
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.roll(Calendar.DATE, -1);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
return calendar.getTime().getTime();
}
/**
* 获取当前月的第一秒
* @param timestamp
* @return
*/
public static long getMonth1stTimestamp(long timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(timestamp));
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
return calendar.getTime().getTime();
}
public static void main(String[] args) throws ParseException {
......
spring:
main:
banner-mode: "LOG"
# banner-mode: "LOG"
banner-mode: "OFF"
datasource:
#连接MySQL
url: @mysql.server@?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai
......@@ -102,7 +103,7 @@ mybatis-plus:
logging:
level:
#打印SQL信息
com.lanren.huhu.partner.dao: info
com.lanren.huhu.partner.dao: debug
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lanren.huhu.partner.dao.AgentAccountLogMapper">
<resultMap id="BaseResultMap" type="com.lanren.huhu.partner.domain.AgentAccountLog">
<!--@mbg.generated-->
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="agent_id" property="agentId" />
<result column="yeartime" property="yeartime" />
<result column="monthtime" property="monthtime" />
<result column="daytime" property="daytime" />
<result column="type" property="type" />
<result column="change_num" property="changeNum" />
<result column="changed_amount" property="changedAmount" />
<result column="change_time" property="changeTime" />
<result column="pay_state" property="payState" />
<result column="pay_platform" property="payPlatform" />
<result column="pay_type" property="payType" />
<result column="pay_remark" property="payRemark" />
<result column="pay_info" property="payInfo" />
<result column="reference_id" property="referenceId" />
<result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, agent_id, yeartime, monthtime, daytime, `type`, change_num, changed_amount,
change_time, pay_state, pay_platform, pay_type, pay_remark, pay_info, reference_id,
create_time, modify_time
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update agent_account_log
<trim prefix="set" suffixOverrides=",">
<trim prefix="user_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.userId}
</foreach>
</trim>
<trim prefix="agent_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.agentId}
</foreach>
</trim>
<trim prefix="yeartime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.yeartime}
</foreach>
</trim>
<trim prefix="monthtime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.monthtime}
</foreach>
</trim>
<trim prefix="daytime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.daytime}
</foreach>
</trim>
<trim prefix="`type` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.type}
</foreach>
</trim>
<trim prefix="change_num = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.changeNum}
</foreach>
</trim>
<trim prefix="changed_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.changedAmount}
</foreach>
</trim>
<trim prefix="change_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.changeTime}
</foreach>
</trim>
<trim prefix="pay_state = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.payState}
</foreach>
</trim>
<trim prefix="pay_platform = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.payPlatform}
</foreach>
</trim>
<trim prefix="pay_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.payType}
</foreach>
</trim>
<trim prefix="pay_remark = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.payRemark}
</foreach>
</trim>
<trim prefix="pay_info = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.payInfo}
</foreach>
</trim>
<trim prefix="reference_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.referenceId}
</foreach>
</trim>
<trim prefix="create_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.createTime}
</foreach>
</trim>
<trim prefix="modify_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.modifyTime}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_account_log
(user_id, agent_id, yeartime, monthtime, daytime, `type`, change_num, changed_amount,
change_time, pay_state, pay_platform, pay_type, pay_remark, pay_info, reference_id,
create_time, modify_time)
values
<foreach collection="list" item="item" separator=",">
(#{item.userId}, #{item.agentId}, #{item.yeartime}, #{item.monthtime}, #{item.daytime},
#{item.type}, #{item.changeNum}, #{item.changedAmount}, #{item.changeTime}, #{item.payState},
#{item.payPlatform}, #{item.payType}, #{item.payRemark}, #{item.payInfo}, #{item.referenceId},
#{item.createTime}, #{item.modifyTime})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentAccountLog" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_account_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
user_id,
agent_id,
yeartime,
monthtime,
daytime,
`type`,
change_num,
changed_amount,
change_time,
pay_state,
pay_platform,
pay_type,
pay_remark,
pay_info,
reference_id,
create_time,
modify_time,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
#{userId},
#{agentId},
#{yeartime},
#{monthtime},
#{daytime},
#{type},
#{changeNum},
#{changedAmount},
#{changeTime},
#{payState},
#{payPlatform},
#{payType},
#{payRemark},
#{payInfo},
#{referenceId},
#{createTime},
#{modifyTime},
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
user_id = #{userId},
agent_id = #{agentId},
yeartime = #{yeartime},
monthtime = #{monthtime},
daytime = #{daytime},
`type` = #{type},
change_num = #{changeNum},
changed_amount = #{changedAmount},
change_time = #{changeTime},
pay_state = #{payState},
pay_platform = #{payPlatform},
pay_type = #{payType},
pay_remark = #{payRemark},
pay_info = #{payInfo},
reference_id = #{referenceId},
create_time = #{createTime},
modify_time = #{modifyTime},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentAccountLog" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_account_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="agentId != null">
agent_id,
</if>
<if test="yeartime != null">
yeartime,
</if>
<if test="monthtime != null">
monthtime,
</if>
<if test="daytime != null">
daytime,
</if>
<if test="type != null">
`type`,
</if>
<if test="changeNum != null">
change_num,
</if>
<if test="changedAmount != null">
changed_amount,
</if>
<if test="changeTime != null">
change_time,
</if>
<if test="payState != null">
pay_state,
</if>
<if test="payPlatform != null">
pay_platform,
</if>
<if test="payType != null">
pay_type,
</if>
<if test="payRemark != null">
pay_remark,
</if>
<if test="payInfo != null">
pay_info,
</if>
<if test="referenceId != null">
reference_id,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="modifyTime != null">
modify_time,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="userId != null">
#{userId},
</if>
<if test="agentId != null">
#{agentId},
</if>
<if test="yeartime != null">
#{yeartime},
</if>
<if test="monthtime != null">
#{monthtime},
</if>
<if test="daytime != null">
#{daytime},
</if>
<if test="type != null">
#{type},
</if>
<if test="changeNum != null">
#{changeNum},
</if>
<if test="changedAmount != null">
#{changedAmount},
</if>
<if test="changeTime != null">
#{changeTime},
</if>
<if test="payState != null">
#{payState},
</if>
<if test="payPlatform != null">
#{payPlatform},
</if>
<if test="payType != null">
#{payType},
</if>
<if test="payRemark != null">
#{payRemark},
</if>
<if test="payInfo != null">
#{payInfo},
</if>
<if test="referenceId != null">
#{referenceId},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="modifyTime != null">
#{modifyTime},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
<if test="userId != null">
user_id = #{userId},
</if>
<if test="agentId != null">
agent_id = #{agentId},
</if>
<if test="yeartime != null">
yeartime = #{yeartime},
</if>
<if test="monthtime != null">
monthtime = #{monthtime},
</if>
<if test="daytime != null">
daytime = #{daytime},
</if>
<if test="type != null">
`type` = #{type},
</if>
<if test="changeNum != null">
change_num = #{changeNum},
</if>
<if test="changedAmount != null">
changed_amount = #{changedAmount},
</if>
<if test="changeTime != null">
change_time = #{changeTime},
</if>
<if test="payState != null">
pay_state = #{payState},
</if>
<if test="payPlatform != null">
pay_platform = #{payPlatform},
</if>
<if test="payType != null">
pay_type = #{payType},
</if>
<if test="payRemark != null">
pay_remark = #{payRemark},
</if>
<if test="payInfo != null">
pay_info = #{payInfo},
</if>
<if test="referenceId != null">
reference_id = #{referenceId},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="modifyTime != null">
modify_time = #{modifyTime},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lanren.huhu.partner.dao.AgentIncomeSummaryMapper">
<resultMap id="BaseResultMap" type="com.lanren.huhu.partner.domain.AgentIncomeSummary">
<!--@mbg.generated-->
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="agent_id" property="agentId" />
<result column="yeartime" property="yeartime" />
<result column="monthtime" property="monthtime" />
<result column="income" property="income" />
<result column="content" property="content" />
<result column="state" property="state" />
<result column="settle_time" property="settleTime" />
<result column="created_at" property="createdAt" />
<result column="updated_at" property="updatedAt" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, agent_id, yeartime, monthtime, income, content, `state`, settle_time,
created_at, updated_at
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update agent_income_summary
<trim prefix="set" suffixOverrides=",">
<trim prefix="user_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.userId}
</foreach>
</trim>
<trim prefix="agent_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.agentId}
</foreach>
</trim>
<trim prefix="yeartime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.yeartime}
</foreach>
</trim>
<trim prefix="monthtime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.monthtime}
</foreach>
</trim>
<trim prefix="income = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.income}
</foreach>
</trim>
<trim prefix="content = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.content}
</foreach>
</trim>
<trim prefix="`state` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.state}
</foreach>
</trim>
<trim prefix="settle_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.settleTime}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.createdAt}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.updatedAt}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_income_summary
(user_id, agent_id, yeartime, monthtime, income, content, `state`, settle_time, created_at,
updated_at)
values
<foreach collection="list" item="item" separator=",">
(#{item.userId}, #{item.agentId}, #{item.yeartime}, #{item.monthtime}, #{item.income},
#{item.content}, #{item.state}, #{item.settleTime}, #{item.createdAt}, #{item.updatedAt}
)
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentIncomeSummary" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_income_summary
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
user_id,
agent_id,
yeartime,
monthtime,
income,
content,
`state`,
settle_time,
created_at,
updated_at,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
#{userId},
#{agentId},
#{yeartime},
#{monthtime},
#{income},
#{content},
#{state},
#{settleTime},
#{createdAt},
#{updatedAt},
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
user_id = #{userId},
agent_id = #{agentId},
yeartime = #{yeartime},
monthtime = #{monthtime},
income = #{income},
content = #{content},
`state` = #{state},
settle_time = #{settleTime},
created_at = #{createdAt},
updated_at = #{updatedAt},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.AgentIncomeSummary" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into agent_income_summary
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="agentId != null">
agent_id,
</if>
<if test="yeartime != null">
yeartime,
</if>
<if test="monthtime != null">
monthtime,
</if>
<if test="income != null">
income,
</if>
<if test="content != null">
content,
</if>
<if test="state != null">
`state`,
</if>
<if test="settleTime != null">
settle_time,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="userId != null">
#{userId},
</if>
<if test="agentId != null">
#{agentId},
</if>
<if test="yeartime != null">
#{yeartime},
</if>
<if test="monthtime != null">
#{monthtime},
</if>
<if test="income != null">
#{income},
</if>
<if test="content != null">
#{content},
</if>
<if test="state != null">
#{state},
</if>
<if test="settleTime != null">
#{settleTime},
</if>
<if test="createdAt != null">
#{createdAt},
</if>
<if test="updatedAt != null">
#{updatedAt},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
<if test="userId != null">
user_id = #{userId},
</if>
<if test="agentId != null">
agent_id = #{agentId},
</if>
<if test="yeartime != null">
yeartime = #{yeartime},
</if>
<if test="monthtime != null">
monthtime = #{monthtime},
</if>
<if test="income != null">
income = #{income},
</if>
<if test="content != null">
content = #{content},
</if>
<if test="state != null">
`state` = #{state},
</if>
<if test="settleTime != null">
settle_time = #{settleTime},
</if>
<if test="createdAt != null">
created_at = #{createdAt},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
......@@ -35,6 +35,7 @@
<result column="goods_cnt" property="goodsCnt" />
<result column="huhu_commission_rate" property="huhuCommissionRate" />
<result column="insert_time" property="insertTime" />
<result column="huhu_subsidy_max" property="huhuSubsidyMax" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
......@@ -42,11 +43,11 @@
refund_amount, money, all_money, `status`, create_time, settle_time, last_time, amount,
created_at, updated_at, deleted_at, user_id, active_state, post_time, active_time,
pname, has_deposit, commission_snapshot, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual,
no_invite_reward, goods_cnt, huhu_commission_rate, insert_time
no_invite_reward, goods_cnt, huhu_commission_rate, insert_time, huhu_subsidy_max
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update huhu.order_taobao_jd_commission
update order_taobao_jd_commission
<trim prefix="set" suffixOverrides=",">
<trim prefix="order_sn_parent = case" suffix="end,">
<foreach collection="list" index="index" item="item">
......@@ -198,148 +199,93 @@
when `type` = #{item.type} then #{item.insertTime}
</foreach>
</trim>
<trim prefix="huhu_subsidy_max = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.huhuSubsidyMax}
</foreach>
</trim>
</trim>
where `type` in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.type}
</foreach>
</update>
<insert id="batchInsert" keyColumn="order_sn" keyProperty="orderSn" parameterType="map" useGeneratedKeys="true">
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into huhu.order_taobao_jd_commission
(`type`, order_sn_parent, is_parent, title, estimate_effect, commission_amount, refund_amount,
money, all_money, `status`, create_time, settle_time, last_time, amount, created_at,
updated_at, deleted_at, user_id, active_state, post_time, active_time, pname, has_deposit,
commission_snapshot, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual, no_invite_reward,
goods_cnt, huhu_commission_rate, insert_time)
insert into order_taobao_jd_commission
(`type`, order_sn, order_sn_parent, is_parent, title, estimate_effect, commission_amount,
refund_amount, money, all_money, `status`, create_time, settle_time, last_time,
amount, created_at, updated_at, deleted_at, user_id, active_state, post_time, active_time,
pname, has_deposit, commission_snapshot, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual,
no_invite_reward, goods_cnt, huhu_commission_rate, insert_time, huhu_subsidy_max
)
values
<foreach collection="list" item="item" separator=",">
(#{item.type}, #{item.orderSnParent}, #{item.isParent}, #{item.title}, #{item.estimateEffect},
#{item.commissionAmount}, #{item.refundAmount}, #{item.money}, #{item.allMoney},
#{item.status}, #{item.createTime}, #{item.settleTime}, #{item.lastTime}, #{item.amount},
#{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.userId}, #{item.activeState},
#{item.postTime}, #{item.activeTime}, #{item.pname}, #{item.hasDeposit}, #{item.commissionSnapshot},
#{item.isForNew}, #{item.huhuSubsidySnapshot}, #{item.huhuSubsidyActual}, #{item.noInviteReward},
#{item.goodsCnt}, #{item.huhuCommissionRate}, #{item.insertTime})
(#{item.type}, #{item.orderSn}, #{item.orderSnParent}, #{item.isParent}, #{item.title},
#{item.estimateEffect}, #{item.commissionAmount}, #{item.refundAmount}, #{item.money},
#{item.allMoney}, #{item.status}, #{item.createTime}, #{item.settleTime}, #{item.lastTime},
#{item.amount}, #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}, #{item.userId},
#{item.activeState}, #{item.postTime}, #{item.activeTime}, #{item.pname}, #{item.hasDeposit},
#{item.commissionSnapshot}, #{item.isForNew}, #{item.huhuSubsidySnapshot}, #{item.huhuSubsidyActual},
#{item.noInviteReward}, #{item.goodsCnt}, #{item.huhuCommissionRate}, #{item.insertTime},
#{item.huhuSubsidyMax})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="order_sn" keyProperty="orderSn" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdCommission" useGeneratedKeys="true">
<insert id="insertOrUpdate" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdCommission">
<!--@mbg.generated-->
insert into huhu.order_taobao_jd_commission
<trim prefix="(" suffix=")" suffixOverrides=",">
`type`,
<if test="orderSn != null">
order_sn,
</if>
order_sn_parent,
is_parent,
title,
estimate_effect,
commission_amount,
refund_amount,
money,
all_money,
`status`,
create_time,
settle_time,
last_time,
amount,
created_at,
updated_at,
deleted_at,
user_id,
active_state,
post_time,
active_time,
pname,
has_deposit,
commission_snapshot,
is_for_new,
huhu_subsidy_snapshot,
huhu_subsidy_actual,
no_invite_reward,
goods_cnt,
huhu_commission_rate,
insert_time,
</trim>
insert into order_taobao_jd_commission
(`type`, order_sn, order_sn_parent, is_parent, title, estimate_effect, commission_amount,
refund_amount, money, all_money, `status`, create_time, settle_time, last_time,
amount, created_at, updated_at, deleted_at, user_id, active_state, post_time, active_time,
pname, has_deposit, commission_snapshot, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual,
no_invite_reward, goods_cnt, huhu_commission_rate, insert_time, huhu_subsidy_max
)
values
<trim prefix="(" suffix=")" suffixOverrides=",">
#{type},
<if test="orderSn != null">
#{orderSn},
</if>
#{orderSnParent},
#{isParent},
#{title},
#{estimateEffect},
#{commissionAmount},
#{refundAmount},
#{money},
#{allMoney},
#{status},
#{createTime},
#{settleTime},
#{lastTime},
#{amount},
#{createdAt},
#{updatedAt},
#{deletedAt},
#{userId},
#{activeState},
#{postTime},
#{activeTime},
#{pname},
#{hasDeposit},
#{commissionSnapshot},
#{isForNew},
#{huhuSubsidySnapshot},
#{huhuSubsidyActual},
#{noInviteReward},
#{goodsCnt},
#{huhuCommissionRate},
#{insertTime},
</trim>
(#{type}, #{orderSn}, #{orderSnParent}, #{isParent}, #{title}, #{estimateEffect},
#{commissionAmount}, #{refundAmount}, #{money}, #{allMoney}, #{status}, #{createTime},
#{settleTime}, #{lastTime}, #{amount}, #{createdAt}, #{updatedAt}, #{deletedAt},
#{userId}, #{activeState}, #{postTime}, #{activeTime}, #{pname}, #{hasDeposit},
#{commissionSnapshot}, #{isForNew}, #{huhuSubsidySnapshot}, #{huhuSubsidyActual},
#{noInviteReward}, #{goodsCnt}, #{huhuCommissionRate}, #{insertTime}, #{huhuSubsidyMax}
)
on duplicate key update
<trim suffixOverrides=",">
`type` = #{type},
<if test="orderSn != null">
order_sn = #{orderSn},
</if>
order_sn_parent = #{orderSnParent},
is_parent = #{isParent},
title = #{title},
estimate_effect = #{estimateEffect},
commission_amount = #{commissionAmount},
refund_amount = #{refundAmount},
money = #{money},
all_money = #{allMoney},
`status` = #{status},
create_time = #{createTime},
settle_time = #{settleTime},
last_time = #{lastTime},
amount = #{amount},
created_at = #{createdAt},
updated_at = #{updatedAt},
deleted_at = #{deletedAt},
user_id = #{userId},
active_state = #{activeState},
post_time = #{postTime},
active_time = #{activeTime},
pname = #{pname},
has_deposit = #{hasDeposit},
commission_snapshot = #{commissionSnapshot},
is_for_new = #{isForNew},
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
huhu_subsidy_actual = #{huhuSubsidyActual},
no_invite_reward = #{noInviteReward},
goods_cnt = #{goodsCnt},
huhu_commission_rate = #{huhuCommissionRate},
insert_time = #{insertTime},
</trim>
`type` = #{type},
order_sn = #{orderSn},
order_sn_parent = #{orderSnParent},
is_parent = #{isParent},
title = #{title},
estimate_effect = #{estimateEffect},
commission_amount = #{commissionAmount},
refund_amount = #{refundAmount},
money = #{money},
all_money = #{allMoney},
`status` = #{status},
create_time = #{createTime},
settle_time = #{settleTime},
last_time = #{lastTime},
amount = #{amount},
created_at = #{createdAt},
updated_at = #{updatedAt},
deleted_at = #{deletedAt},
user_id = #{userId},
active_state = #{activeState},
post_time = #{postTime},
active_time = #{activeTime},
pname = #{pname},
has_deposit = #{hasDeposit},
commission_snapshot = #{commissionSnapshot},
is_for_new = #{isForNew},
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
huhu_subsidy_actual = #{huhuSubsidyActual},
no_invite_reward = #{noInviteReward},
goods_cnt = #{goodsCnt},
huhu_commission_rate = #{huhuCommissionRate},
insert_time = #{insertTime},
huhu_subsidy_max = #{huhuSubsidyMax}
</insert>
<insert id="insertOrUpdateSelective" keyColumn="order_sn" keyProperty="orderSn" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdCommission" useGeneratedKeys="true">
<insert id="insertOrUpdateSelective" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdCommission">
<!--@mbg.generated-->
insert into huhu.order_taobao_jd_commission
insert into order_taobao_jd_commission
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null">
`type`,
......@@ -437,6 +383,9 @@
<if test="insertTime != null">
insert_time,
</if>
<if test="huhuSubsidyMax != null">
huhu_subsidy_max,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -536,6 +485,9 @@
<if test="insertTime != null">
#{insertTime},
</if>
<if test="huhuSubsidyMax != null">
#{huhuSubsidyMax},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
......@@ -635,6 +587,9 @@
<if test="insertTime != null">
insert_time = #{insertTime},
</if>
<if test="huhuSubsidyMax != null">
huhu_subsidy_max = #{huhuSubsidyMax},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lanren.huhu.partner.dao.OrderTaobaoJdGoodsCommissionMapper">
<resultMap id="BaseResultMap" type="com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission">
<!--@mbg.generated-->
<id column="type" property="type" />
<id column="order_sn" property="orderSn" />
<id column="sub_order_sn" property="subOrderSn" />
<result column="order_sn_parent" property="orderSnParent" />
<result column="is_parent" property="isParent" />
<result column="goods_id" property="goodsId" />
<result column="goods_cnt" property="goodsCnt" />
<result column="title" property="title" />
<result column="estimate_effect" property="estimateEffect" />
<result column="commission_amount" property="commissionAmount" />
<result column="order_state" property="orderState" />
<result column="create_time" property="createTime" />
<result column="settle_time" property="settleTime" />
<result column="order_amount" property="orderAmount" />
<result column="check_amount" property="checkAmount" />
<result column="has_deposit" property="hasDeposit" />
<result column="is_for_new" property="isForNew" />
<result column="for_new_rank" property="forNewRank" />
<result column="huhu_subsidy_snapshot" property="huhuSubsidySnapshot" />
<result column="pname" property="pname" />
<result column="no_invite_reward" property="noInviteReward" />
<result column="huhu_subsidy_actual" property="huhuSubsidyActual" />
<result column="commission_snapshot" property="commissionSnapshot" />
<result column="money" property="money" />
<result column="order_type" property="orderType" />
<result column="has_refund" property="hasRefund" />
<result column="is_jd_plus" property="isJdPlus" />
<result column="all_money" property="allMoney" />
<result column="refund_amount" property="refundAmount" />
<result column="huhu_commission_rate" property="huhuCommissionRate" />
<result column="is_share_order" property="isShareOrder" />
<result column="insert_time" property="insertTime" />
<result column="to_get_price" property="toGetPrice" />
<result column="self_role" property="selfRole" />
<result column="update_times" property="updateTimes" />
<result column="huhu_subsidy_max" property="huhuSubsidyMax" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
`type`, order_sn, sub_order_sn, order_sn_parent, is_parent, goods_id, goods_cnt,
title, estimate_effect, commission_amount, order_state, create_time, settle_time,
order_amount, check_amount, has_deposit, is_for_new, for_new_rank, huhu_subsidy_snapshot,
pname, no_invite_reward, huhu_subsidy_actual, commission_snapshot, money, order_type,
has_refund, is_jd_plus, all_money, refund_amount, huhu_commission_rate, is_share_order,
insert_time, to_get_price, self_role, update_times, huhu_subsidy_max
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update order_taobao_jd_goods_commission
<trim prefix="set" suffixOverrides=",">
<trim prefix="order_sn_parent = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.orderSnParent}
</foreach>
</trim>
<trim prefix="is_parent = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.isParent}
</foreach>
</trim>
<trim prefix="goods_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.goodsId}
</foreach>
</trim>
<trim prefix="goods_cnt = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.goodsCnt}
</foreach>
</trim>
<trim prefix="title = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.title}
</foreach>
</trim>
<trim prefix="estimate_effect = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.estimateEffect}
</foreach>
</trim>
<trim prefix="commission_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.commissionAmount}
</foreach>
</trim>
<trim prefix="order_state = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.orderState}
</foreach>
</trim>
<trim prefix="create_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.createTime}
</foreach>
</trim>
<trim prefix="settle_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.settleTime}
</foreach>
</trim>
<trim prefix="order_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.orderAmount}
</foreach>
</trim>
<trim prefix="check_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.checkAmount}
</foreach>
</trim>
<trim prefix="has_deposit = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.hasDeposit}
</foreach>
</trim>
<trim prefix="is_for_new = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.isForNew}
</foreach>
</trim>
<trim prefix="for_new_rank = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.forNewRank}
</foreach>
</trim>
<trim prefix="huhu_subsidy_snapshot = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.huhuSubsidySnapshot}
</foreach>
</trim>
<trim prefix="pname = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.pname}
</foreach>
</trim>
<trim prefix="no_invite_reward = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.noInviteReward}
</foreach>
</trim>
<trim prefix="huhu_subsidy_actual = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.huhuSubsidyActual}
</foreach>
</trim>
<trim prefix="commission_snapshot = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.commissionSnapshot}
</foreach>
</trim>
<trim prefix="money = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.money}
</foreach>
</trim>
<trim prefix="order_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.orderType}
</foreach>
</trim>
<trim prefix="has_refund = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.hasRefund}
</foreach>
</trim>
<trim prefix="is_jd_plus = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.isJdPlus}
</foreach>
</trim>
<trim prefix="all_money = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.allMoney}
</foreach>
</trim>
<trim prefix="refund_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.refundAmount}
</foreach>
</trim>
<trim prefix="huhu_commission_rate = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.huhuCommissionRate}
</foreach>
</trim>
<trim prefix="is_share_order = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.isShareOrder}
</foreach>
</trim>
<trim prefix="insert_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.insertTime}
</foreach>
</trim>
<trim prefix="to_get_price = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.toGetPrice}
</foreach>
</trim>
<trim prefix="self_role = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.selfRole}
</foreach>
</trim>
<trim prefix="update_times = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.updateTimes}
</foreach>
</trim>
<trim prefix="huhu_subsidy_max = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when `type` = #{item.type} then #{item.huhuSubsidyMax}
</foreach>
</trim>
</trim>
where `type` in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.type}
</foreach>
</update>
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into order_taobao_jd_goods_commission
(`type`, order_sn, sub_order_sn, order_sn_parent, is_parent, goods_id, goods_cnt,
title, estimate_effect, commission_amount, order_state, create_time, settle_time,
order_amount, check_amount, has_deposit, is_for_new, for_new_rank, huhu_subsidy_snapshot,
pname, no_invite_reward, huhu_subsidy_actual, commission_snapshot, money, order_type,
has_refund, is_jd_plus, all_money, refund_amount, huhu_commission_rate, is_share_order,
insert_time, to_get_price, self_role, update_times, huhu_subsidy_max)
values
<foreach collection="list" item="item" separator=",">
(#{item.type}, #{item.orderSn}, #{item.subOrderSn}, #{item.orderSnParent}, #{item.isParent},
#{item.goodsId}, #{item.goodsCnt}, #{item.title}, #{item.estimateEffect}, #{item.commissionAmount},
#{item.orderState}, #{item.createTime}, #{item.settleTime}, #{item.orderAmount},
#{item.checkAmount}, #{item.hasDeposit}, #{item.isForNew}, #{item.forNewRank},
#{item.huhuSubsidySnapshot}, #{item.pname}, #{item.noInviteReward}, #{item.huhuSubsidyActual},
#{item.commissionSnapshot}, #{item.money}, #{item.orderType}, #{item.hasRefund},
#{item.isJdPlus}, #{item.allMoney}, #{item.refundAmount}, #{item.huhuCommissionRate},
#{item.isShareOrder}, #{item.insertTime}, #{item.toGetPrice}, #{item.selfRole},
#{item.updateTimes}, #{item.huhuSubsidyMax})
</foreach>
</insert>
<insert id="insertOrUpdate" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission">
<!--@mbg.generated-->
insert into order_taobao_jd_goods_commission
(`type`, order_sn, sub_order_sn, order_sn_parent, is_parent, goods_id, goods_cnt,
title, estimate_effect, commission_amount, order_state, create_time, settle_time,
order_amount, check_amount, has_deposit, is_for_new, for_new_rank, huhu_subsidy_snapshot,
pname, no_invite_reward, huhu_subsidy_actual, commission_snapshot, money, order_type,
has_refund, is_jd_plus, all_money, refund_amount, huhu_commission_rate, is_share_order,
insert_time, to_get_price, self_role, update_times, huhu_subsidy_max)
values
(#{type}, #{orderSn}, #{subOrderSn}, #{orderSnParent}, #{isParent}, #{goodsId}, #{goodsCnt},
#{title}, #{estimateEffect}, #{commissionAmount}, #{orderState}, #{createTime},
#{settleTime}, #{orderAmount}, #{checkAmount}, #{hasDeposit}, #{isForNew}, #{forNewRank},
#{huhuSubsidySnapshot}, #{pname}, #{noInviteReward}, #{huhuSubsidyActual}, #{commissionSnapshot},
#{money}, #{orderType}, #{hasRefund}, #{isJdPlus}, #{allMoney}, #{refundAmount},
#{huhuCommissionRate}, #{isShareOrder}, #{insertTime}, #{toGetPrice}, #{selfRole},
#{updateTimes}, #{huhuSubsidyMax})
on duplicate key update
`type` = #{type},
order_sn = #{orderSn},
sub_order_sn = #{subOrderSn},
order_sn_parent = #{orderSnParent},
is_parent = #{isParent},
goods_id = #{goodsId},
goods_cnt = #{goodsCnt},
title = #{title},
estimate_effect = #{estimateEffect},
commission_amount = #{commissionAmount},
order_state = #{orderState},
create_time = #{createTime},
settle_time = #{settleTime},
order_amount = #{orderAmount},
check_amount = #{checkAmount},
has_deposit = #{hasDeposit},
is_for_new = #{isForNew},
for_new_rank = #{forNewRank},
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
pname = #{pname},
no_invite_reward = #{noInviteReward},
huhu_subsidy_actual = #{huhuSubsidyActual},
commission_snapshot = #{commissionSnapshot},
money = #{money},
order_type = #{orderType},
has_refund = #{hasRefund},
is_jd_plus = #{isJdPlus},
all_money = #{allMoney},
refund_amount = #{refundAmount},
huhu_commission_rate = #{huhuCommissionRate},
is_share_order = #{isShareOrder},
insert_time = #{insertTime},
to_get_price = #{toGetPrice},
self_role = #{selfRole},
update_times = #{updateTimes},
huhu_subsidy_max = #{huhuSubsidyMax}
</insert>
<insert id="insertOrUpdateSelective" parameterType="com.lanren.huhu.partner.domain.OrderTaobaoJdGoodsCommission">
<!--@mbg.generated-->
insert into order_taobao_jd_goods_commission
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null">
`type`,
</if>
<if test="orderSn != null">
order_sn,
</if>
<if test="subOrderSn != null">
sub_order_sn,
</if>
<if test="orderSnParent != null">
order_sn_parent,
</if>
<if test="isParent != null">
is_parent,
</if>
<if test="goodsId != null">
goods_id,
</if>
<if test="goodsCnt != null">
goods_cnt,
</if>
<if test="title != null">
title,
</if>
<if test="estimateEffect != null">
estimate_effect,
</if>
<if test="commissionAmount != null">
commission_amount,
</if>
<if test="orderState != null">
order_state,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="settleTime != null">
settle_time,
</if>
<if test="orderAmount != null">
order_amount,
</if>
<if test="checkAmount != null">
check_amount,
</if>
<if test="hasDeposit != null">
has_deposit,
</if>
<if test="isForNew != null">
is_for_new,
</if>
<if test="forNewRank != null">
for_new_rank,
</if>
<if test="huhuSubsidySnapshot != null">
huhu_subsidy_snapshot,
</if>
<if test="pname != null">
pname,
</if>
<if test="noInviteReward != null">
no_invite_reward,
</if>
<if test="huhuSubsidyActual != null">
huhu_subsidy_actual,
</if>
<if test="commissionSnapshot != null">
commission_snapshot,
</if>
<if test="money != null">
money,
</if>
<if test="orderType != null">
order_type,
</if>
<if test="hasRefund != null">
has_refund,
</if>
<if test="isJdPlus != null">
is_jd_plus,
</if>
<if test="allMoney != null">
all_money,
</if>
<if test="refundAmount != null">
refund_amount,
</if>
<if test="huhuCommissionRate != null">
huhu_commission_rate,
</if>
<if test="isShareOrder != null">
is_share_order,
</if>
<if test="insertTime != null">
insert_time,
</if>
<if test="toGetPrice != null">
to_get_price,
</if>
<if test="selfRole != null">
self_role,
</if>
<if test="updateTimes != null">
update_times,
</if>
<if test="huhuSubsidyMax != null">
huhu_subsidy_max,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null">
#{type},
</if>
<if test="orderSn != null">
#{orderSn},
</if>
<if test="subOrderSn != null">
#{subOrderSn},
</if>
<if test="orderSnParent != null">
#{orderSnParent},
</if>
<if test="isParent != null">
#{isParent},
</if>
<if test="goodsId != null">
#{goodsId},
</if>
<if test="goodsCnt != null">
#{goodsCnt},
</if>
<if test="title != null">
#{title},
</if>
<if test="estimateEffect != null">
#{estimateEffect},
</if>
<if test="commissionAmount != null">
#{commissionAmount},
</if>
<if test="orderState != null">
#{orderState},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="settleTime != null">
#{settleTime},
</if>
<if test="orderAmount != null">
#{orderAmount},
</if>
<if test="checkAmount != null">
#{checkAmount},
</if>
<if test="hasDeposit != null">
#{hasDeposit},
</if>
<if test="isForNew != null">
#{isForNew},
</if>
<if test="forNewRank != null">
#{forNewRank},
</if>
<if test="huhuSubsidySnapshot != null">
#{huhuSubsidySnapshot},
</if>
<if test="pname != null">
#{pname},
</if>
<if test="noInviteReward != null">
#{noInviteReward},
</if>
<if test="huhuSubsidyActual != null">
#{huhuSubsidyActual},
</if>
<if test="commissionSnapshot != null">
#{commissionSnapshot},
</if>
<if test="money != null">
#{money},
</if>
<if test="orderType != null">
#{orderType},
</if>
<if test="hasRefund != null">
#{hasRefund},
</if>
<if test="isJdPlus != null">
#{isJdPlus},
</if>
<if test="allMoney != null">
#{allMoney},
</if>
<if test="refundAmount != null">
#{refundAmount},
</if>
<if test="huhuCommissionRate != null">
#{huhuCommissionRate},
</if>
<if test="isShareOrder != null">
#{isShareOrder},
</if>
<if test="insertTime != null">
#{insertTime},
</if>
<if test="toGetPrice != null">
#{toGetPrice},
</if>
<if test="selfRole != null">
#{selfRole},
</if>
<if test="updateTimes != null">
#{updateTimes},
</if>
<if test="huhuSubsidyMax != null">
#{huhuSubsidyMax},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="type != null">
`type` = #{type},
</if>
<if test="orderSn != null">
order_sn = #{orderSn},
</if>
<if test="subOrderSn != null">
sub_order_sn = #{subOrderSn},
</if>
<if test="orderSnParent != null">
order_sn_parent = #{orderSnParent},
</if>
<if test="isParent != null">
is_parent = #{isParent},
</if>
<if test="goodsId != null">
goods_id = #{goodsId},
</if>
<if test="goodsCnt != null">
goods_cnt = #{goodsCnt},
</if>
<if test="title != null">
title = #{title},
</if>
<if test="estimateEffect != null">
estimate_effect = #{estimateEffect},
</if>
<if test="commissionAmount != null">
commission_amount = #{commissionAmount},
</if>
<if test="orderState != null">
order_state = #{orderState},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="settleTime != null">
settle_time = #{settleTime},
</if>
<if test="orderAmount != null">
order_amount = #{orderAmount},
</if>
<if test="checkAmount != null">
check_amount = #{checkAmount},
</if>
<if test="hasDeposit != null">
has_deposit = #{hasDeposit},
</if>
<if test="isForNew != null">
is_for_new = #{isForNew},
</if>
<if test="forNewRank != null">
for_new_rank = #{forNewRank},
</if>
<if test="huhuSubsidySnapshot != null">
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
</if>
<if test="pname != null">
pname = #{pname},
</if>
<if test="noInviteReward != null">
no_invite_reward = #{noInviteReward},
</if>
<if test="huhuSubsidyActual != null">
huhu_subsidy_actual = #{huhuSubsidyActual},
</if>
<if test="commissionSnapshot != null">
commission_snapshot = #{commissionSnapshot},
</if>
<if test="money != null">
money = #{money},
</if>
<if test="orderType != null">
order_type = #{orderType},
</if>
<if test="hasRefund != null">
has_refund = #{hasRefund},
</if>
<if test="isJdPlus != null">
is_jd_plus = #{isJdPlus},
</if>
<if test="allMoney != null">
all_money = #{allMoney},
</if>
<if test="refundAmount != null">
refund_amount = #{refundAmount},
</if>
<if test="huhuCommissionRate != null">
huhu_commission_rate = #{huhuCommissionRate},
</if>
<if test="isShareOrder != null">
is_share_order = #{isShareOrder},
</if>
<if test="insertTime != null">
insert_time = #{insertTime},
</if>
<if test="toGetPrice != null">
to_get_price = #{toGetPrice},
</if>
<if test="selfRole != null">
self_role = #{selfRole},
</if>
<if test="updateTimes != null">
update_times = #{updateTimes},
</if>
<if test="huhuSubsidyMax != null">
huhu_subsidy_max = #{huhuSubsidyMax},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lanren.huhu.partner.dao.OrdersActiveMapper">
<resultMap id="BaseResultMap" type="com.lanren.huhu.partner.domain.OrdersActive">
<!--@mbg.generated-->
<id column="id" property="id" />
<result column="order_id" property="orderId" />
<result column="user_id" property="userId" />
<result column="order_sn" property="orderSn" />
<result column="type" property="type" />
<result column="title" property="title" />
<result column="commission_snapshot" property="commissionSnapshot" />
<result column="estimate_effect" property="estimateEffect" />
<result column="commission_amount" property="commissionAmount" />
<result column="refund_amount" property="refundAmount" />
<result column="all_money" property="allMoney" />
<result column="money" property="money" />
<result column="status" property="status" />
<result column="create_time" property="createTime" />
<result column="settle_time" property="settleTime" />
<result column="last_time" property="lastTime" />
<result column="amount" property="amount" />
<result column="is_for_new" property="isForNew" />
<result column="huhu_subsidy_snapshot" property="huhuSubsidySnapshot" />
<result column="huhu_subsidy_actual" property="huhuSubsidyActual" />
<result column="active_state" property="activeState" />
<result column="post_time" property="postTime" />
<result column="active_time" property="activeTime" />
<result column="created_at" property="createdAt" />
<result column="updated_at" property="updatedAt" />
<result column="has_deposit" property="hasDeposit" />
<result column="first_withdraw_cash" property="firstWithdrawCash" />
<result column="is_first_withdraw" property="isFirstWithdraw" />
<result column="is_split_order" property="isSplitOrder" />
<result column="parent_order_sn" property="parentOrderSn" />
<result column="no_invite_reward" property="noInviteReward" />
<result column="goods_cnt" property="goodsCnt" />
<result column="order_state" property="orderState" />
<result column="settlement_parent_order_sn" property="settlementParentOrderSn" />
<result column="is_surplus_order" property="isSurplusOrder" />
<result column="is_consume_money" property="isConsumeMoney" />
<result column="is_advance_settle_order" property="isAdvanceSettleOrder" />
<result column="active_identity" property="activeIdentity" />
<result column="is_push_settle_task" property="isPushSettleTask" />
<result column="is_assist" property="isAssist" />
<result column="max_rate" property="maxRate" />
<result column="mini_rate" property="miniRate" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, order_id, user_id, order_sn, `type`, title, commission_snapshot, estimate_effect,
commission_amount, refund_amount, all_money, money, `status`, create_time, settle_time,
last_time, amount, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual, active_state,
post_time, active_time, created_at, updated_at, has_deposit, first_withdraw_cash,
is_first_withdraw, is_split_order, parent_order_sn, no_invite_reward, goods_cnt,
order_state, settlement_parent_order_sn, is_surplus_order, is_consume_money, is_advance_settle_order,
active_identity, is_push_settle_task, is_assist, max_rate, mini_rate
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update orders_active
<trim prefix="set" suffixOverrides=",">
<trim prefix="order_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.orderId}
</foreach>
</trim>
<trim prefix="user_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.userId}
</foreach>
</trim>
<trim prefix="order_sn = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.orderSn}
</foreach>
</trim>
<trim prefix="`type` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.type}
</foreach>
</trim>
<trim prefix="title = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.title}
</foreach>
</trim>
<trim prefix="commission_snapshot = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.commissionSnapshot}
</foreach>
</trim>
<trim prefix="estimate_effect = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.estimateEffect}
</foreach>
</trim>
<trim prefix="commission_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.commissionAmount}
</foreach>
</trim>
<trim prefix="refund_amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.refundAmount}
</foreach>
</trim>
<trim prefix="all_money = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.allMoney}
</foreach>
</trim>
<trim prefix="money = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.money}
</foreach>
</trim>
<trim prefix="`status` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.status}
</foreach>
</trim>
<trim prefix="create_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.createTime}
</foreach>
</trim>
<trim prefix="settle_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.settleTime}
</foreach>
</trim>
<trim prefix="last_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.lastTime}
</foreach>
</trim>
<trim prefix="amount = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.amount}
</foreach>
</trim>
<trim prefix="is_for_new = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isForNew}
</foreach>
</trim>
<trim prefix="huhu_subsidy_snapshot = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.huhuSubsidySnapshot}
</foreach>
</trim>
<trim prefix="huhu_subsidy_actual = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.huhuSubsidyActual}
</foreach>
</trim>
<trim prefix="active_state = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.activeState}
</foreach>
</trim>
<trim prefix="post_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.postTime}
</foreach>
</trim>
<trim prefix="active_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.activeTime}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.createdAt}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.updatedAt}
</foreach>
</trim>
<trim prefix="has_deposit = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.hasDeposit}
</foreach>
</trim>
<trim prefix="first_withdraw_cash = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.firstWithdrawCash}
</foreach>
</trim>
<trim prefix="is_first_withdraw = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isFirstWithdraw}
</foreach>
</trim>
<trim prefix="is_split_order = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isSplitOrder}
</foreach>
</trim>
<trim prefix="parent_order_sn = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.parentOrderSn}
</foreach>
</trim>
<trim prefix="no_invite_reward = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.noInviteReward}
</foreach>
</trim>
<trim prefix="goods_cnt = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.goodsCnt}
</foreach>
</trim>
<trim prefix="order_state = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.orderState}
</foreach>
</trim>
<trim prefix="settlement_parent_order_sn = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.settlementParentOrderSn}
</foreach>
</trim>
<trim prefix="is_surplus_order = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isSurplusOrder}
</foreach>
</trim>
<trim prefix="is_consume_money = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isConsumeMoney}
</foreach>
</trim>
<trim prefix="is_advance_settle_order = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isAdvanceSettleOrder}
</foreach>
</trim>
<trim prefix="active_identity = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.activeIdentity}
</foreach>
</trim>
<trim prefix="is_push_settle_task = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isPushSettleTask}
</foreach>
</trim>
<trim prefix="is_assist = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isAssist}
</foreach>
</trim>
<trim prefix="max_rate = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.maxRate}
</foreach>
</trim>
<trim prefix="mini_rate = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.miniRate}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into orders_active
(order_id, user_id, order_sn, `type`, title, commission_snapshot, estimate_effect,
commission_amount, refund_amount, all_money, money, `status`, create_time, settle_time,
last_time, amount, is_for_new, huhu_subsidy_snapshot, huhu_subsidy_actual, active_state,
post_time, active_time, created_at, updated_at, has_deposit, first_withdraw_cash,
is_first_withdraw, is_split_order, parent_order_sn, no_invite_reward, goods_cnt,
order_state, settlement_parent_order_sn, is_surplus_order, is_consume_money, is_advance_settle_order,
active_identity, is_push_settle_task, is_assist, max_rate, mini_rate)
values
<foreach collection="list" item="item" separator=",">
(#{item.orderId}, #{item.userId}, #{item.orderSn}, #{item.type}, #{item.title}, #{item.commissionSnapshot},
#{item.estimateEffect}, #{item.commissionAmount}, #{item.refundAmount}, #{item.allMoney},
#{item.money}, #{item.status}, #{item.createTime}, #{item.settleTime}, #{item.lastTime},
#{item.amount}, #{item.isForNew}, #{item.huhuSubsidySnapshot}, #{item.huhuSubsidyActual},
#{item.activeState}, #{item.postTime}, #{item.activeTime}, #{item.createdAt}, #{item.updatedAt},
#{item.hasDeposit}, #{item.firstWithdrawCash}, #{item.isFirstWithdraw}, #{item.isSplitOrder},
#{item.parentOrderSn}, #{item.noInviteReward}, #{item.goodsCnt}, #{item.orderState},
#{item.settlementParentOrderSn}, #{item.isSurplusOrder}, #{item.isConsumeMoney},
#{item.isAdvanceSettleOrder}, #{item.activeIdentity}, #{item.isPushSettleTask},
#{item.isAssist}, #{item.maxRate}, #{item.miniRate})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.OrdersActive" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into orders_active
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
order_id,
user_id,
order_sn,
`type`,
title,
commission_snapshot,
estimate_effect,
commission_amount,
refund_amount,
all_money,
money,
`status`,
create_time,
settle_time,
last_time,
amount,
is_for_new,
huhu_subsidy_snapshot,
huhu_subsidy_actual,
active_state,
post_time,
active_time,
created_at,
updated_at,
has_deposit,
first_withdraw_cash,
is_first_withdraw,
is_split_order,
parent_order_sn,
no_invite_reward,
goods_cnt,
order_state,
settlement_parent_order_sn,
is_surplus_order,
is_consume_money,
is_advance_settle_order,
active_identity,
is_push_settle_task,
is_assist,
max_rate,
mini_rate,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
#{orderId},
#{userId},
#{orderSn},
#{type},
#{title},
#{commissionSnapshot},
#{estimateEffect},
#{commissionAmount},
#{refundAmount},
#{allMoney},
#{money},
#{status},
#{createTime},
#{settleTime},
#{lastTime},
#{amount},
#{isForNew},
#{huhuSubsidySnapshot},
#{huhuSubsidyActual},
#{activeState},
#{postTime},
#{activeTime},
#{createdAt},
#{updatedAt},
#{hasDeposit},
#{firstWithdrawCash},
#{isFirstWithdraw},
#{isSplitOrder},
#{parentOrderSn},
#{noInviteReward},
#{goodsCnt},
#{orderState},
#{settlementParentOrderSn},
#{isSurplusOrder},
#{isConsumeMoney},
#{isAdvanceSettleOrder},
#{activeIdentity},
#{isPushSettleTask},
#{isAssist},
#{maxRate},
#{miniRate},
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
order_id = #{orderId},
user_id = #{userId},
order_sn = #{orderSn},
`type` = #{type},
title = #{title},
commission_snapshot = #{commissionSnapshot},
estimate_effect = #{estimateEffect},
commission_amount = #{commissionAmount},
refund_amount = #{refundAmount},
all_money = #{allMoney},
money = #{money},
`status` = #{status},
create_time = #{createTime},
settle_time = #{settleTime},
last_time = #{lastTime},
amount = #{amount},
is_for_new = #{isForNew},
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
huhu_subsidy_actual = #{huhuSubsidyActual},
active_state = #{activeState},
post_time = #{postTime},
active_time = #{activeTime},
created_at = #{createdAt},
updated_at = #{updatedAt},
has_deposit = #{hasDeposit},
first_withdraw_cash = #{firstWithdrawCash},
is_first_withdraw = #{isFirstWithdraw},
is_split_order = #{isSplitOrder},
parent_order_sn = #{parentOrderSn},
no_invite_reward = #{noInviteReward},
goods_cnt = #{goodsCnt},
order_state = #{orderState},
settlement_parent_order_sn = #{settlementParentOrderSn},
is_surplus_order = #{isSurplusOrder},
is_consume_money = #{isConsumeMoney},
is_advance_settle_order = #{isAdvanceSettleOrder},
active_identity = #{activeIdentity},
is_push_settle_task = #{isPushSettleTask},
is_assist = #{isAssist},
max_rate = #{maxRate},
mini_rate = #{miniRate},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.OrdersActive" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into orders_active
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="orderId != null">
order_id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="orderSn != null">
order_sn,
</if>
<if test="type != null">
`type`,
</if>
<if test="title != null">
title,
</if>
<if test="commissionSnapshot != null">
commission_snapshot,
</if>
<if test="estimateEffect != null">
estimate_effect,
</if>
<if test="commissionAmount != null">
commission_amount,
</if>
<if test="refundAmount != null">
refund_amount,
</if>
<if test="allMoney != null">
all_money,
</if>
<if test="money != null">
money,
</if>
<if test="status != null">
`status`,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="settleTime != null">
settle_time,
</if>
<if test="lastTime != null">
last_time,
</if>
<if test="amount != null">
amount,
</if>
<if test="isForNew != null">
is_for_new,
</if>
<if test="huhuSubsidySnapshot != null">
huhu_subsidy_snapshot,
</if>
<if test="huhuSubsidyActual != null">
huhu_subsidy_actual,
</if>
<if test="activeState != null">
active_state,
</if>
<if test="postTime != null">
post_time,
</if>
<if test="activeTime != null">
active_time,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="hasDeposit != null">
has_deposit,
</if>
<if test="firstWithdrawCash != null">
first_withdraw_cash,
</if>
<if test="isFirstWithdraw != null">
is_first_withdraw,
</if>
<if test="isSplitOrder != null">
is_split_order,
</if>
<if test="parentOrderSn != null">
parent_order_sn,
</if>
<if test="noInviteReward != null">
no_invite_reward,
</if>
<if test="goodsCnt != null">
goods_cnt,
</if>
<if test="orderState != null">
order_state,
</if>
<if test="settlementParentOrderSn != null">
settlement_parent_order_sn,
</if>
<if test="isSurplusOrder != null">
is_surplus_order,
</if>
<if test="isConsumeMoney != null">
is_consume_money,
</if>
<if test="isAdvanceSettleOrder != null">
is_advance_settle_order,
</if>
<if test="activeIdentity != null">
active_identity,
</if>
<if test="isPushSettleTask != null">
is_push_settle_task,
</if>
<if test="isAssist != null">
is_assist,
</if>
<if test="maxRate != null">
max_rate,
</if>
<if test="miniRate != null">
mini_rate,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="orderId != null">
#{orderId},
</if>
<if test="userId != null">
#{userId},
</if>
<if test="orderSn != null">
#{orderSn},
</if>
<if test="type != null">
#{type},
</if>
<if test="title != null">
#{title},
</if>
<if test="commissionSnapshot != null">
#{commissionSnapshot},
</if>
<if test="estimateEffect != null">
#{estimateEffect},
</if>
<if test="commissionAmount != null">
#{commissionAmount},
</if>
<if test="refundAmount != null">
#{refundAmount},
</if>
<if test="allMoney != null">
#{allMoney},
</if>
<if test="money != null">
#{money},
</if>
<if test="status != null">
#{status},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="settleTime != null">
#{settleTime},
</if>
<if test="lastTime != null">
#{lastTime},
</if>
<if test="amount != null">
#{amount},
</if>
<if test="isForNew != null">
#{isForNew},
</if>
<if test="huhuSubsidySnapshot != null">
#{huhuSubsidySnapshot},
</if>
<if test="huhuSubsidyActual != null">
#{huhuSubsidyActual},
</if>
<if test="activeState != null">
#{activeState},
</if>
<if test="postTime != null">
#{postTime},
</if>
<if test="activeTime != null">
#{activeTime},
</if>
<if test="createdAt != null">
#{createdAt},
</if>
<if test="updatedAt != null">
#{updatedAt},
</if>
<if test="hasDeposit != null">
#{hasDeposit},
</if>
<if test="firstWithdrawCash != null">
#{firstWithdrawCash},
</if>
<if test="isFirstWithdraw != null">
#{isFirstWithdraw},
</if>
<if test="isSplitOrder != null">
#{isSplitOrder},
</if>
<if test="parentOrderSn != null">
#{parentOrderSn},
</if>
<if test="noInviteReward != null">
#{noInviteReward},
</if>
<if test="goodsCnt != null">
#{goodsCnt},
</if>
<if test="orderState != null">
#{orderState},
</if>
<if test="settlementParentOrderSn != null">
#{settlementParentOrderSn},
</if>
<if test="isSurplusOrder != null">
#{isSurplusOrder},
</if>
<if test="isConsumeMoney != null">
#{isConsumeMoney},
</if>
<if test="isAdvanceSettleOrder != null">
#{isAdvanceSettleOrder},
</if>
<if test="activeIdentity != null">
#{activeIdentity},
</if>
<if test="isPushSettleTask != null">
#{isPushSettleTask},
</if>
<if test="isAssist != null">
#{isAssist},
</if>
<if test="maxRate != null">
#{maxRate},
</if>
<if test="miniRate != null">
#{miniRate},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
<if test="orderId != null">
order_id = #{orderId},
</if>
<if test="userId != null">
user_id = #{userId},
</if>
<if test="orderSn != null">
order_sn = #{orderSn},
</if>
<if test="type != null">
`type` = #{type},
</if>
<if test="title != null">
title = #{title},
</if>
<if test="commissionSnapshot != null">
commission_snapshot = #{commissionSnapshot},
</if>
<if test="estimateEffect != null">
estimate_effect = #{estimateEffect},
</if>
<if test="commissionAmount != null">
commission_amount = #{commissionAmount},
</if>
<if test="refundAmount != null">
refund_amount = #{refundAmount},
</if>
<if test="allMoney != null">
all_money = #{allMoney},
</if>
<if test="money != null">
money = #{money},
</if>
<if test="status != null">
`status` = #{status},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="settleTime != null">
settle_time = #{settleTime},
</if>
<if test="lastTime != null">
last_time = #{lastTime},
</if>
<if test="amount != null">
amount = #{amount},
</if>
<if test="isForNew != null">
is_for_new = #{isForNew},
</if>
<if test="huhuSubsidySnapshot != null">
huhu_subsidy_snapshot = #{huhuSubsidySnapshot},
</if>
<if test="huhuSubsidyActual != null">
huhu_subsidy_actual = #{huhuSubsidyActual},
</if>
<if test="activeState != null">
active_state = #{activeState},
</if>
<if test="postTime != null">
post_time = #{postTime},
</if>
<if test="activeTime != null">
active_time = #{activeTime},
</if>
<if test="createdAt != null">
created_at = #{createdAt},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt},
</if>
<if test="hasDeposit != null">
has_deposit = #{hasDeposit},
</if>
<if test="firstWithdrawCash != null">
first_withdraw_cash = #{firstWithdrawCash},
</if>
<if test="isFirstWithdraw != null">
is_first_withdraw = #{isFirstWithdraw},
</if>
<if test="isSplitOrder != null">
is_split_order = #{isSplitOrder},
</if>
<if test="parentOrderSn != null">
parent_order_sn = #{parentOrderSn},
</if>
<if test="noInviteReward != null">
no_invite_reward = #{noInviteReward},
</if>
<if test="goodsCnt != null">
goods_cnt = #{goodsCnt},
</if>
<if test="orderState != null">
order_state = #{orderState},
</if>
<if test="settlementParentOrderSn != null">
settlement_parent_order_sn = #{settlementParentOrderSn},
</if>
<if test="isSurplusOrder != null">
is_surplus_order = #{isSurplusOrder},
</if>
<if test="isConsumeMoney != null">
is_consume_money = #{isConsumeMoney},
</if>
<if test="isAdvanceSettleOrder != null">
is_advance_settle_order = #{isAdvanceSettleOrder},
</if>
<if test="activeIdentity != null">
active_identity = #{activeIdentity},
</if>
<if test="isPushSettleTask != null">
is_push_settle_task = #{isPushSettleTask},
</if>
<if test="isAssist != null">
is_assist = #{isAssist},
</if>
<if test="maxRate != null">
max_rate = #{maxRate},
</if>
<if test="miniRate != null">
mini_rate = #{miniRate},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
......@@ -20,12 +20,13 @@
<result column="reference_id" property="referenceId" />
<result column="create_time" property="createTime" />
<result column="modify_time" property="modifyTime" />
<result column="snapshot" property="snapshot" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, yeartime, monthtime, daytime, `type`, change_num, changed_amount, change_time,
pay_state, pay_platform, pay_type, pay_remark, pay_info, reference_id, create_time,
modify_time
modify_time, snapshot
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
......@@ -111,6 +112,11 @@
when id = #{item.id} then #{item.modifyTime}
</foreach>
</trim>
<trim prefix="snapshot = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.snapshot}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
......@@ -122,13 +128,13 @@
insert into partner_account_log
(user_id, yeartime, monthtime, daytime, `type`, change_num, changed_amount, change_time,
pay_state, pay_platform, pay_type, pay_remark, pay_info, reference_id, create_time,
modify_time)
modify_time, snapshot)
values
<foreach collection="list" item="item" separator=",">
(#{item.userId}, #{item.yeartime}, #{item.monthtime}, #{item.daytime}, #{item.type},
#{item.changeNum}, #{item.changedAmount}, #{item.changeTime}, #{item.payState},
#{item.payPlatform}, #{item.payType}, #{item.payRemark}, #{item.payInfo}, #{item.referenceId},
#{item.createTime}, #{item.modifyTime})
#{item.createTime}, #{item.modifyTime}, #{item.snapshot})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.PartnerAccountLog" useGeneratedKeys="true">
......@@ -154,6 +160,7 @@
reference_id,
create_time,
modify_time,
snapshot,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -176,6 +183,7 @@
#{referenceId},
#{createTime},
#{modifyTime},
#{snapshot},
</trim>
on duplicate key update
<trim suffixOverrides=",">
......@@ -198,6 +206,7 @@
reference_id = #{referenceId},
create_time = #{createTime},
modify_time = #{modifyTime},
snapshot = #{snapshot},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.PartnerAccountLog" useGeneratedKeys="true">
......@@ -255,6 +264,9 @@
<if test="modifyTime != null">
modify_time,
</if>
<if test="snapshot != null">
snapshot,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -309,6 +321,9 @@
<if test="modifyTime != null">
#{modifyTime},
</if>
<if test="snapshot != null">
#{snapshot},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
......@@ -363,6 +378,9 @@
<if test="modifyTime != null">
modify_time = #{modifyTime},
</if>
<if test="snapshot != null">
snapshot = #{snapshot},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
......@@ -498,4 +498,7 @@
</if>
</trim>
</insert>
<select id="selectOneForUpdate" resultMap="BaseResultMap">
SELECT * FROM partner_account WHERE user_id = #{userId} FOR UPDATE;
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lanren.huhu.partner.dao.PartnerIncomeSummaryMapper">
<resultMap id="BaseResultMap" type="com.lanren.huhu.partner.domain.PartnerIncomeSummary">
<!--@mbg.generated-->
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="yeartime" property="yeartime" />
<result column="monthtime" property="monthtime" />
<result column="income" property="income" />
<result column="content" property="content" />
<result column="state" property="state" />
<result column="settle_time" property="settleTime" />
<result column="created_at" property="createdAt" />
<result column="updated_at" property="updatedAt" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, yeartime, monthtime, income, content, `state`, settle_time, created_at,
updated_at
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
update partner_income_summary
<trim prefix="set" suffixOverrides=",">
<trim prefix="user_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.userId}
</foreach>
</trim>
<trim prefix="yeartime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.yeartime}
</foreach>
</trim>
<trim prefix="monthtime = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.monthtime}
</foreach>
</trim>
<trim prefix="income = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.income}
</foreach>
</trim>
<trim prefix="content = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.content}
</foreach>
</trim>
<trim prefix="`state` = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.state}
</foreach>
</trim>
<trim prefix="settle_time = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.settleTime}
</foreach>
</trim>
<trim prefix="created_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.createdAt}
</foreach>
</trim>
<trim prefix="updated_at = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.updatedAt}
</foreach>
</trim>
</trim>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
#{item.id}
</foreach>
</update>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into partner_income_summary
(user_id, yeartime, monthtime, income, content, `state`, settle_time, created_at,
updated_at)
values
<foreach collection="list" item="item" separator=",">
(#{item.userId}, #{item.yeartime}, #{item.monthtime}, #{item.income}, #{item.content},
#{item.state}, #{item.settleTime}, #{item.createdAt}, #{item.updatedAt})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.PartnerIncomeSummary" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into partner_income_summary
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
user_id,
yeartime,
monthtime,
income,
content,
`state`,
settle_time,
created_at,
updated_at,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
#{userId},
#{yeartime},
#{monthtime},
#{income},
#{content},
#{state},
#{settleTime},
#{createdAt},
#{updatedAt},
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
user_id = #{userId},
yeartime = #{yeartime},
monthtime = #{monthtime},
income = #{income},
content = #{content},
`state` = #{state},
settle_time = #{settleTime},
created_at = #{createdAt},
updated_at = #{updatedAt},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.PartnerIncomeSummary" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into partner_income_summary
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="yeartime != null">
yeartime,
</if>
<if test="monthtime != null">
monthtime,
</if>
<if test="income != null">
income,
</if>
<if test="content != null">
content,
</if>
<if test="state != null">
`state`,
</if>
<if test="settleTime != null">
settle_time,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id},
</if>
<if test="userId != null">
#{userId},
</if>
<if test="yeartime != null">
#{yeartime},
</if>
<if test="monthtime != null">
#{monthtime},
</if>
<if test="income != null">
#{income},
</if>
<if test="content != null">
#{content},
</if>
<if test="state != null">
#{state},
</if>
<if test="settleTime != null">
#{settleTime},
</if>
<if test="createdAt != null">
#{createdAt},
</if>
<if test="updatedAt != null">
#{updatedAt},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
<if test="id != null">
id = #{id},
</if>
<if test="userId != null">
user_id = #{userId},
</if>
<if test="yeartime != null">
yeartime = #{yeartime},
</if>
<if test="monthtime != null">
monthtime = #{monthtime},
</if>
<if test="income != null">
income = #{income},
</if>
<if test="content != null">
content = #{content},
</if>
<if test="state != null">
`state` = #{state},
</if>
<if test="settleTime != null">
settle_time = #{settleTime},
</if>
<if test="createdAt != null">
created_at = #{createdAt},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt},
</if>
</trim>
</insert>
</mapper>
\ No newline at end of file
......@@ -8,6 +8,7 @@
<result column="user_is_super" property="userIsSuper" />
<result column="user_partner_level" property="userPartnerLevel" />
<result column="reward_type" property="rewardType" />
<result column="reward_type_child" property="rewardTypeChild" />
<result column="reward_status" property="rewardStatus" />
<result column="commission_acount" property="commissionAcount" />
<result column="commission_rate" property="commissionRate" />
......@@ -30,13 +31,17 @@
<result column="order_type" property="orderType" />
<result column="order_sn" property="orderSn" />
<result column="sub_order_sn" property="subOrderSn" />
<result column="is_show_on_client" property="isShowOnClient" />
<result column="all_money_ori" property="allMoneyOri" />
<result column="ratio_all" property="ratioAll" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, user_id, user_is_super, user_partner_level, reward_type, reward_status, commission_acount,
commission_rate, reference_id, recharge_time, price, cash, source_user_id, invite_user_id,
invite_user_level, invite_user_is_super, created_at, updated_at, create_time, source_type,
reward_times, settle_state, goods_id, title, order_type, order_sn, sub_order_sn
id, user_id, user_is_super, user_partner_level, reward_type, reward_type_child, reward_status,
commission_acount, commission_rate, reference_id, recharge_time, price, cash, source_user_id,
invite_user_id, invite_user_level, invite_user_is_super, created_at, updated_at,
create_time, source_type, reward_times, settle_state, goods_id, title, order_type,
order_sn, sub_order_sn, is_show_on_client, all_money_ori, ratio_all
</sql>
<update id="updateBatch" parameterType="java.util.List">
<!--@mbg.generated-->
......@@ -62,6 +67,11 @@
when id = #{item.id} then #{item.rewardType}
</foreach>
</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="reward_status = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.rewardStatus}
......@@ -172,6 +182,21 @@
when id = #{item.id} then #{item.subOrderSn}
</foreach>
</trim>
<trim prefix="is_show_on_client = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id} then #{item.isShowOnClient}
</foreach>
</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>
where id in
<foreach close=")" collection="list" item="item" open="(" separator=", ">
......@@ -181,19 +206,20 @@
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into partner_reward
(user_id, user_is_super, user_partner_level, reward_type, reward_status, commission_acount,
commission_rate, reference_id, recharge_time, price, cash, source_user_id, invite_user_id,
invite_user_level, invite_user_is_super, created_at, updated_at, create_time, source_type,
reward_times, settle_state, goods_id, title, order_type, order_sn, sub_order_sn
)
(user_id, user_is_super, user_partner_level, reward_type, reward_type_child, reward_status,
commission_acount, commission_rate, reference_id, recharge_time, price, cash, source_user_id,
invite_user_id, invite_user_level, invite_user_is_super, created_at, updated_at,
create_time, source_type, reward_times, settle_state, goods_id, title, order_type,
order_sn, sub_order_sn, is_show_on_client, all_money_ori, ratio_all)
values
<foreach collection="list" item="item" separator=",">
(#{item.userId}, #{item.userIsSuper}, #{item.userPartnerLevel}, #{item.rewardType},
#{item.rewardStatus}, #{item.commissionAcount}, #{item.commissionRate}, #{item.referenceId},
#{item.rechargeTime}, #{item.price}, #{item.cash}, #{item.sourceUserId}, #{item.inviteUserId},
#{item.inviteUserLevel}, #{item.inviteUserIsSuper}, #{item.createdAt}, #{item.updatedAt},
#{item.createTime}, #{item.sourceType}, #{item.rewardTimes}, #{item.settleState},
#{item.goodsId}, #{item.title}, #{item.orderType}, #{item.orderSn}, #{item.subOrderSn}
#{item.rewardTypeChild}, #{item.rewardStatus}, #{item.commissionAcount}, #{item.commissionRate},
#{item.referenceId}, #{item.rechargeTime}, #{item.price}, #{item.cash}, #{item.sourceUserId},
#{item.inviteUserId}, #{item.inviteUserLevel}, #{item.inviteUserIsSuper}, #{item.createdAt},
#{item.updatedAt}, #{item.createTime}, #{item.sourceType}, #{item.rewardTimes},
#{item.settleState}, #{item.goodsId}, #{item.title}, #{item.orderType}, #{item.orderSn},
#{item.subOrderSn}, #{item.isShowOnClient}, #{item.allMoneyOri}, #{item.ratioAll}
)
</foreach>
</insert>
......@@ -208,6 +234,7 @@
user_is_super,
user_partner_level,
reward_type,
reward_type_child,
reward_status,
commission_acount,
commission_rate,
......@@ -230,6 +257,9 @@
order_type,
order_sn,
sub_order_sn,
is_show_on_client,
all_money_ori,
ratio_all,
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -240,6 +270,7 @@
#{userIsSuper},
#{userPartnerLevel},
#{rewardType},
#{rewardTypeChild},
#{rewardStatus},
#{commissionAcount},
#{commissionRate},
......@@ -262,6 +293,9 @@
#{orderType},
#{orderSn},
#{subOrderSn},
#{isShowOnClient},
#{allMoneyOri},
#{ratioAll},
</trim>
on duplicate key update
<trim suffixOverrides=",">
......@@ -272,6 +306,7 @@
user_is_super = #{userIsSuper},
user_partner_level = #{userPartnerLevel},
reward_type = #{rewardType},
reward_type_child = #{rewardTypeChild},
reward_status = #{rewardStatus},
commission_acount = #{commissionAcount},
commission_rate = #{commissionRate},
......@@ -294,6 +329,9 @@
order_type = #{orderType},
order_sn = #{orderSn},
sub_order_sn = #{subOrderSn},
is_show_on_client = #{isShowOnClient},
all_money_ori = #{allMoneyOri},
ratio_all = #{ratioAll},
</trim>
</insert>
<insert id="insertOrUpdateSelective" keyColumn="id" keyProperty="id" parameterType="com.lanren.huhu.partner.domain.PartnerReward" useGeneratedKeys="true">
......@@ -315,6 +353,9 @@
<if test="rewardType != null">
reward_type,
</if>
<if test="rewardTypeChild != null">
reward_type_child,
</if>
<if test="rewardStatus != null">
reward_status,
</if>
......@@ -381,6 +422,15 @@
<if test="subOrderSn != null">
sub_order_sn,
</if>
<if test="isShowOnClient != null">
is_show_on_client,
</if>
<if test="allMoneyOri != null">
all_money_ori,
</if>
<if test="ratioAll != null">
ratio_all,
</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
......@@ -399,6 +449,9 @@
<if test="rewardType != null">
#{rewardType},
</if>
<if test="rewardTypeChild != null">
#{rewardTypeChild},
</if>
<if test="rewardStatus != null">
#{rewardStatus},
</if>
......@@ -465,6 +518,15 @@
<if test="subOrderSn != null">
#{subOrderSn},
</if>
<if test="isShowOnClient != null">
#{isShowOnClient},
</if>
<if test="allMoneyOri != null">
#{allMoneyOri},
</if>
<if test="ratioAll != null">
#{ratioAll},
</if>
</trim>
on duplicate key update
<trim suffixOverrides=",">
......@@ -483,6 +545,9 @@
<if test="rewardType != null">
reward_type = #{rewardType},
</if>
<if test="rewardTypeChild != null">
reward_type_child = #{rewardTypeChild},
</if>
<if test="rewardStatus != null">
reward_status = #{rewardStatus},
</if>
......@@ -549,6 +614,85 @@
<if test="subOrderSn != null">
sub_order_sn = #{subOrderSn},
</if>
<if test="isShowOnClient != null">
is_show_on_client = #{isShowOnClient},
</if>
<if test="allMoneyOri != null">
all_money_ori = #{allMoneyOri},
</if>
<if test="ratioAll != null">
ratio_all = #{ratioAll},
</if>
</trim>
</insert>
<select id="selectOrderRewardPageByTs" resultType="com.lanren.huhu.partner.domain.PartnerReward">
SELECT *
FROM partner_reward
WHERE recharge_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100
AND reward_type in (110,120)
ORDER BY id
</select>
<select id="selectOrderRewardPageByTsAndUid" resultMap="BaseResultMap">
SELECT *
FROM partner_reward
WHERE recharge_time BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status = 100
AND reward_type in (110,120)
AND user_id = #{userId}
ORDER BY id
</select>
<select id="selectPartnerSettlePageByTs" resultType="com.lanren.huhu.partner.model.PartnerSettle">
SELECT
user_id,
SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END ELSE 0 END) sum_order_commission,
SUM(CASE WHEN reward_type=60 THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END ELSE 0 END) sum_redpack,
SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others,
SUM(CASE
WHEN reward_type IN (60, 110, 120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 1 END
ELSE 0 END
) tech_charge,
0 wx_income,
0 wx_tax,
0 bank_income,
0 bank_tax
FROM partner_reward
WHERE recharge_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status=100
AND reward_type != 130
GROUP BY 1
ORDER BY 1
</select>
<select id="selectPartnerSettleByTsAndUid" resultType="com.lanren.huhu.partner.model.PartnerSettle">
SELECT
user_id,
SUM(CASE WHEN reward_type IN (110,120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END ELSE 0 END) sum_order_commission,
SUM(CASE WHEN reward_type=60 THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.97 WHEN user_partner_level=20 THEN 0.94 ELSE 1 END ELSE 0 END) sum_redpack,
SUM(CASE WHEN reward_type NOT IN (60,110,120) THEN commission_acount ELSE 0 END) sum_others,
SUM(CASE
WHEN reward_type IN (60, 110, 120) THEN commission_acount * CASE WHEN user_is_super=1 THEN 0.03 WHEN user_partner_level=20 THEN 0.06 ELSE 1 END
ELSE 0 END
) tech_charge,
0 wx_income,
0 wx_tax,
0 bank_income,
0 bank_tax
FROM partner_reward
WHERE recharge_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND reward_status=100
AND reward_type != 130
AND user_id = #{userId}
GROUP BY 1
</select>
<update id="updateRewardStatusByUidAndTs">
UPDATE partner_reward
SET reward_status=120
WHERE recharge_time
BETWEEN FROM_UNIXTIME(#{beginTs}) AND FROM_UNIXTIME(#{endTs})
AND user_id = #{userId}
AND reward_status=100
AND reward_type != 130
</update>
</mapper>
\ No newline at end of file
ALTER TABLE `huhu`.`partner_account_log`
ADD COLUMN `snapshot` varchar(512) NULL COMMENT '变更前的快照' AFTER `modify_time`;
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