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.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.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
......@@ -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
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