Compare commits

..

12 Commits

39 changed files with 5088 additions and 276 deletions

View File

@@ -187,10 +187,11 @@ CREATE TABLE `dms_member_month_reward_record` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员月度奖励发放记录表'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员月度奖励发放记录表';
alter table `ums_member` add column `member_level` int(1) null COMMENT '分销会员等级0->普通会员1->消费商2->经销商3->合作商4->初级合作商5->中级合作商6->高级合作商7->特级合作商))' default '0' AFTER `member_level_id`; alter table `ums_member` add column `member_level` int(1) null COMMENT '分销会员等级0->普通用户1->vip会员2->店长3->代理4->市代5->中级合作商6->高级合作商7->特级合作商))' default '0' AFTER `member_level_id`;
alter table `ums_member` add column `store_status` int(1) null COMMENT '分销实体店状态0->未开店1->已开店)' default '0'; alter table `ums_member` add column `store_status` int(1) null COMMENT '分销实体店状态0->未开店1->已开店)' default '0';
alter table `ums_member` add column `balance` decimal(10,2) null COMMENT '余额' default '0.00'; alter table `ums_member` add column `balance` decimal(10,2) null COMMENT '余额' default '0.00';
alter table `ums_member` add column `freeze` decimal(10,2) null COMMENT '冻结余额' default '0.00'; alter table `ums_member` add column `freeze` decimal(10,2) null COMMENT '冻结余额' default '0.00';
alter table `ums_member` add column `order_status` int(1) null COMMENT '排队状态:0->未排队1->排队中' default '0';
alter table `oms_order` add column settlement_status int(1) null COMMENT '分销结算状态0->未结算1->已结算2->不结算)' default '0'; alter table `oms_order` add column settlement_status int(1) null COMMENT '分销结算状态0->未结算1->已结算2->不结算)' default '0';
alter table `oms_order` add column settlement_time datetime null COMMENT '分销结算时间'; alter table `oms_order` add column settlement_time datetime null COMMENT '分销结算时间';

View File

@@ -971,7 +971,7 @@ CREATE TABLE IF NOT EXISTS `ums_integration_consume_setting` (
DROP TABLE IF EXISTS `ums_member`; DROP TABLE IF EXISTS `ums_member`;
CREATE TABLE IF NOT EXISTS `ums_member` ( CREATE TABLE IF NOT EXISTS `ums_member` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`member_level_id` bigint(20) DEFAULT NULL COMMENT '会员等级id', `member_level_id` bigint(20) DEFAULT 0 COMMENT '会员等级id',
`username` varchar(64) DEFAULT NULL COMMENT '用户名', `username` varchar(64) DEFAULT NULL COMMENT '用户名',
`password` varchar(64) DEFAULT NULL COMMENT '密码', `password` varchar(64) DEFAULT NULL COMMENT '密码',
`nickname` varchar(64) DEFAULT NULL COMMENT '昵称', `nickname` varchar(64) DEFAULT NULL COMMENT '昵称',
@@ -989,8 +989,10 @@ CREATE TABLE IF NOT EXISTS `ums_member` (
`growth` int(11) DEFAULT NULL COMMENT '成长值', `growth` int(11) DEFAULT NULL COMMENT '成长值',
`luckey_count` int(11) DEFAULT NULL COMMENT '剩余抽奖次数', `luckey_count` int(11) DEFAULT NULL COMMENT '剩余抽奖次数',
`history_integration` int(11) DEFAULT NULL COMMENT '历史积分数量', `history_integration` int(11) DEFAULT NULL COMMENT '历史积分数量',
`invitation_code` varchar(15) DEFAULT NULL COMMENT '12位邀请码',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`), UNIQUE KEY `idx_username` (`username`),
UNIQUE KEY `idx_invitation_code` (`invitation_code`),
UNIQUE KEY `idx_phone` (`phone`) UNIQUE KEY `idx_phone` (`phone`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='会员表'; ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT='会员表';
@@ -1011,6 +1013,7 @@ CREATE TABLE IF NOT EXISTS `ums_member_level` (
`priviledge_member_price` int(1) DEFAULT NULL COMMENT '是否有会员价格特权', `priviledge_member_price` int(1) DEFAULT NULL COMMENT '是否有会员价格特权',
`priviledge_birthday` int(1) DEFAULT NULL COMMENT '是否有生日特权', `priviledge_birthday` int(1) DEFAULT NULL COMMENT '是否有生日特权',
`note` varchar(200) DEFAULT NULL COMMENT '注释', `note` varchar(200) DEFAULT NULL COMMENT '注释',
`commission_ratio` int(10) NULL DEFAULT 0 COMMENT '提成比例',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='会员等级表'; ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='会员等级表';
@@ -1203,4 +1206,46 @@ CREATE TABLE IF NOT EXISTS `oms_express_company` (
alter table ums_member change nickname nickname varchar(64) character set utf8mb4 collate utf8mb4_unicode_ci; alter table ums_member change nickname nickname varchar(64) character set utf8mb4 collate utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `ums_member_relation_tree`;
CREATE TABLE `ums_member_relation_tree` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`member_id` bigint(20) NULL DEFAULT 0 COMMENT '会员id',
`higher_level_id` bigint(20) NULL DEFAULT 0 COMMENT '上级会员id',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员关系树' ROW_FORMAT = DYNAMIC;
DROP TABLE IF EXISTS `ums_member_order_queue`;
CREATE TABLE `ums_member_order_queue` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`member_id` bigint(20) NULL DEFAULT 0 COMMENT '会员id',
`order_id` bigint(20) NULL DEFAULT 0 COMMENT '订单id',
`order_amount` decimal(10, 2) NULL DEFAULT 0 COMMENT '订单金额',
`queue_index` bigint(20) NULL DEFAULT 0 COMMENT '队列位置',
`quit_queue_mark` int(1) NULL DEFAULT 0 COMMENT '0 未退出1 准备退队列, 2退出队列',
`queue_type` int(1) NULL DEFAULT 0 COMMENT '0 普通队列1 加速队列',
`remain_number` int(1) NULL DEFAULT 5 COMMENT '加速单剩余数量',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员订单队列' ROW_FORMAT = DYNAMIC;
DROP TABLE IF EXISTS `ums_member_account_transaction`;
CREATE TABLE `ums_member_account_transaction` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`member_id` bigint(20) NULL DEFAULT 0 COMMENT '会员id',
`order_id` bigint(20) NULL DEFAULT 0 COMMENT '订单id',
`revenue_amount` decimal(10, 2) NULL DEFAULT 0 COMMENT '进帐金额',
`transaction_state` int(1) NULL DEFAULT 0 COMMENT '转账状态 0 未转账1 转账, 2 退款',
`remarks` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`commission_ratio` int(10) NULL DEFAULT 0 COMMENT '提成比例',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`transfer_payment_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '转账时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员账户流水' ROW_FORMAT = DYNAMIC;

View File

@@ -24,6 +24,13 @@ public class PmsProductParam extends PmsProduct{
@ApiModelProperty("优选专区和商品的关系") @ApiModelProperty("优选专区和商品的关系")
private List<CmsPrefrenceAreaProductRelation> prefrenceAreaProductRelationList; private List<CmsPrefrenceAreaProductRelation> prefrenceAreaProductRelationList;
public List<Long> productCategoryId;
public void setProductCategoryId(List<Long> productCategoryId) {
this.productCategoryId = productCategoryId;
}
public List<PmsProductLadder> getProductLadderList() { public List<PmsProductLadder> getProductLadderList() {
return productLadderList; return productLadderList;
} }

View File

@@ -76,7 +76,7 @@ public class PmsProductServiceImpl implements PmsProductService {
PmsProduct product = productParam; PmsProduct product = productParam;
product.setId(null); product.setId(null);
product.setVerifyStatus(1); product.setVerifyStatus(1);
PmsProductCategory productCategory = productCategoryMapper.selectByPrimaryKey(product.getProductCategoryId()); PmsProductCategory productCategory = productCategoryMapper.selectByPrimaryKey( productParam.productCategoryId.get(0));
product.setProductCategoryName(productCategory.getName()); product.setProductCategoryName(productCategory.getName());
productMapper.insertSelective(product); productMapper.insertSelective(product);
//根据促销类型设置价格:、阶梯价格、满减价格 //根据促销类型设置价格:、阶梯价格、满减价格
@@ -134,7 +134,7 @@ public class PmsProductServiceImpl implements PmsProductService {
PmsProduct product = productParam; PmsProduct product = productParam;
product.setId(id); product.setId(id);
product.setVerifyStatus(1); product.setVerifyStatus(1);
PmsProductCategory productCategory = productCategoryMapper.selectByPrimaryKey(product.getProductCategoryId()); PmsProductCategory productCategory = productCategoryMapper.selectByPrimaryKey(productParam.productCategoryId.get(0));
product.setProductCategoryName(productCategory.getName()); product.setProductCategoryName(productCategory.getName());
productMapper.updateByPrimaryKeySelective(product); productMapper.updateByPrimaryKeySelective(product);
//会员价格 //会员价格

View File

@@ -3,9 +3,9 @@ server:
spring: spring:
datasource: datasource:
url: jdbc:mysql://192.168.31.162:3306/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:mysql://8.137.112.156:3307/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: lion username: root
password: leeqiang password: 1m2y3s4q5l6
druid: druid:
initial-size: 5 #连接池初始化大小 initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数 min-idle: 10 #最小空闲连接数
@@ -17,7 +17,7 @@ spring:
login-password: druid login-password: druid
redis: redis:
host: 192.168.31.162 # Redis服务器地址 host: 192.168.10.107 # Redis服务器地址
database: 1 # Redis数据库索引默认为0 database: 1 # Redis数据库索引默认为0
port: 6379 # Redis服务器连接端口 port: 6379 # Redis服务器连接端口
password: leeqiang # Redis服务器连接密码默认为空 password: leeqiang # Redis服务器连接密码默认为空

View File

@@ -3,9 +3,9 @@ server:
spring: spring:
datasource: datasource:
url: jdbc:mysql://localhost:3306/ysr_mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:mysql://8.137.112.156:3307/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root username: root
password: yusenrong@admin password: 1m2y3s4q5l6
druid: druid:
initial-size: 5 #连接池初始化大小 initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数 min-idle: 10 #最小空闲连接数
@@ -17,10 +17,10 @@ spring:
login-password: druid login-password: druid
redis: redis:
host: localhost # Redis服务器地址 host: redis.excn.vip # Redis服务器地址
database: 0 # Redis数据库索引默认为0 database: 0 # Redis数据库索引默认为0
port: 6379 # Redis服务器连接端口 port: 6380 # Redis服务器连接端口
password: redis # Redis服务器连接密码默认为空 password: ueredis # Redis服务器连接密码默认为空
jedis: jedis:
pool: pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制) max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
@@ -30,7 +30,7 @@ spring:
timeout: 3000ms # 连接超时时间(毫秒) timeout: 3000ms # 连接超时时间(毫秒)
rabbitmq: rabbitmq:
host: localhost host: host.docker.internal
port: 5672 port: 5672
virtual-host: /mall virtual-host: /mall
username: mall username: mall
@@ -60,4 +60,4 @@ logging:
level: level:
root: info #日志配置DEBUG,INFO,WARN,ERROR root: info #日志配置DEBUG,INFO,WARN,ERROR
com.buy507.mall: debug com.buy507.mall: debug
path: /var/logs #配置日志生成路径 path: ./logs #配置日志生成路径

View File

@@ -65,7 +65,7 @@
AND <![CDATA[ DATE_FORMAT(o.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') ]]> AND <![CDATA[ DATE_FORMAT(o.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') ]]>
AND o.payment_time IS NOT NULL AND o.status IN (1, 2, 3) AND o.payment_time IS NOT NULL AND o.status IN (1, 2, 3)
GROUP BY orderDate GROUP BY orderDate
ORDER BY o.create_time ASC ORDER BY orderDate ASC
</select> </select>
<!-- 查询提现图表数据 --> <!-- 查询提现图表数据 -->
@@ -79,7 +79,7 @@
AND <![CDATA[ DATE_FORMAT(mwa.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') ]]> AND <![CDATA[ DATE_FORMAT(mwa.create_time, '%Y-%m-%d') <= DATE_FORMAT(#{endTime}, '%Y-%m-%d') ]]>
AND mwa.payment_status = 1 AND mwa.payment_status = 1
GROUP BY withdrawDate GROUP BY withdrawDate
ORDER BY mwa.create_time ASC ORDER BY withdrawDate ASC
</select> </select>
<!-- 查询本周提现数量 --> <!-- 查询本周提现数量 -->

View File

@@ -0,0 +1,30 @@
package com.buy507.mall.mapper;
import com.buy507.mall.model.UmsMemberAccountTransaction;
import com.buy507.mall.model.UmsMemberAccountTransactionExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface UmsMemberAccountTransactionMapper {
long countByExample(UmsMemberAccountTransactionExample example);
int deleteByExample(UmsMemberAccountTransactionExample example);
int deleteByPrimaryKey(Long id);
int insert(UmsMemberAccountTransaction record);
int insertSelective(UmsMemberAccountTransaction record);
List<UmsMemberAccountTransaction> selectByExample(UmsMemberAccountTransactionExample example);
UmsMemberAccountTransaction selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") UmsMemberAccountTransaction record, @Param("example") UmsMemberAccountTransactionExample example);
int updateByExample(@Param("record") UmsMemberAccountTransaction record, @Param("example") UmsMemberAccountTransactionExample example);
int updateByPrimaryKeySelective(UmsMemberAccountTransaction record);
int updateByPrimaryKey(UmsMemberAccountTransaction record);
}

View File

@@ -0,0 +1,30 @@
package com.buy507.mall.mapper;
import com.buy507.mall.model.UmsMemberOrderQueue;
import com.buy507.mall.model.UmsMemberOrderQueueExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface UmsMemberOrderQueueMapper {
long countByExample(UmsMemberOrderQueueExample example);
int deleteByExample(UmsMemberOrderQueueExample example);
int deleteByPrimaryKey(Long id);
int insert(UmsMemberOrderQueue record);
int insertSelective(UmsMemberOrderQueue record);
List<UmsMemberOrderQueue> selectByExample(UmsMemberOrderQueueExample example);
UmsMemberOrderQueue selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") UmsMemberOrderQueue record, @Param("example") UmsMemberOrderQueueExample example);
int updateByExample(@Param("record") UmsMemberOrderQueue record, @Param("example") UmsMemberOrderQueueExample example);
int updateByPrimaryKeySelective(UmsMemberOrderQueue record);
int updateByPrimaryKey(UmsMemberOrderQueue record);
}

View File

@@ -0,0 +1,30 @@
package com.buy507.mall.mapper;
import com.buy507.mall.model.UmsMemberRelationTree;
import com.buy507.mall.model.UmsMemberRelationTreeExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface UmsMemberRelationTreeMapper {
long countByExample(UmsMemberRelationTreeExample example);
int deleteByExample(UmsMemberRelationTreeExample example);
int deleteByPrimaryKey(Long id);
int insert(UmsMemberRelationTree record);
int insertSelective(UmsMemberRelationTree record);
List<UmsMemberRelationTree> selectByExample(UmsMemberRelationTreeExample example);
UmsMemberRelationTree selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") UmsMemberRelationTree record, @Param("example") UmsMemberRelationTreeExample example);
int updateByExample(@Param("record") UmsMemberRelationTree record, @Param("example") UmsMemberRelationTreeExample example);
int updateByPrimaryKeySelective(UmsMemberRelationTree record);
int updateByPrimaryKey(UmsMemberRelationTree record);
}

View File

@@ -6,15 +6,19 @@ package com.buy507.mall.model;
* *
*/ */
public enum MemberLevel { public enum MemberLevel {
/**普通用户**/
Member(0), //普通会员 Member(0),
Consumer(1), //消费商 /**vip会员**/
Partner(2), //经销商 Consumer(1),
Diamond(3), //合作商 /**店长**/
OneDiamond(4), //初级合作商 Partner(2),
TwoDiamond(5), //中级合作商 /**代理**/
ThreeDiamond(6), //高级合作商 Diamond(3),
FourDiamond(7); //特级合作商 /** 市代 **/
OneDiamond(4),
TwoDiamond(6), //中级合作商
ThreeDiamond(7), //高级合作商
FourDiamond(8); //特级合作商
private int value; private int value;
@@ -26,4 +30,12 @@ public enum MemberLevel {
return value; return value;
} }
public static MemberLevel getMemberByInt(int value){
for (MemberLevel memberLevel : MemberLevel.values()) {
if(value == memberLevel.value){
return memberLevel;
}
}
return null;
}
} }

View File

@@ -7,11 +7,11 @@ import java.util.Date;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
public class UmsMember implements Serializable { public class UmsMember implements Serializable {
private Long id; private Long id;
private Long memberLevelId; private Long memberLevelId;
private MemberLevel memberLevel; private MemberLevel memberLevel;
@ApiModelProperty(value = "用户名") @ApiModelProperty(value = "用户名")
@@ -64,30 +64,39 @@ public class UmsMember implements Serializable {
@ApiModelProperty(value = "历史积分数量") @ApiModelProperty(value = "历史积分数量")
private Integer historyIntegration; private Integer historyIntegration;
@ApiModelProperty(value = "分销实体店状态0->未开店1->已开店)") @ApiModelProperty(value = "分销实体店状态0->未开店1->已开店)")
private StoreStatus storeStatus; private StoreStatus storeStatus;
/** /**
* 余额 * 余额
*/ */
private BigDecimal balance; private BigDecimal balance;
/** /**
* 冻结余额 * 冻结余额
*/ */
private BigDecimal freeze; private BigDecimal freeze;
/** /**
* 详细地址 * 详细地址
*/ */
private String detailAddress; private String detailAddress;
/** /**
* 真实姓名 * 真实姓名
*/ */
private String realName; private String realName;
/**
* 真实姓名
*/
@ApiModelProperty(value = "排队状态:0->未排队1->排队中")
private Integer orderStatus;
@ApiModelProperty(value = "邀请码")
private String invitationCode;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Long getId() { public Long getId() {
@@ -273,7 +282,7 @@ public class UmsMember implements Serializable {
public void setFreeze(BigDecimal freeze) { public void setFreeze(BigDecimal freeze) {
this.freeze = freeze; this.freeze = freeze;
} }
public String getDetailAddress() { public String getDetailAddress() {
return detailAddress; return detailAddress;
} }
@@ -290,6 +299,22 @@ public class UmsMember implements Serializable {
this.realName = realName; this.realName = realName;
} }
public Integer getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(Integer orderStatus) {
this.orderStatus = orderStatus;
}
public String getInvitationCode() {
return invitationCode;
}
public void setInvitationCode(String invitationCode) {
this.invitationCode = invitationCode;
}
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@@ -321,4 +346,8 @@ public class UmsMember implements Serializable {
sb.append("]"); sb.append("]");
return sb.toString(); return sb.toString();
} }
} }

View File

@@ -0,0 +1,137 @@
package com.buy507.mall.model;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
public class UmsMemberAccountTransaction implements Serializable {
//0 未转账状态
public static Integer TRANSACTION_STATE_NO = 0;
//1 已转账状态
public static Integer TRANSACTION_STATE_YES = 1;
//1 已退款状态
public static Integer TRANSACTION_STATE_OUT = 2;
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "会员id")
private Long memberId;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "进帐金额")
private BigDecimal revenueAmount;
@ApiModelProperty(value = "转账状态 0 未转账1 转账, 2 退款")
private Integer transactionState;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "提成比例")
private Integer commissionRatio;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "转账时间")
private Date transferPaymentTime;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public BigDecimal getRevenueAmount() {
return revenueAmount;
}
public void setRevenueAmount(BigDecimal revenueAmount) {
this.revenueAmount = revenueAmount;
}
public Integer getTransactionState() {
return transactionState;
}
public void setTransactionState(Integer transactionState) {
this.transactionState = transactionState;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public Integer getCommissionRatio() {
return commissionRatio;
}
public void setCommissionRatio(Integer commissionRatio) {
this.commissionRatio = commissionRatio;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getTransferPaymentTime() {
return transferPaymentTime;
}
public void setTransferPaymentTime(Date transferPaymentTime) {
this.transferPaymentTime = transferPaymentTime;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", memberId=").append(memberId);
sb.append(", orderId=").append(orderId);
sb.append(", revenueAmount=").append(revenueAmount);
sb.append(", transactionState=").append(transactionState);
sb.append(", remarks=").append(remarks);
sb.append(", commissionRatio=").append(commissionRatio);
sb.append(", createTime=").append(createTime);
sb.append(", transferPaymentTime=").append(transferPaymentTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

View File

@@ -0,0 +1,752 @@
package com.buy507.mall.model;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class UmsMemberAccountTransactionExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public UmsMemberAccountTransactionExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andMemberIdIsNull() {
addCriterion("member_id is null");
return (Criteria) this;
}
public Criteria andMemberIdIsNotNull() {
addCriterion("member_id is not null");
return (Criteria) this;
}
public Criteria andMemberIdEqualTo(Long value) {
addCriterion("member_id =", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotEqualTo(Long value) {
addCriterion("member_id <>", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThan(Long value) {
addCriterion("member_id >", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
addCriterion("member_id >=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThan(Long value) {
addCriterion("member_id <", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThanOrEqualTo(Long value) {
addCriterion("member_id <=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdIn(List<Long> values) {
addCriterion("member_id in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotIn(List<Long> values) {
addCriterion("member_id not in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdBetween(Long value1, Long value2) {
addCriterion("member_id between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotBetween(Long value1, Long value2) {
addCriterion("member_id not between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andOrderIdIsNull() {
addCriterion("order_id is null");
return (Criteria) this;
}
public Criteria andOrderIdIsNotNull() {
addCriterion("order_id is not null");
return (Criteria) this;
}
public Criteria andOrderIdEqualTo(Long value) {
addCriterion("order_id =", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotEqualTo(Long value) {
addCriterion("order_id <>", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdGreaterThan(Long value) {
addCriterion("order_id >", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
addCriterion("order_id >=", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdLessThan(Long value) {
addCriterion("order_id <", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdLessThanOrEqualTo(Long value) {
addCriterion("order_id <=", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdIn(List<Long> values) {
addCriterion("order_id in", values, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotIn(List<Long> values) {
addCriterion("order_id not in", values, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdBetween(Long value1, Long value2) {
addCriterion("order_id between", value1, value2, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotBetween(Long value1, Long value2) {
addCriterion("order_id not between", value1, value2, "orderId");
return (Criteria) this;
}
public Criteria andRevenueAmountIsNull() {
addCriterion("revenue_amount is null");
return (Criteria) this;
}
public Criteria andRevenueAmountIsNotNull() {
addCriterion("revenue_amount is not null");
return (Criteria) this;
}
public Criteria andRevenueAmountEqualTo(BigDecimal value) {
addCriterion("revenue_amount =", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountNotEqualTo(BigDecimal value) {
addCriterion("revenue_amount <>", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountGreaterThan(BigDecimal value) {
addCriterion("revenue_amount >", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("revenue_amount >=", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountLessThan(BigDecimal value) {
addCriterion("revenue_amount <", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("revenue_amount <=", value, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountIn(List<BigDecimal> values) {
addCriterion("revenue_amount in", values, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountNotIn(List<BigDecimal> values) {
addCriterion("revenue_amount not in", values, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("revenue_amount between", value1, value2, "revenueAmount");
return (Criteria) this;
}
public Criteria andRevenueAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("revenue_amount not between", value1, value2, "revenueAmount");
return (Criteria) this;
}
public Criteria andTransactionStateIsNull() {
addCriterion("transaction_state is null");
return (Criteria) this;
}
public Criteria andTransactionStateIsNotNull() {
addCriterion("transaction_state is not null");
return (Criteria) this;
}
public Criteria andTransactionStateEqualTo(Integer value) {
addCriterion("transaction_state =", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateNotEqualTo(Integer value) {
addCriterion("transaction_state <>", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateGreaterThan(Integer value) {
addCriterion("transaction_state >", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateGreaterThanOrEqualTo(Integer value) {
addCriterion("transaction_state >=", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateLessThan(Integer value) {
addCriterion("transaction_state <", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateLessThanOrEqualTo(Integer value) {
addCriterion("transaction_state <=", value, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateIn(List<Integer> values) {
addCriterion("transaction_state in", values, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateNotIn(List<Integer> values) {
addCriterion("transaction_state not in", values, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateBetween(Integer value1, Integer value2) {
addCriterion("transaction_state between", value1, value2, "transactionState");
return (Criteria) this;
}
public Criteria andTransactionStateNotBetween(Integer value1, Integer value2) {
addCriterion("transaction_state not between", value1, value2, "transactionState");
return (Criteria) this;
}
public Criteria andRemarksIsNull() {
addCriterion("remarks is null");
return (Criteria) this;
}
public Criteria andRemarksIsNotNull() {
addCriterion("remarks is not null");
return (Criteria) this;
}
public Criteria andRemarksEqualTo(String value) {
addCriterion("remarks =", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksNotEqualTo(String value) {
addCriterion("remarks <>", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksGreaterThan(String value) {
addCriterion("remarks >", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksGreaterThanOrEqualTo(String value) {
addCriterion("remarks >=", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksLessThan(String value) {
addCriterion("remarks <", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksLessThanOrEqualTo(String value) {
addCriterion("remarks <=", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksLike(String value) {
addCriterion("remarks like", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksNotLike(String value) {
addCriterion("remarks not like", value, "remarks");
return (Criteria) this;
}
public Criteria andRemarksIn(List<String> values) {
addCriterion("remarks in", values, "remarks");
return (Criteria) this;
}
public Criteria andRemarksNotIn(List<String> values) {
addCriterion("remarks not in", values, "remarks");
return (Criteria) this;
}
public Criteria andRemarksBetween(String value1, String value2) {
addCriterion("remarks between", value1, value2, "remarks");
return (Criteria) this;
}
public Criteria andRemarksNotBetween(String value1, String value2) {
addCriterion("remarks not between", value1, value2, "remarks");
return (Criteria) this;
}
public Criteria andCommissionRatioIsNull() {
addCriterion("commission_ratio is null");
return (Criteria) this;
}
public Criteria andCommissionRatioIsNotNull() {
addCriterion("commission_ratio is not null");
return (Criteria) this;
}
public Criteria andCommissionRatioEqualTo(Integer value) {
addCriterion("commission_ratio =", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotEqualTo(Integer value) {
addCriterion("commission_ratio <>", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioGreaterThan(Integer value) {
addCriterion("commission_ratio >", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioGreaterThanOrEqualTo(Integer value) {
addCriterion("commission_ratio >=", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioLessThan(Integer value) {
addCriterion("commission_ratio <", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioLessThanOrEqualTo(Integer value) {
addCriterion("commission_ratio <=", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioIn(List<Integer> values) {
addCriterion("commission_ratio in", values, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotIn(List<Integer> values) {
addCriterion("commission_ratio not in", values, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioBetween(Integer value1, Integer value2) {
addCriterion("commission_ratio between", value1, value2, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotBetween(Integer value1, Integer value2) {
addCriterion("commission_ratio not between", value1, value2, "commissionRatio");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeIsNull() {
addCriterion("transfer_payment_time is null");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeIsNotNull() {
addCriterion("transfer_payment_time is not null");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeEqualTo(Date value) {
addCriterion("transfer_payment_time =", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeNotEqualTo(Date value) {
addCriterion("transfer_payment_time <>", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeGreaterThan(Date value) {
addCriterion("transfer_payment_time >", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeGreaterThanOrEqualTo(Date value) {
addCriterion("transfer_payment_time >=", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeLessThan(Date value) {
addCriterion("transfer_payment_time <", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeLessThanOrEqualTo(Date value) {
addCriterion("transfer_payment_time <=", value, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeIn(List<Date> values) {
addCriterion("transfer_payment_time in", values, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeNotIn(List<Date> values) {
addCriterion("transfer_payment_time not in", values, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeBetween(Date value1, Date value2) {
addCriterion("transfer_payment_time between", value1, value2, "transferPaymentTime");
return (Criteria) this;
}
public Criteria andTransferPaymentTimeNotBetween(Date value1, Date value2) {
addCriterion("transfer_payment_time not between", value1, value2, "transferPaymentTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@@ -1,5 +1,6 @@
package com.buy507.mall.model; package com.buy507.mall.model;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
@@ -252,6 +253,66 @@ public class UmsMemberExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andMemberLevelIsNull() {
addCriterion("member_level is null");
return (Criteria) this;
}
public Criteria andMemberLevelIsNotNull() {
addCriterion("member_level is not null");
return (Criteria) this;
}
public Criteria andMemberLevelEqualTo(Integer value) {
addCriterion("member_level =", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelNotEqualTo(Integer value) {
addCriterion("member_level <>", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelGreaterThan(Integer value) {
addCriterion("member_level >", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelGreaterThanOrEqualTo(Integer value) {
addCriterion("member_level >=", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelLessThan(Integer value) {
addCriterion("member_level <", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelLessThanOrEqualTo(Integer value) {
addCriterion("member_level <=", value, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelIn(List<Integer> values) {
addCriterion("member_level in", values, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelNotIn(List<Integer> values) {
addCriterion("member_level not in", values, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelBetween(Integer value1, Integer value2) {
addCriterion("member_level between", value1, value2, "memberLevel");
return (Criteria) this;
}
public Criteria andMemberLevelNotBetween(Integer value1, Integer value2) {
addCriterion("member_level not between", value1, value2, "memberLevel");
return (Criteria) this;
}
public Criteria andUsernameIsNull() { public Criteria andUsernameIsNull() {
addCriterion("username is null"); addCriterion("username is null");
return (Criteria) this; return (Criteria) this;
@@ -1351,6 +1412,456 @@ public class UmsMemberExample {
addCriterion("history_integration not between", value1, value2, "historyIntegration"); addCriterion("history_integration not between", value1, value2, "historyIntegration");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andStoreStatusIsNull() {
addCriterion("store_status is null");
return (Criteria) this;
}
public Criteria andStoreStatusIsNotNull() {
addCriterion("store_status is not null");
return (Criteria) this;
}
public Criteria andStoreStatusEqualTo(Integer value) {
addCriterion("store_status =", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusNotEqualTo(Integer value) {
addCriterion("store_status <>", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusGreaterThan(Integer value) {
addCriterion("store_status >", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("store_status >=", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusLessThan(Integer value) {
addCriterion("store_status <", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusLessThanOrEqualTo(Integer value) {
addCriterion("store_status <=", value, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusIn(List<Integer> values) {
addCriterion("store_status in", values, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusNotIn(List<Integer> values) {
addCriterion("store_status not in", values, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusBetween(Integer value1, Integer value2) {
addCriterion("store_status between", value1, value2, "storeStatus");
return (Criteria) this;
}
public Criteria andStoreStatusNotBetween(Integer value1, Integer value2) {
addCriterion("store_status not between", value1, value2, "storeStatus");
return (Criteria) this;
}
public Criteria andBalanceIsNull() {
addCriterion("balance is null");
return (Criteria) this;
}
public Criteria andBalanceIsNotNull() {
addCriterion("balance is not null");
return (Criteria) this;
}
public Criteria andBalanceEqualTo(BigDecimal value) {
addCriterion("balance =", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceNotEqualTo(BigDecimal value) {
addCriterion("balance <>", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceGreaterThan(BigDecimal value) {
addCriterion("balance >", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("balance >=", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceLessThan(BigDecimal value) {
addCriterion("balance <", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceLessThanOrEqualTo(BigDecimal value) {
addCriterion("balance <=", value, "balance");
return (Criteria) this;
}
public Criteria andBalanceIn(List<BigDecimal> values) {
addCriterion("balance in", values, "balance");
return (Criteria) this;
}
public Criteria andBalanceNotIn(List<BigDecimal> values) {
addCriterion("balance not in", values, "balance");
return (Criteria) this;
}
public Criteria andBalanceBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("balance between", value1, value2, "balance");
return (Criteria) this;
}
public Criteria andBalanceNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("balance not between", value1, value2, "balance");
return (Criteria) this;
}
public Criteria andFreezeIsNull() {
addCriterion("freeze is null");
return (Criteria) this;
}
public Criteria andFreezeIsNotNull() {
addCriterion("freeze is not null");
return (Criteria) this;
}
public Criteria andFreezeEqualTo(BigDecimal value) {
addCriterion("freeze =", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeNotEqualTo(BigDecimal value) {
addCriterion("freeze <>", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeGreaterThan(BigDecimal value) {
addCriterion("freeze >", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("freeze >=", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeLessThan(BigDecimal value) {
addCriterion("freeze <", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeLessThanOrEqualTo(BigDecimal value) {
addCriterion("freeze <=", value, "freeze");
return (Criteria) this;
}
public Criteria andFreezeIn(List<BigDecimal> values) {
addCriterion("freeze in", values, "freeze");
return (Criteria) this;
}
public Criteria andFreezeNotIn(List<BigDecimal> values) {
addCriterion("freeze not in", values, "freeze");
return (Criteria) this;
}
public Criteria andFreezeBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("freeze between", value1, value2, "freeze");
return (Criteria) this;
}
public Criteria andFreezeNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("freeze not between", value1, value2, "freeze");
return (Criteria) this;
}
public Criteria andDetailAddressIsNull() {
addCriterion("detail_address is null");
return (Criteria) this;
}
public Criteria andDetailAddressIsNotNull() {
addCriterion("detail_address is not null");
return (Criteria) this;
}
public Criteria andDetailAddressEqualTo(String value) {
addCriterion("detail_address =", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressNotEqualTo(String value) {
addCriterion("detail_address <>", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressGreaterThan(String value) {
addCriterion("detail_address >", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressGreaterThanOrEqualTo(String value) {
addCriterion("detail_address >=", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressLessThan(String value) {
addCriterion("detail_address <", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressLessThanOrEqualTo(String value) {
addCriterion("detail_address <=", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressLike(String value) {
addCriterion("detail_address like", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressNotLike(String value) {
addCriterion("detail_address not like", value, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressIn(List<String> values) {
addCriterion("detail_address in", values, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressNotIn(List<String> values) {
addCriterion("detail_address not in", values, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressBetween(String value1, String value2) {
addCriterion("detail_address between", value1, value2, "detailAddress");
return (Criteria) this;
}
public Criteria andDetailAddressNotBetween(String value1, String value2) {
addCriterion("detail_address not between", value1, value2, "detailAddress");
return (Criteria) this;
}
public Criteria andRealNameIsNull() {
addCriterion("real_name is null");
return (Criteria) this;
}
public Criteria andRealNameIsNotNull() {
addCriterion("real_name is not null");
return (Criteria) this;
}
public Criteria andRealNameEqualTo(String value) {
addCriterion("real_name =", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameNotEqualTo(String value) {
addCriterion("real_name <>", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameGreaterThan(String value) {
addCriterion("real_name >", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameGreaterThanOrEqualTo(String value) {
addCriterion("real_name >=", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameLessThan(String value) {
addCriterion("real_name <", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameLessThanOrEqualTo(String value) {
addCriterion("real_name <=", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameLike(String value) {
addCriterion("real_name like", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameNotLike(String value) {
addCriterion("real_name not like", value, "realName");
return (Criteria) this;
}
public Criteria andRealNameIn(List<String> values) {
addCriterion("real_name in", values, "realName");
return (Criteria) this;
}
public Criteria andRealNameNotIn(List<String> values) {
addCriterion("real_name not in", values, "realName");
return (Criteria) this;
}
public Criteria andRealNameBetween(String value1, String value2) {
addCriterion("real_name between", value1, value2, "realName");
return (Criteria) this;
}
public Criteria andRealNameNotBetween(String value1, String value2) {
addCriterion("real_name not between", value1, value2, "realName");
return (Criteria) this;
}
public Criteria andOrderStatusIsNull() {
addCriterion("order_status is null");
return (Criteria) this;
}
public Criteria andOrderStatusIsNotNull() {
addCriterion("order_status is not null");
return (Criteria) this;
}
public Criteria andOrderStatusEqualTo(Integer value) {
addCriterion("order_status =", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusNotEqualTo(Integer value) {
addCriterion("order_status <>", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusGreaterThan(Integer value) {
addCriterion("order_status >", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusGreaterThanOrEqualTo(Integer value) {
addCriterion("order_status >=", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusLessThan(Integer value) {
addCriterion("order_status <", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusLessThanOrEqualTo(Integer value) {
addCriterion("order_status <=", value, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusIn(List<Integer> values) {
addCriterion("order_status in", values, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusNotIn(List<Integer> values) {
addCriterion("order_status not in", values, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusBetween(Integer value1, Integer value2) {
addCriterion("order_status between", value1, value2, "orderStatus");
return (Criteria) this;
}
public Criteria andOrderStatusNotBetween(Integer value1, Integer value2) {
addCriterion("order_status not between", value1, value2, "orderStatus");
return (Criteria) this;
}
public Criteria andInvitationCodeIsNull() {
addCriterion("invitation_code is null");
return (Criteria) this;
}
public Criteria andInvitationCodeIsNotNull() {
addCriterion("invitation_code is not null");
return (Criteria) this;
}
public Criteria andInvitationCodeEqualTo(String value) {
addCriterion("invitation_code =", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeNotEqualTo(String value) {
addCriterion("invitation_code <>", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeGreaterThan(String value) {
addCriterion("invitation_code >", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeGreaterThanOrEqualTo(String value) {
addCriterion("invitation_code >=", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeLessThan(String value) {
addCriterion("invitation_code <", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeLessThanOrEqualTo(String value) {
addCriterion("invitation_code <=", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeLike(String value) {
addCriterion("invitation_code like", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeNotLike(String value) {
addCriterion("invitation_code not like", value, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeIn(List<String> values) {
addCriterion("invitation_code in", values, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeNotIn(List<String> values) {
addCriterion("invitation_code not in", values, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeBetween(String value1, String value2) {
addCriterion("invitation_code between", value1, value2, "invitationCode");
return (Criteria) this;
}
public Criteria andInvitationCodeNotBetween(String value1, String value2) {
addCriterion("invitation_code not between", value1, value2, "invitationCode");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

View File

@@ -5,10 +5,13 @@ import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
public class UmsMemberLevel implements Serializable { public class UmsMemberLevel implements Serializable {
@ApiModelProperty(value = "主键id")
private Long id; private Long id;
@ApiModelProperty(value = "会员名称")
private String name; private String name;
@ApiModelProperty(value = "会员等级升级点")
private Integer growthPoint; private Integer growthPoint;
@ApiModelProperty(value = "是否为默认等级0->不是1->是") @ApiModelProperty(value = "是否为默认等级0->不是1->是")
@@ -38,8 +41,12 @@ public class UmsMemberLevel implements Serializable {
@ApiModelProperty(value = "是否有生日特权") @ApiModelProperty(value = "是否有生日特权")
private Integer priviledgeBirthday; private Integer priviledgeBirthday;
@ApiModelProperty(value = "注释")
private String note; private String note;
@ApiModelProperty(value = "提成比例")
private Integer commissionRatio;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public Long getId() { public Long getId() {
@@ -146,6 +153,14 @@ public class UmsMemberLevel implements Serializable {
this.note = note; this.note = note;
} }
public Integer getCommissionRatio() {
return commissionRatio;
}
public void setCommissionRatio(Integer commissionRatio) {
this.commissionRatio = commissionRatio;
}
@Override @Override
public String toString() { public String toString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@@ -165,6 +180,7 @@ public class UmsMemberLevel implements Serializable {
sb.append(", priviledgeMemberPrice=").append(priviledgeMemberPrice); sb.append(", priviledgeMemberPrice=").append(priviledgeMemberPrice);
sb.append(", priviledgeBirthday=").append(priviledgeBirthday); sb.append(", priviledgeBirthday=").append(priviledgeBirthday);
sb.append(", note=").append(note); sb.append(", note=").append(note);
sb.append(", commissionRatio=").append(commissionRatio);
sb.append(", serialVersionUID=").append(serialVersionUID); sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]"); sb.append("]");
return sb.toString(); return sb.toString();

View File

@@ -904,6 +904,66 @@ public class UmsMemberLevelExample {
addCriterion("note not between", value1, value2, "note"); addCriterion("note not between", value1, value2, "note");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCommissionRatioIsNull() {
addCriterion("commission_ratio is null");
return (Criteria) this;
}
public Criteria andCommissionRatioIsNotNull() {
addCriterion("commission_ratio is not null");
return (Criteria) this;
}
public Criteria andCommissionRatioEqualTo(Integer value) {
addCriterion("commission_ratio =", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotEqualTo(Integer value) {
addCriterion("commission_ratio <>", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioGreaterThan(Integer value) {
addCriterion("commission_ratio >", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioGreaterThanOrEqualTo(Integer value) {
addCriterion("commission_ratio >=", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioLessThan(Integer value) {
addCriterion("commission_ratio <", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioLessThanOrEqualTo(Integer value) {
addCriterion("commission_ratio <=", value, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioIn(List<Integer> values) {
addCriterion("commission_ratio in", values, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotIn(List<Integer> values) {
addCriterion("commission_ratio not in", values, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioBetween(Integer value1, Integer value2) {
addCriterion("commission_ratio between", value1, value2, "commissionRatio");
return (Criteria) this;
}
public Criteria andCommissionRatioNotBetween(Integer value1, Integer value2) {
addCriterion("commission_ratio not between", value1, value2, "commissionRatio");
return (Criteria) this;
}
} }
public static class Criteria extends GeneratedCriteria { public static class Criteria extends GeneratedCriteria {

View File

@@ -0,0 +1,142 @@
package com.buy507.mall.model;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
public class UmsMemberOrderQueue implements Serializable {
//0 普通队列
public static Integer QUEUE_TYPE_ORDINARY = 0;
//1 加速队列
public static Integer QUEUE_TYPE_FAST = 1;
//0 未退出
public static Integer QUEUE_STATUS_WAIT = 0;
//1 准备退队列
public static Integer QUEUE_PREPARE_QUIT = 1;
//1 退出队列
public static Integer QUEUE_STATUS_QUIT = 2;
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "会员id")
private Long memberId;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "订单金额")
private BigDecimal orderAmount;
@ApiModelProperty(value = "队列位置")
private Long queueIndex;
@ApiModelProperty(value = "0 未退出1 准备退队列, 2退出队列")
private Integer quitQueueMark;
@ApiModelProperty(value = "0 普通队列1 加速队列")
private Integer queueType;
@ApiModelProperty(value = "加速单剩余数量")
private Integer remainNumber;
@ApiModelProperty(value = "创建时间")
private Date createTime;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public BigDecimal getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount = orderAmount;
}
public Long getQueueIndex() {
return queueIndex;
}
public void setQueueIndex(Long queueIndex) {
this.queueIndex = queueIndex;
}
public Integer getQuitQueueMark() {
return quitQueueMark;
}
public void setQuitQueueMark(Integer quitQueueMark) {
this.quitQueueMark = quitQueueMark;
}
public Integer getQueueType() {
return queueType;
}
public void setQueueType(Integer queueType) {
this.queueType = queueType;
}
public Integer getRemainNumber() {
return remainNumber;
}
public void setRemainNumber(Integer remainNumber) {
this.remainNumber = remainNumber;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", memberId=").append(memberId);
sb.append(", orderId=").append(orderId);
sb.append(", orderAmount=").append(orderAmount);
sb.append(", queueIndex=").append(queueIndex);
sb.append(", quitQueueMark=").append(quitQueueMark);
sb.append(", queueType=").append(queueType);
sb.append(", remainNumber=").append(remainNumber);
sb.append(", createTime=").append(createTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

View File

@@ -0,0 +1,742 @@
package com.buy507.mall.model;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class UmsMemberOrderQueueExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public UmsMemberOrderQueueExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andMemberIdIsNull() {
addCriterion("member_id is null");
return (Criteria) this;
}
public Criteria andMemberIdIsNotNull() {
addCriterion("member_id is not null");
return (Criteria) this;
}
public Criteria andMemberIdEqualTo(Long value) {
addCriterion("member_id =", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotEqualTo(Long value) {
addCriterion("member_id <>", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThan(Long value) {
addCriterion("member_id >", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
addCriterion("member_id >=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThan(Long value) {
addCriterion("member_id <", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThanOrEqualTo(Long value) {
addCriterion("member_id <=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdIn(List<Long> values) {
addCriterion("member_id in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotIn(List<Long> values) {
addCriterion("member_id not in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdBetween(Long value1, Long value2) {
addCriterion("member_id between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotBetween(Long value1, Long value2) {
addCriterion("member_id not between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andOrderIdIsNull() {
addCriterion("order_id is null");
return (Criteria) this;
}
public Criteria andOrderIdIsNotNull() {
addCriterion("order_id is not null");
return (Criteria) this;
}
public Criteria andOrderIdEqualTo(Long value) {
addCriterion("order_id =", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotEqualTo(Long value) {
addCriterion("order_id <>", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdGreaterThan(Long value) {
addCriterion("order_id >", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
addCriterion("order_id >=", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdLessThan(Long value) {
addCriterion("order_id <", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdLessThanOrEqualTo(Long value) {
addCriterion("order_id <=", value, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdIn(List<Long> values) {
addCriterion("order_id in", values, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotIn(List<Long> values) {
addCriterion("order_id not in", values, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdBetween(Long value1, Long value2) {
addCriterion("order_id between", value1, value2, "orderId");
return (Criteria) this;
}
public Criteria andOrderIdNotBetween(Long value1, Long value2) {
addCriterion("order_id not between", value1, value2, "orderId");
return (Criteria) this;
}
public Criteria andOrderAmountIsNull() {
addCriterion("order_amount is null");
return (Criteria) this;
}
public Criteria andOrderAmountIsNotNull() {
addCriterion("order_amount is not null");
return (Criteria) this;
}
public Criteria andOrderAmountEqualTo(BigDecimal value) {
addCriterion("order_amount =", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountNotEqualTo(BigDecimal value) {
addCriterion("order_amount <>", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountGreaterThan(BigDecimal value) {
addCriterion("order_amount >", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("order_amount >=", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountLessThan(BigDecimal value) {
addCriterion("order_amount <", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountLessThanOrEqualTo(BigDecimal value) {
addCriterion("order_amount <=", value, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountIn(List<BigDecimal> values) {
addCriterion("order_amount in", values, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountNotIn(List<BigDecimal> values) {
addCriterion("order_amount not in", values, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("order_amount between", value1, value2, "orderAmount");
return (Criteria) this;
}
public Criteria andOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("order_amount not between", value1, value2, "orderAmount");
return (Criteria) this;
}
public Criteria andQueueIndexIsNull() {
addCriterion("queue_index is null");
return (Criteria) this;
}
public Criteria andQueueIndexIsNotNull() {
addCriterion("queue_index is not null");
return (Criteria) this;
}
public Criteria andQueueIndexEqualTo(Long value) {
addCriterion("queue_index =", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexNotEqualTo(Long value) {
addCriterion("queue_index <>", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexGreaterThan(Long value) {
addCriterion("queue_index >", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexGreaterThanOrEqualTo(Long value) {
addCriterion("queue_index >=", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexLessThan(Long value) {
addCriterion("queue_index <", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexLessThanOrEqualTo(Long value) {
addCriterion("queue_index <=", value, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexIn(List<Long> values) {
addCriterion("queue_index in", values, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexNotIn(List<Long> values) {
addCriterion("queue_index not in", values, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexBetween(Long value1, Long value2) {
addCriterion("queue_index between", value1, value2, "queueIndex");
return (Criteria) this;
}
public Criteria andQueueIndexNotBetween(Long value1, Long value2) {
addCriterion("queue_index not between", value1, value2, "queueIndex");
return (Criteria) this;
}
public Criteria andQuitQueueMarkIsNull() {
addCriterion("quit_queue_mark is null");
return (Criteria) this;
}
public Criteria andQuitQueueMarkIsNotNull() {
addCriterion("quit_queue_mark is not null");
return (Criteria) this;
}
public Criteria andQuitQueueMarkEqualTo(Integer value) {
addCriterion("quit_queue_mark =", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkNotEqualTo(Integer value) {
addCriterion("quit_queue_mark <>", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkGreaterThan(Integer value) {
addCriterion("quit_queue_mark >", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkGreaterThanOrEqualTo(Integer value) {
addCriterion("quit_queue_mark >=", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkLessThan(Integer value) {
addCriterion("quit_queue_mark <", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkLessThanOrEqualTo(Integer value) {
addCriterion("quit_queue_mark <=", value, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkIn(List<Integer> values) {
addCriterion("quit_queue_mark in", values, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkNotIn(List<Integer> values) {
addCriterion("quit_queue_mark not in", values, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkBetween(Integer value1, Integer value2) {
addCriterion("quit_queue_mark between", value1, value2, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQuitQueueMarkNotBetween(Integer value1, Integer value2) {
addCriterion("quit_queue_mark not between", value1, value2, "quitQueueMark");
return (Criteria) this;
}
public Criteria andQueueTypeIsNull() {
addCriterion("queue_type is null");
return (Criteria) this;
}
public Criteria andQueueTypeIsNotNull() {
addCriterion("queue_type is not null");
return (Criteria) this;
}
public Criteria andQueueTypeEqualTo(Integer value) {
addCriterion("queue_type =", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeNotEqualTo(Integer value) {
addCriterion("queue_type <>", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeGreaterThan(Integer value) {
addCriterion("queue_type >", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeGreaterThanOrEqualTo(Integer value) {
addCriterion("queue_type >=", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeLessThan(Integer value) {
addCriterion("queue_type <", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeLessThanOrEqualTo(Integer value) {
addCriterion("queue_type <=", value, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeIn(List<Integer> values) {
addCriterion("queue_type in", values, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeNotIn(List<Integer> values) {
addCriterion("queue_type not in", values, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeBetween(Integer value1, Integer value2) {
addCriterion("queue_type between", value1, value2, "queueType");
return (Criteria) this;
}
public Criteria andQueueTypeNotBetween(Integer value1, Integer value2) {
addCriterion("queue_type not between", value1, value2, "queueType");
return (Criteria) this;
}
public Criteria andRemainNumberIsNull() {
addCriterion("remain_number is null");
return (Criteria) this;
}
public Criteria andRemainNumberIsNotNull() {
addCriterion("remain_number is not null");
return (Criteria) this;
}
public Criteria andRemainNumberEqualTo(Integer value) {
addCriterion("remain_number =", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberNotEqualTo(Integer value) {
addCriterion("remain_number <>", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberGreaterThan(Integer value) {
addCriterion("remain_number >", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberGreaterThanOrEqualTo(Integer value) {
addCriterion("remain_number >=", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberLessThan(Integer value) {
addCriterion("remain_number <", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberLessThanOrEqualTo(Integer value) {
addCriterion("remain_number <=", value, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberIn(List<Integer> values) {
addCriterion("remain_number in", values, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberNotIn(List<Integer> values) {
addCriterion("remain_number not in", values, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberBetween(Integer value1, Integer value2) {
addCriterion("remain_number between", value1, value2, "remainNumber");
return (Criteria) this;
}
public Criteria andRemainNumberNotBetween(Integer value1, Integer value2) {
addCriterion("remain_number not between", value1, value2, "remainNumber");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@@ -0,0 +1,68 @@
package com.buy507.mall.model;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
public class UmsMemberRelationTree implements Serializable {
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "会员id")
private Long memberId;
@ApiModelProperty(value = "上级会员id")
private Long higherLevelId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Long getHigherLevelId() {
return higherLevelId;
}
public void setHigherLevelId(Long higherLevelId) {
this.higherLevelId = higherLevelId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", memberId=").append(memberId);
sb.append(", higherLevelId=").append(higherLevelId);
sb.append(", createTime=").append(createTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

View File

@@ -0,0 +1,441 @@
package com.buy507.mall.model;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class UmsMemberRelationTreeExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public UmsMemberRelationTreeExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andMemberIdIsNull() {
addCriterion("member_id is null");
return (Criteria) this;
}
public Criteria andMemberIdIsNotNull() {
addCriterion("member_id is not null");
return (Criteria) this;
}
public Criteria andMemberIdEqualTo(Long value) {
addCriterion("member_id =", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotEqualTo(Long value) {
addCriterion("member_id <>", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThan(Long value) {
addCriterion("member_id >", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
addCriterion("member_id >=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThan(Long value) {
addCriterion("member_id <", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThanOrEqualTo(Long value) {
addCriterion("member_id <=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdIn(List<Long> values) {
addCriterion("member_id in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotIn(List<Long> values) {
addCriterion("member_id not in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdBetween(Long value1, Long value2) {
addCriterion("member_id between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotBetween(Long value1, Long value2) {
addCriterion("member_id not between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andHigherLevelIdIsNull() {
addCriterion("higher_level_id is null");
return (Criteria) this;
}
public Criteria andHigherLevelIdIsNotNull() {
addCriterion("higher_level_id is not null");
return (Criteria) this;
}
public Criteria andHigherLevelIdEqualTo(Long value) {
addCriterion("higher_level_id =", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdNotEqualTo(Long value) {
addCriterion("higher_level_id <>", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdGreaterThan(Long value) {
addCriterion("higher_level_id >", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdGreaterThanOrEqualTo(Long value) {
addCriterion("higher_level_id >=", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdLessThan(Long value) {
addCriterion("higher_level_id <", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdLessThanOrEqualTo(Long value) {
addCriterion("higher_level_id <=", value, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdIn(List<Long> values) {
addCriterion("higher_level_id in", values, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdNotIn(List<Long> values) {
addCriterion("higher_level_id not in", values, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdBetween(Long value1, Long value2) {
addCriterion("higher_level_id between", value1, value2, "higherLevelId");
return (Criteria) this;
}
public Criteria andHigherLevelIdNotBetween(Long value1, Long value2) {
addCriterion("higher_level_id not between", value1, value2, "higherLevelId");
return (Criteria) this;
}
public Criteria andCreateTimeIsNull() {
addCriterion("create_time is null");
return (Criteria) this;
}
public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time is not null");
return (Criteria) this;
}
public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time =", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time <>", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time >", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time >=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time <", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time <=", value, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time not in", values, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this;
}
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

View File

@@ -0,0 +1,273 @@
<?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.buy507.mall.mapper.UmsMemberAccountTransactionMapper">
<resultMap id="BaseResultMap" type="com.buy507.mall.model.UmsMemberAccountTransaction">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="order_id" jdbcType="BIGINT" property="orderId" />
<result column="revenue_amount" jdbcType="DECIMAL" property="revenueAmount" />
<result column="transaction_state" jdbcType="INTEGER" property="transactionState" />
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
<result column="commission_ratio" jdbcType="INTEGER" property="commissionRatio" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="transfer_payment_time" jdbcType="TIMESTAMP" property="transferPaymentTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, member_id, order_id, revenue_amount, transaction_state, remarks, commission_ratio,
create_time, transfer_payment_time
</sql>
<select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberAccountTransactionExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from ums_member_account_transaction
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ums_member_account_transaction
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from ums_member_account_transaction
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.buy507.mall.model.UmsMemberAccountTransactionExample">
delete from ums_member_account_transaction
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_account_transaction (member_id, order_id, revenue_amount,
transaction_state, remarks, commission_ratio, transfer_payment_time)
values (#{memberId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{revenueAmount,jdbcType=DECIMAL},
#{transactionState,jdbcType=INTEGER}, #{remarks,jdbcType=VARCHAR}, #{commissionRatio,jdbcType=INTEGER},
#{transferPaymentTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_account_transaction
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">
member_id,
</if>
<if test="orderId != null">
order_id,
</if>
<if test="revenueAmount != null">
revenue_amount,
</if>
<if test="transactionState != null">
transaction_state,
</if>
<if test="remarks != null">
remarks,
</if>
<if test="commissionRatio != null">
commission_ratio,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="transferPaymentTime != null">
transfer_payment_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
<if test="orderId != null">
#{orderId,jdbcType=BIGINT},
</if>
<if test="revenueAmount != null">
#{revenueAmount,jdbcType=DECIMAL},
</if>
<if test="transactionState != null">
#{transactionState,jdbcType=INTEGER},
</if>
<if test="remarks != null">
#{remarks,jdbcType=VARCHAR},
</if>
<if test="commissionRatio != null">
#{commissionRatio,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="transferPaymentTime != null">
#{transferPaymentTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberAccountTransactionExample" resultType="java.lang.Long">
select count(*) from ums_member_account_transaction
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update ums_member_account_transaction
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.memberId != null">
member_id = #{record.memberId,jdbcType=BIGINT},
</if>
<if test="record.orderId != null">
order_id = #{record.orderId,jdbcType=BIGINT},
</if>
<if test="record.revenueAmount != null">
revenue_amount = #{record.revenueAmount,jdbcType=DECIMAL},
</if>
<if test="record.transactionState != null">
transaction_state = #{record.transactionState,jdbcType=INTEGER},
</if>
<if test="record.remarks != null">
remarks = #{record.remarks,jdbcType=VARCHAR},
</if>
<if test="record.commissionRatio != null">
commission_ratio = #{record.commissionRatio,jdbcType=INTEGER},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.transferPaymentTime != null">
transfer_payment_time = #{record.transferPaymentTime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update ums_member_account_transaction
set id = #{record.id,jdbcType=BIGINT},
member_id = #{record.memberId,jdbcType=BIGINT},
order_id = #{record.orderId,jdbcType=BIGINT},
revenue_amount = #{record.revenueAmount,jdbcType=DECIMAL},
transaction_state = #{record.transactionState,jdbcType=INTEGER},
remarks = #{record.remarks,jdbcType=VARCHAR},
commission_ratio = #{record.commissionRatio,jdbcType=INTEGER},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
transfer_payment_time = #{record.transferPaymentTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
update ums_member_account_transaction
<set>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
<if test="orderId != null">
order_id = #{orderId,jdbcType=BIGINT},
</if>
<if test="revenueAmount != null">
revenue_amount = #{revenueAmount,jdbcType=DECIMAL},
</if>
<if test="transactionState != null">
transaction_state = #{transactionState,jdbcType=INTEGER},
</if>
<if test="remarks != null">
remarks = #{remarks,jdbcType=VARCHAR},
</if>
<if test="commissionRatio != null">
commission_ratio = #{commissionRatio,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="transferPaymentTime != null">
transfer_payment_time = #{transferPaymentTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.buy507.mall.model.UmsMemberAccountTransaction">
update ums_member_account_transaction
set member_id = #{memberId,jdbcType=BIGINT},
order_id = #{orderId,jdbcType=BIGINT},
revenue_amount = #{revenueAmount,jdbcType=DECIMAL},
transaction_state = #{transactionState,jdbcType=INTEGER},
remarks = #{remarks,jdbcType=VARCHAR},
commission_ratio = #{commissionRatio,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
transfer_payment_time = #{transferPaymentTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

View File

@@ -15,6 +15,7 @@
<result column="priviledge_member_price" jdbcType="INTEGER" property="priviledgeMemberPrice" /> <result column="priviledge_member_price" jdbcType="INTEGER" property="priviledgeMemberPrice" />
<result column="priviledge_birthday" jdbcType="INTEGER" property="priviledgeBirthday" /> <result column="priviledge_birthday" jdbcType="INTEGER" property="priviledgeBirthday" />
<result column="note" jdbcType="VARCHAR" property="note" /> <result column="note" jdbcType="VARCHAR" property="note" />
<result column="commission_ratio" jdbcType="INTEGER" property="commissionRatio" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@@ -77,7 +78,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, name, growth_point, default_status, free_freight_point, comment_growth_point, id, name, growth_point, default_status, free_freight_point, comment_growth_point,
priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion, priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion,
priviledge_member_price, priviledge_birthday, note priviledge_member_price, priviledge_birthday, note, commission_ratio
</sql> </sql>
<select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberLevelExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberLevelExample" resultMap="BaseResultMap">
select select
@@ -117,12 +118,12 @@
free_freight_point, comment_growth_point, priviledge_free_freight, free_freight_point, comment_growth_point, priviledge_free_freight,
priviledge_sign_in, priviledge_comment, priviledge_promotion, priviledge_sign_in, priviledge_comment, priviledge_promotion,
priviledge_member_price, priviledge_birthday, priviledge_member_price, priviledge_birthday,
note) note, commission_ratio)
values (#{name,jdbcType=VARCHAR}, #{growthPoint,jdbcType=INTEGER}, #{defaultStatus,jdbcType=INTEGER}, values (#{name,jdbcType=VARCHAR}, #{growthPoint,jdbcType=INTEGER}, #{defaultStatus,jdbcType=INTEGER},
#{freeFreightPoint,jdbcType=DECIMAL}, #{commentGrowthPoint,jdbcType=INTEGER}, #{priviledgeFreeFreight,jdbcType=INTEGER}, #{freeFreightPoint,jdbcType=DECIMAL}, #{commentGrowthPoint,jdbcType=INTEGER}, #{priviledgeFreeFreight,jdbcType=INTEGER},
#{priviledgeSignIn,jdbcType=INTEGER}, #{priviledgeComment,jdbcType=INTEGER}, #{priviledgePromotion,jdbcType=INTEGER}, #{priviledgeSignIn,jdbcType=INTEGER}, #{priviledgeComment,jdbcType=INTEGER}, #{priviledgePromotion,jdbcType=INTEGER},
#{priviledgeMemberPrice,jdbcType=INTEGER}, #{priviledgeBirthday,jdbcType=INTEGER}, #{priviledgeMemberPrice,jdbcType=INTEGER}, #{priviledgeBirthday,jdbcType=INTEGER},
#{note,jdbcType=VARCHAR}) #{note,jdbcType=VARCHAR}, #{commissionRatio,jdbcType=INTEGER})
</insert> </insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberLevel"> <insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberLevel">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -166,6 +167,9 @@
<if test="note != null"> <if test="note != null">
note, note,
</if> </if>
<if test="commissionRatio != null">
commission_ratio,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null"> <if test="name != null">
@@ -204,6 +208,9 @@
<if test="note != null"> <if test="note != null">
#{note,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR},
</if> </if>
<if test="commissionRatio != null">
#{commissionRatio,jdbcType=INTEGER},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberLevelExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberLevelExample" resultType="java.lang.Long">
@@ -254,6 +261,9 @@
<if test="record.note != null"> <if test="record.note != null">
note = #{record.note,jdbcType=VARCHAR}, note = #{record.note,jdbcType=VARCHAR},
</if> </if>
<if test="record.commissionRatio != null">
commission_ratio = #{record.commissionRatio,jdbcType=INTEGER},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
@@ -273,7 +283,8 @@
priviledge_promotion = #{record.priviledgePromotion,jdbcType=INTEGER}, priviledge_promotion = #{record.priviledgePromotion,jdbcType=INTEGER},
priviledge_member_price = #{record.priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_member_price = #{record.priviledgeMemberPrice,jdbcType=INTEGER},
priviledge_birthday = #{record.priviledgeBirthday,jdbcType=INTEGER}, priviledge_birthday = #{record.priviledgeBirthday,jdbcType=INTEGER},
note = #{record.note,jdbcType=VARCHAR} note = #{record.note,jdbcType=VARCHAR},
commission_ratio = #{record.commissionRatio,jdbcType=INTEGER}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
@@ -317,6 +328,9 @@
<if test="note != null"> <if test="note != null">
note = #{note,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR},
</if> </if>
<if test="commissionRatio != null">
commission_ratio = #{commissionRatio,jdbcType=INTEGER},
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
@@ -333,7 +347,8 @@
priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER}, priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER},
priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER},
priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER}, priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER},
note = #{note,jdbcType=VARCHAR} note = #{note,jdbcType=VARCHAR},
commission_ratio = #{commissionRatio,jdbcType=INTEGER}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
</mapper> </mapper>

View File

@@ -27,6 +27,8 @@
<result column="freeze" jdbcType="DECIMAL" property="freeze" /> <result column="freeze" jdbcType="DECIMAL" property="freeze" />
<result column="detail_address" jdbcType="VARCHAR" property="detailAddress" /> <result column="detail_address" jdbcType="VARCHAR" property="detailAddress" />
<result column="real_name" jdbcType="VARCHAR" property="realName" /> <result column="real_name" jdbcType="VARCHAR" property="realName" />
<result column="order_status" jdbcType="INTEGER" property="orderStatus" />
<result column="invitation_code" jdbcType="VARCHAR" property="invitationCode" />
</resultMap> </resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
@@ -89,7 +91,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, member_level_id, member_level, username, password, nickname, phone, status, create_time, icon, id, member_level_id, member_level, username, password, nickname, phone, status, create_time, icon,
gender, birthday, city, job, personalized_signature, source_type, integration, growth, gender, birthday, city, job, personalized_signature, source_type, integration, growth,
luckey_count, history_integration, store_status, balance, freeze, detail_address, real_name luckey_count, history_integration, store_status, balance, freeze, detail_address, real_name,order_status,invitation_code
</sql> </sql>
<select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberExample" resultMap="BaseResultMap">
select select
@@ -130,7 +132,8 @@
create_time, icon, gender, create_time, icon, gender,
birthday, city, job, personalized_signature, birthday, city, job, personalized_signature,
source_type, integration, growth, source_type, integration, growth,
luckey_count, history_integration, store_status, balance, freeze, detail_address, real_name) luckey_count, history_integration, store_status, balance, freeze,
detail_address, real_name,order_status, invitation_code)
values (#{memberLevelId,jdbcType=BIGINT}, values (#{memberLevelId,jdbcType=BIGINT},
#{memberLevel,jdbcType=INTEGER, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler}, #{memberLevel,jdbcType=INTEGER, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler},
#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
@@ -140,7 +143,8 @@
#{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, #{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER},
#{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER}, #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER},
#{storeStatus, jdbcType=INTEGER, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler}, #{storeStatus, jdbcType=INTEGER, typeHandler=org.apache.ibatis.type.EnumOrdinalTypeHandler},
#{balance,jdbcType=DECIMAL}, #{freeze,jdbcType=DECIMAL}, #{detailAddress,jdbcType=VARCHAR}, #{realName,jdbcType=VARCHAR}) #{balance,jdbcType=DECIMAL}, #{freeze,jdbcType=DECIMAL}, #{detailAddress,jdbcType=VARCHAR},
#{realName,jdbcType=VARCHAR}, #{orderStatus,jdbcType=INTEGER},#{invitationCode,jdbcType=VARCHAR} )
</insert> </insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMember"> <insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMember">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
@@ -220,6 +224,12 @@
<if test="realName != null"> <if test="realName != null">
real_name, real_name,
</if> </if>
<if test="orderStatus != null">
order_status,
</if>
<if test="invitationCode != null">
invitation_code,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberLevelId != null"> <if test="memberLevelId != null">
@@ -294,6 +304,12 @@
<if test="realName != null"> <if test="realName != null">
#{real_name,jdbcType=VARCHAR}, #{real_name,jdbcType=VARCHAR},
</if> </if>
<if test="orderStatus != null">
#{order_status,jdbcType=INTEGER},
</if>
<if test="invitationCode != null">
#{invitation_code,jdbcType=VARCHAR},
</if>
</trim> </trim>
</insert> </insert>
<select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberExample" resultType="java.lang.Long"> <select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberExample" resultType="java.lang.Long">
@@ -380,6 +396,12 @@
<if test="record.realName != null"> <if test="record.realName != null">
real_name = #{record.realName,jdbcType=VARCHAR}, real_name = #{record.realName,jdbcType=VARCHAR},
</if> </if>
<if test="record.orderStatus != null">
order_status = #{record.orderStatus,jdbcType=INTEGER},
</if>
<if test="record.invitationCode != null">
invitation_code = #{record.invitationCode,jdbcType=VARCHAR},
</if>
</set> </set>
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
@@ -411,7 +433,9 @@
balance = #{record.balance,jdbcType=DECIMAL}, balance = #{record.balance,jdbcType=DECIMAL},
freeze = #{record.freeze,jdbcType=DECIMAL}, freeze = #{record.freeze,jdbcType=DECIMAL},
detail_address = #{record.detailAddress,jdbcType=VARCHAR}, detail_address = #{record.detailAddress,jdbcType=VARCHAR},
real_name = #{record.realName,jdbcType=VARCHAR} real_name = #{record.realName,jdbcType=VARCHAR},
order_status = #{record.orderStatus,jdbcType=INTEGER},
invitation_code = #{record.invitationCode,jdbcType=VARCHAR}
<if test="_parameter != null"> <if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" /> <include refid="Update_By_Example_Where_Clause" />
</if> </if>
@@ -491,6 +515,12 @@
<if test="realName != null"> <if test="realName != null">
real_name = #{realName,jdbcType=VARCHAR}, real_name = #{realName,jdbcType=VARCHAR},
</if> </if>
<if test="orderStatus != null">
order_status = #{orderStatus,jdbcType=INTEGER},
</if>
<if test="invitationCode != null">
invitation_code = #{invitationCode,jdbcType=VARCHAR}
</if>
</set> </set>
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
@@ -519,7 +549,9 @@
balance = #{balance,jdbcType=DECIMAL}, balance = #{balance,jdbcType=DECIMAL},
freeze = #{freeze,jdbcType=DECIMAL}, freeze = #{freeze,jdbcType=DECIMAL},
detail_address = #{detailAddress,jdbcType=VARCHAR}, detail_address = #{detailAddress,jdbcType=VARCHAR},
real_name = #{realName,jdbcType=VARCHAR} real_name = #{realName,jdbcType=VARCHAR},
order_status = #{orderStatus,jdbcType=INTEGER},
invitation_code = #{invitationCode,jdbcType=VARCHAR}
where id = #{id,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT}
</update> </update>
<select id="selectPhoneExists" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectPhoneExists" parameterType="java.lang.String" resultMap="BaseResultMap">

View File

@@ -0,0 +1,273 @@
<?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.buy507.mall.mapper.UmsMemberOrderQueueMapper">
<resultMap id="BaseResultMap" type="com.buy507.mall.model.UmsMemberOrderQueue">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="order_id" jdbcType="BIGINT" property="orderId" />
<result column="order_amount" jdbcType="DECIMAL" property="orderAmount" />
<result column="queue_index" jdbcType="BIGINT" property="queueIndex" />
<result column="quit_queue_mark" jdbcType="INTEGER" property="quitQueueMark" />
<result column="queue_type" jdbcType="INTEGER" property="queueType" />
<result column="remain_number" jdbcType="INTEGER" property="remainNumber" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, member_id, order_id, order_amount, queue_index, quit_queue_mark, queue_type,
remain_number, create_time
</sql>
<select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberOrderQueueExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from ums_member_order_queue
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ums_member_order_queue
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from ums_member_order_queue
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.buy507.mall.model.UmsMemberOrderQueueExample">
delete from ums_member_order_queue
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.buy507.mall.model.UmsMemberOrderQueue">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_order_queue (member_id, order_id, order_amount,
queue_index, quit_queue_mark, queue_type,remain_number)
values (#{memberId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, #{orderAmount,jdbcType=DECIMAL},
#{queueIndex,jdbcType=BIGINT}, #{quitQueueMark,jdbcType=INTEGER}, #{queueType,jdbcType=INTEGER},
#{remainNumber,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberOrderQueue">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_order_queue
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">
member_id,
</if>
<if test="orderId != null">
order_id,
</if>
<if test="orderAmount != null">
order_amount,
</if>
<if test="queueIndex != null">
queue_index,
</if>
<if test="quitQueueMark != null">
quit_queue_mark,
</if>
<if test="queueType != null">
queue_type,
</if>
<if test="remainNumber != null">
remain_number,
</if>
<if test="createTime != null">
create_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
<if test="orderId != null">
#{orderId,jdbcType=BIGINT},
</if>
<if test="orderAmount != null">
#{orderAmount,jdbcType=DECIMAL},
</if>
<if test="queueIndex != null">
#{queueIndex,jdbcType=BIGINT},
</if>
<if test="quitQueueMark != null">
#{quitQueueMark,jdbcType=INTEGER},
</if>
<if test="queueType != null">
#{queueType,jdbcType=INTEGER},
</if>
<if test="remainNumber != null">
#{remainNumber,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberOrderQueueExample" resultType="java.lang.Long">
select count(*) from ums_member_order_queue
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update ums_member_order_queue
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.memberId != null">
member_id = #{record.memberId,jdbcType=BIGINT},
</if>
<if test="record.orderId != null">
order_id = #{record.orderId,jdbcType=BIGINT},
</if>
<if test="record.orderAmount != null">
order_amount = #{record.orderAmount,jdbcType=DECIMAL},
</if>
<if test="record.queueIndex != null">
queue_index = #{record.queueIndex,jdbcType=BIGINT},
</if>
<if test="record.quitQueueMark != null">
quit_queue_mark = #{record.quitQueueMark,jdbcType=INTEGER},
</if>
<if test="record.queueType != null">
queue_type = #{record.queueType,jdbcType=INTEGER},
</if>
<if test="record.remainNumber != null">
remain_number = #{record.remainNumber,jdbcType=INTEGER},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update ums_member_order_queue
set id = #{record.id,jdbcType=BIGINT},
member_id = #{record.memberId,jdbcType=BIGINT},
order_id = #{record.orderId,jdbcType=BIGINT},
order_amount = #{record.orderAmount,jdbcType=DECIMAL},
queue_index = #{record.queueIndex,jdbcType=BIGINT},
quit_queue_mark = #{record.quitQueueMark,jdbcType=INTEGER},
queue_type = #{record.queueType,jdbcType=INTEGER},
remain_number = #{record.remainNumber,jdbcType=INTEGER},
create_time = #{record.createTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.buy507.mall.model.UmsMemberOrderQueue">
update ums_member_order_queue
<set>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
<if test="orderId != null">
order_id = #{orderId,jdbcType=BIGINT},
</if>
<if test="orderAmount != null">
order_amount = #{orderAmount,jdbcType=DECIMAL},
</if>
<if test="queueIndex != null">
queue_index = #{queueIndex,jdbcType=BIGINT},
</if>
<if test="quitQueueMark != null">
quit_queue_mark = #{quitQueueMark,jdbcType=INTEGER},
</if>
<if test="queueType != null">
queue_type = #{queueType,jdbcType=INTEGER},
</if>
<if test="remainNumber != null">
remain_number = #{remainNumber,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.buy507.mall.model.UmsMemberOrderQueue">
update ums_member_order_queue
set member_id = #{memberId,jdbcType=BIGINT},
order_id = #{orderId,jdbcType=BIGINT},
order_amount = #{orderAmount,jdbcType=DECIMAL},
queue_index = #{queueIndex,jdbcType=BIGINT},
quit_queue_mark = #{quitQueueMark,jdbcType=INTEGER},
queue_type = #{queueType,jdbcType=INTEGER},
remain_number = #{remainNumber,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

View File

@@ -0,0 +1,196 @@
<?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.buy507.mall.mapper.UmsMemberRelationTreeMapper">
<resultMap id="BaseResultMap" type="com.buy507.mall.model.UmsMemberRelationTree">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="higher_level_id" jdbcType="BIGINT" property="higherLevelId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, member_id, higher_level_id, create_time
</sql>
<select id="selectByExample" parameterType="com.buy507.mall.model.UmsMemberRelationTreeExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from ums_member_relation_tree
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ums_member_relation_tree
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from ums_member_relation_tree
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.buy507.mall.model.UmsMemberRelationTreeExample">
delete from ums_member_relation_tree
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.buy507.mall.model.UmsMemberRelationTree">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_relation_tree (member_id, higher_level_id
)
values (#{memberId,jdbcType=BIGINT}, #{higherLevelId,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" parameterType="com.buy507.mall.model.UmsMemberRelationTree">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into ums_member_relation_tree
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberId != null">
member_id,
</if>
<if test="higherLevelId != null">
higher_level_id,
</if>
<if test="createTime != null">
create_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
<if test="higherLevelId != null">
#{higherLevelId,jdbcType=BIGINT},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.buy507.mall.model.UmsMemberRelationTreeExample" resultType="java.lang.Long">
select count(*) from ums_member_relation_tree
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update ums_member_relation_tree
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.memberId != null">
member_id = #{record.memberId,jdbcType=BIGINT},
</if>
<if test="record.higherLevelId != null">
higher_level_id = #{record.higherLevelId,jdbcType=BIGINT},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update ums_member_relation_tree
set id = #{record.id,jdbcType=BIGINT},
member_id = #{record.memberId,jdbcType=BIGINT},
higher_level_id = #{record.higherLevelId,jdbcType=BIGINT},
create_time = #{record.createTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.buy507.mall.model.UmsMemberRelationTree">
update ums_member_relation_tree
<set>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
<if test="higherLevelId != null">
higher_level_id = #{higherLevelId,jdbcType=BIGINT},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.buy507.mall.model.UmsMemberRelationTree">
update ums_member_relation_tree
set member_id = #{memberId,jdbcType=BIGINT},
higher_level_id = #{higherLevelId,jdbcType=BIGINT},
create_time = #{createTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

View File

@@ -2,6 +2,8 @@ package com.buy507.mall.portal.controller;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -85,6 +87,17 @@ public class OmsPortalOrderController {
public CommonResult deleteOrder(@RequestParam Long orderId){ public CommonResult deleteOrder(@RequestParam Long orderId){
return portalOrderService.deleteOrder(orderId); return portalOrderService.deleteOrder(orderId);
} }
/**
* 对已付款订单退款
* @param orderId
* @return
*/
@ApiOperation("退款订单")
@RequestMapping(value = "/refundOrder",method = RequestMethod.POST)
public CommonResult refundOrder(@RequestParam Long orderId){
return portalOrderService.refundOrder(orderId);
}
/* /*
@ApiOperation("自动取消超时订单") @ApiOperation("自动取消超时订单")
@@ -163,16 +176,21 @@ public class OmsPortalOrderController {
portalOrderService.wxPayCallback(request, response); portalOrderService.wxPayCallback(request, response);
} }
@ApiOperation("加速订单")
@RequestMapping(value = "/accelerateOrder",method = RequestMethod.POST)
public CommonResult accelerateOrder(@RequestParam Long orderId){
return portalOrderService.accelerateOrder(orderId);
}
/** /**
* 支付宝支付成功回调方法 * 支付宝支付回调方法
* @param request * @param params
* @param response
*/ */
@ApiOperation("支付宝支付回调")
@RequestMapping("/alipay/callback") @RequestMapping("/alipay/callback")
public void alipayCallback(HttpServletRequest request, HttpServletResponse response) throws Exception { public void alipayCallback(@RequestParam Map<String, String> params) {
portalOrderService.wxPayCallback(request, response); portalOrderService.alipayCallback(params);
} }
} }

View File

@@ -29,8 +29,10 @@ public class UmsMemberController {
@ResponseBody @ResponseBody
public CommonResult register(@RequestParam String telephone, public CommonResult register(@RequestParam String telephone,
@RequestParam String password, @RequestParam String password,
@RequestParam String authCode) { @RequestParam String authCode,
return memberService.register(telephone, password, authCode); @RequestParam String invitationCode
) {
return memberService.register(telephone, password, authCode,invitationCode);
} }

View File

@@ -55,6 +55,14 @@ public class MemberInfoResult {
@ApiModelProperty(value = "联系地址") @ApiModelProperty(value = "联系地址")
private String detailAddress; private String detailAddress;
@ApiModelProperty(value = "总收入")
private String totalIncome;
@ApiModelProperty(value = "今日收入")
private String todayIncome;
public Long getMemberId() { public Long getMemberId() {
return memberId; return memberId;
@@ -183,5 +191,20 @@ public class MemberInfoResult {
public void setDetailAddress(String detailAddress) { public void setDetailAddress(String detailAddress) {
this.detailAddress = detailAddress; this.detailAddress = detailAddress;
} }
public String getTotalIncome() {
return totalIncome;
}
public void setTotalIncome(String totalIncome) {
this.totalIncome = totalIncome;
}
public String getTodayIncome() {
return todayIncome;
}
public void setTodayIncome(String todayIncome) {
this.todayIncome = todayIncome;
}
} }

View File

@@ -0,0 +1,16 @@
package com.buy507.mall.portal.service;
import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.UmsMember;
/**
* 惠麦商城-->会员提成机制
*/
public interface MemberCommissionService {
/**
* 计算会员提成比例
* @param order
* @param currentMember
*/
void computeCommission(OmsOrder order, UmsMember currentMember);
}

View File

@@ -54,6 +54,13 @@ public interface OmsPortalOrderService {
*/ */
CommonResult deleteOrder(Long orderId); CommonResult deleteOrder(Long orderId);
/**
* 对已付款订单退款
* @param orderId
* @return
*/
CommonResult refundOrder(Long orderId);
/** /**
* 直接购买,根据提交信息生成订单 * 直接购买,根据提交信息生成订单
*/ */
@@ -89,7 +96,7 @@ public interface OmsPortalOrderService {
CommonResult<Map<String, String>> wxPrePay(Long orderId); CommonResult<Map<String, String>> wxPrePay(Long orderId);
/** /**
* 支付宝预支付 * 支付宝跳转
* @param orderId * @param orderId
* @return * @return
*/ */
@@ -101,5 +108,16 @@ public interface OmsPortalOrderService {
* @param response * @param response
*/ */
void wxPayCallback(HttpServletRequest request, HttpServletResponse response) throws Exception; void wxPayCallback(HttpServletRequest request, HttpServletResponse response) throws Exception;
/**
* 支付宝支付成功回调方法
* @param params
*/
void alipayCallback(Map<String, String> params);
/**
* 加速订单
* @param orderId
* @return
*/
CommonResult accelerateOrder(Long orderId);
} }

View File

@@ -36,7 +36,7 @@ public interface UmsMemberService {
* 用户注册 * 用户注册
*/ */
@Transactional @Transactional
CommonResult register(String telephone, String password, String authCode); CommonResult register(String telephone, String password, String authCode,String invitationCode);
/** /**
* 登录功能 * 登录功能

View File

@@ -0,0 +1,123 @@
package com.buy507.mall.portal.service.impl;
import com.buy507.mall.mapper.UmsMemberAccountTransactionMapper;
import com.buy507.mall.mapper.UmsMemberMapper;
import com.buy507.mall.mapper.UmsMemberOrderQueueMapper;
import com.buy507.mall.mapper.UmsMemberRelationTreeMapper;
import com.buy507.mall.model.*;
import com.buy507.mall.portal.service.MemberCommissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Service
public class MemberCommissionServiceImpl implements MemberCommissionService {
/**
* 会员上下关系
*/
@Resource
private UmsMemberRelationTreeMapper umsMemberRelationTreeMapper;
/**
* 会员分成流水
*/
@Resource
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
@Resource
private UmsMemberOrderQueueMapper umsMemberOrderQueueMapper;
@Autowired
private UmsMemberMapper memberMapper;
/**
* 线程池处理逻辑
*/
private ExecutorService executorService = Executors.newFixedThreadPool(10);
@Override
public void computeCommission(OmsOrder order, UmsMember currentMember) {
executorService.submit(()->{
//普通队列计算
this.ordinaryOrderQueue(order);
this.superiorMembersShareProfits(order, currentMember);
});
}
//排队取值膜
private static Long modulus = new Long(5);
/**
* 普通排队队列
* @param order
*/
private void ordinaryOrderQueue(OmsOrder order) {
UmsMemberOrderQueueExample memberOrderQueueExample = new UmsMemberOrderQueueExample();
memberOrderQueueExample.createCriteria().andOrderIdEqualTo(order.getId());
List<UmsMemberOrderQueue> queues = umsMemberOrderQueueMapper.selectByExample(memberOrderQueueExample);
/**
* 查看当前 普通排队位置
*/
if(!queues.isEmpty()){
UmsMemberOrderQueue record = queues.get(0);
Long indexId = record.getId();
//订单排队id减1求5的模
Long result = (indexId - 1) % modulus;
//模为0 则有订单可以退出
if(result == 0){
//退出订单排队id
Long quitId = indexId / modulus;
if(quitId !=0 ){
//找到退出队列的订单
UmsMemberOrderQueueExample indexQuery = new UmsMemberOrderQueueExample();
indexQuery.createCriteria().andQueueIndexEqualTo(quitId);
queues = umsMemberOrderQueueMapper.selectByExample(indexQuery);
record = queues.get(0);
record.setQuitQueueMark(UmsMemberOrderQueue.QUEUE_STATUS_QUIT);
//更新为退出状态
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(record);
//该订单退出后金额加入会员账户
UmsMember member = memberMapper.selectByPrimaryKey(record.getMemberId());
BigDecimal newBalance = member.getBalance().add(record.getOrderAmount());
member.setBalance(newBalance);
memberMapper.updateByPrimaryKey(member);
}
}
}
}
/**
* 所以上级会员分配利润
* @param order
* @param currentMember
*/
private void superiorMembersShareProfits(OmsOrder order, UmsMember currentMember) {
UmsMemberRelationTreeExample treeExample = new UmsMemberRelationTreeExample();
treeExample.createCriteria().andMemberIdEqualTo(currentMember.getId());
List<UmsMemberRelationTree> treeList = umsMemberRelationTreeMapper.selectByExample(treeExample);
if(!treeList.isEmpty()){
UmsMemberRelationTree treeMember = treeList.get(0);
UmsMember higherMember = memberMapper.selectByPrimaryKey(treeMember.getHigherLevelId());
//todo 计算分成
}
}
}

View File

@@ -0,0 +1,535 @@
package com.buy507.mall.portal.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import com.buy507.mall.mapper.*;
import com.buy507.mall.model.*;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
@Slf4j
@Service
public class MemberSplitProfitService{
@Resource
private UmsMemberMapper memberMapper;
/**
* 会员分成流水
*/
@Resource
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
/**
* 订单队列
*/
@Resource
private UmsMemberOrderQueueMapper umsMemberOrderQueueMapper;
/**
* 会员上下关系
*/
@Resource
private UmsMemberRelationTreeMapper umsMemberRelationTreeMapper;
/**
* 会员等级
*/
@Resource
private UmsMemberLevelMapper umsMemberLevelMapper;
@Value("${becomeVipAmount}")
private String becomeVipAmount;
@Value("${sameLevelProfit}")
private String sameLevelProfit;
@Async
@Transactional
public void updateOderAndMemberInfo(OmsOrder order) {
UmsMember member = memberMapper.selectByPrimaryKey(order.getMemberId());
//找到上级会员
UmsMember higherLevelMember = this.findInOrderQueueMember(member.getId());;
/**
* 先验证该订单是否是五联单加速,如果不是则普通计算上级提成
* 如果是提成,则全额给上级
*/
boolean splitForFiveQueue = fiveQuickQueueBusiness(higherLevelMember);
//未进行满5联单分润开始进行普通分润流程
if(!splitForFiveQueue && higherLevelMember != null){
//进行订单分润
this.splitProfitFroMember(member, higherLevelMember, order);
}
}
/**
* 为订单上级进行分润
* @param member
* @param higherLevelMember
* @param order
*/
private void splitProfitFroMember(UmsMember member, UmsMember higherLevelMember, OmsOrder order) {
//新订单及直属上级分润,返回的分润金额
BigDecimal revenueAmount = this.newMemberSplitProfit(member, higherLevelMember, order);
UmsMember moreHigherMember;
//如果上级是vip会员
if(higherLevelMember.getMemberLevel().equals(MemberLevel.Consumer)) {
moreHigherMember = this.findNextHigherLevelMemberByType(higherLevelMember.getId(), MemberLevel.Consumer);
}else {
moreHigherMember = this.findInOrderQueueMember(higherLevelMember.getId());
}
//没有更高的上级退出分润
if(moreHigherMember == null){
return;
}
//给三个级别代理分润
this.twoLevelSplitProfit(higherLevelMember, moreHigherMember, order, revenueAmount);
this.threeLevelSplitProfit(higherLevelMember, moreHigherMember, order, revenueAmount);
this.fourLevelSplitProfit(higherLevelMember, moreHigherMember, order, revenueAmount);
}
/**
* 查询到下一个级别的上级会员
* @param id
* @param consumer
* @return
*/
private UmsMember findNextHigherLevelMemberByType(Long id, MemberLevel consumer) {
//找到上级
UmsMember moreHigherMember = this.findInOrderQueueMember(id);
if(moreHigherMember == null){
return null;
}
while (moreHigherMember != null){
if(moreHigherMember.getMemberLevel().getValue() > consumer.getValue()){
return moreHigherMember;
}
moreHigherMember = this.findInOrderQueueMember(moreHigherMember.getId());
if(moreHigherMember == null){
return null;
}
}
return moreHigherMember;
}
/***
* 五联单排队分红逻辑,该订单支付后处理
**/
private boolean fiveQuickQueueBusiness(UmsMember higherLevelMember) {
//分润标识
boolean splitMark = false;
if(higherLevelMember != null){
//订单加入队列
UmsMemberOrderQueueExample orderQueueExample = new UmsMemberOrderQueueExample();
orderQueueExample.createCriteria()
.andQuitQueueMarkEqualTo(UmsMemberOrderQueue.QUEUE_STATUS_WAIT)
.andQueueTypeEqualTo(UmsMemberOrderQueue.QUEUE_TYPE_FAST)
.andMemberIdEqualTo(higherLevelMember.getId());
List<UmsMemberOrderQueue> orderQueueList = umsMemberOrderQueueMapper.selectByExample(orderQueueExample);
//上级订单队列中是否有加速5联单
if(!orderQueueList.isEmpty()){
UmsMemberOrderQueue umoq = orderQueueList.get(0);
if(umoq.getRemainNumber() <= 4){
//没有加速满5单
umoq.setRemainNumber(1 + umoq.getRemainNumber());
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(umoq);
}else {
//设置本单待退出且5单满24小时未退款
umoq.setQuitQueueMark(UmsMemberOrderQueue.QUEUE_PREPARE_QUIT);
//冻结上级会费的冻结金额
//订单金额加入冻结余额
BigDecimal freeze = higherLevelMember.getFreeze();
BigDecimal orderAmount = umoq.getOrderAmount();
higherLevelMember.setFreeze(freeze.add(orderAmount));
//更新数据库
memberMapper.updateByPrimaryKeySelective(higherLevelMember);
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(umoq);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(100);
accountTransaction.setMemberId(umoq.getMemberId());
accountTransaction.setOrderId(umoq.getOrderId());
accountTransaction.setRemarks("满五单加速流水");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
splitMark = true;
}
}
}
return splitMark;
}
/**
* 会员分润
* @param currentMember
* @param higherLevelMember
* @param order
*/
private BigDecimal newMemberSplitProfit(UmsMember currentMember, UmsMember higherLevelMember, OmsOrder order){
/**
* 新增用户位普通用户订单支付成功后满一定金额成为vip普通会员
* 当前订单金额 大于等于 vip门槛金额
*/
if(currentMember.getMemberLevel().equals(MemberLevel.Member) &&
order.getPayAmount().compareTo(new BigDecimal(becomeVipAmount)) >= 0 ){
log.info("new order member {}" , JSONUtil.toJsonStr(currentMember));
currentMember.setMemberLevel(MemberLevel.Consumer);
}
//更新改会员为排队中
currentMember.setOrderStatus(1);
memberMapper.updateByPrimaryKeySelective(currentMember);
//订单加入队列
UmsMemberOrderQueueExample example = new UmsMemberOrderQueueExample();
example.createCriteria().andQuitQueueMarkEqualTo(UmsMemberOrderQueue.QUEUE_STATUS_WAIT)
.andQueueTypeEqualTo(UmsMemberOrderQueue.QUEUE_TYPE_ORDINARY);
long allQueue = umsMemberOrderQueueMapper.countByExample(example);
UmsMemberOrderQueue record = new UmsMemberOrderQueue();
record.setOrderId(order.getId());
record.setMemberId(currentMember.getId());
record.setOrderAmount(order.getPayAmount());
record.setQuitQueueMark(UmsMemberOrderQueue.QUEUE_STATUS_WAIT);
record.setQueueType(UmsMemberOrderQueue.QUEUE_TYPE_ORDINARY);
record.setQueueIndex(++allQueue);
umsMemberOrderQueueMapper.insert(record);
log.info("new Order Queue {}" , JSONUtil.toJsonStr(record));
UmsMemberLevel higherLevel = umsMemberLevelMapper.selectByPrimaryKey(higherLevelMember.getMemberLevelId());
//直推会员分润
String ratio = "0."+higherLevel.getCommissionRatio();
BigDecimal revenueAmount = order.getPayAmount().multiply(new BigDecimal(ratio)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(higherLevel.getCommissionRatio());
accountTransaction.setMemberId(higherLevelMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("直推会员分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(revenueAmount);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
log.info("new Account Transaction {}" , JSONUtil.toJsonStr(accountTransaction));
return revenueAmount;
}
/**
* 二级店长分润
* @param lowerMember
* @param higherMember
* @param order
*/
private void twoLevelSplitProfit(UmsMember lowerMember, UmsMember higherMember, OmsOrder order,
BigDecimal revenueAmount){
if(higherMember.getMemberLevel().equals(MemberLevel.Partner)){
//上下级关系
if(higherMember.getMemberLevel().getValue() > lowerMember.getMemberLevel().getValue()){
UmsMemberLevel lowerLevel = umsMemberLevelMapper.selectByPrimaryKey(lowerMember.getMemberLevelId());
UmsMemberLevel higherLevel = umsMemberLevelMapper.selectByPrimaryKey(higherMember.getMemberLevelId());
Integer profitRatio = 0;
if(higherLevel.getCommissionRatio() != null && lowerLevel.getCommissionRatio() != null){
profitRatio = higherLevel.getCommissionRatio() - lowerLevel.getCommissionRatio();
}
String ratioStr = profitRatio < 10 ? "0.0" + profitRatio : "0."+profitRatio;
//查看上级的分润比例
BigDecimal tenPercent = order.getPayAmount().multiply(new BigDecimal(ratioStr)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(profitRatio);
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("二级店长上级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
//查询上级
UmsMember next = this.findInOrderQueueMember(higherMember.getId());
if(next != null){
if (next.getMemberLevel().equals(higherMember.getMemberLevel())){
twoLevelSplitProfit(higherMember, next, order, tenPercent);
}else {
threeLevelSplitProfit(higherMember, next, order, tenPercent);
fourLevelSplitProfit(higherMember, next, order, tenPercent);
}
}
//平级关系
}else if(lowerMember.getMemberLevel().equals(lowerMember.getMemberLevel())){
BigDecimal tenPercent = revenueAmount.multiply(new BigDecimal("0."+sameLevelProfit)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(Integer.valueOf(sameLevelProfit));
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("二级店长平级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
//查询比当前级别大的会员
UmsMember next = this.findNextHigherLevelMemberByType(higherMember.getId(), MemberLevel.Partner);
if(next != null){
threeLevelSplitProfit(higherMember, next, order, tenPercent);
fourLevelSplitProfit(higherMember, next, order, tenPercent);
}
}
}
}
/**
* 三级代理分润
* @param lowerMember
* @param higherMember
* @param order
*/
private void threeLevelSplitProfit(UmsMember lowerMember, UmsMember higherMember, OmsOrder order, BigDecimal revenueAmount){
if(higherMember.getMemberLevel().equals(MemberLevel.Diamond)){
//上下级关系
if(higherMember.getMemberLevel().getValue() > lowerMember.getMemberLevel().getValue()){
UmsMemberLevel lowerLevel = umsMemberLevelMapper.selectByPrimaryKey(lowerMember.getMemberLevelId());
UmsMemberLevel higherLevel = umsMemberLevelMapper.selectByPrimaryKey(higherMember.getMemberLevelId());
Integer profitRatio = 0;
if(higherLevel.getCommissionRatio() != null && lowerLevel.getCommissionRatio() != null){
profitRatio = higherLevel.getCommissionRatio() - lowerLevel.getCommissionRatio();
}
String ratioStr = profitRatio < 10 ? "0.0" + profitRatio : "0."+profitRatio;
//查看上级的分润比例
BigDecimal tenPercent = order.getPayAmount().multiply(new BigDecimal(ratioStr)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(profitRatio);
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("三级代理上级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
//查询上级
UmsMember next = this.findInOrderQueueMember(higherMember.getId());
if(next != null){
if (next.getMemberLevel().equals(higherMember.getMemberLevel())){
threeLevelSplitProfit(higherMember, next, order, tenPercent);
}else {
fourLevelSplitProfit(higherMember, next, order, tenPercent);
}
}
//平级关系
}else if(lowerMember.getMemberLevel().equals(lowerMember.getMemberLevel())){
BigDecimal tenPercent = revenueAmount.multiply(new BigDecimal("0."+sameLevelProfit)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(Integer.valueOf(sameLevelProfit));
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("三级代理平级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
UmsMember next = this.findNextHigherLevelMemberByType(higherMember.getId(), MemberLevel.Diamond);
if(next != null){
fourLevelSplitProfit(higherMember, next, order, tenPercent);
}
}
}
}
/**
* 四级市代分润
* @param lowerMember
* @param higherMember
* @param order
*/
private void fourLevelSplitProfit(UmsMember lowerMember, UmsMember higherMember, OmsOrder order, BigDecimal revenueAmount){
if(higherMember.getMemberLevel().equals(MemberLevel.OneDiamond)){
//上下级关系
if(higherMember.getMemberLevel().getValue() > lowerMember.getMemberLevel().getValue()){
UmsMemberLevel lowerLevel = umsMemberLevelMapper.selectByPrimaryKey(lowerMember.getMemberLevelId());
UmsMemberLevel higherLevel = umsMemberLevelMapper.selectByPrimaryKey(higherMember.getMemberLevelId());
Integer profitRatio = 0;
if(higherLevel.getCommissionRatio() != null && lowerLevel.getCommissionRatio() != null){
profitRatio = higherLevel.getCommissionRatio() - lowerLevel.getCommissionRatio();
}
String ratioStr = profitRatio < 10 ? "0.0" + profitRatio : "0."+profitRatio;
//查看上级的分润比例
BigDecimal tenPercent = order.getPayAmount().multiply(new BigDecimal(ratioStr)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(profitRatio);
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("四级市代上级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
//查询上级
UmsMember next = this.findInOrderQueueMember(higherMember.getId());
if(next != null && next.getMemberLevel().equals(higherMember.getMemberLevel())){
fourLevelSplitProfit(higherMember, next, order, tenPercent);
}
//平级关系
}else if(lowerMember.getMemberLevel().equals(lowerMember.getMemberLevel())){
BigDecimal tenPercent = revenueAmount.multiply(new BigDecimal("0."+sameLevelProfit)).setScale(2, RoundingMode.HALF_UP);
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
accountTransaction.setCommissionRatio(Integer.valueOf(sameLevelProfit));
accountTransaction.setMemberId(higherMember.getId());
accountTransaction.setOrderId(order.getId());
accountTransaction.setRemarks("四级市代平级分润");
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
accountTransaction.setRevenueAmount(tenPercent);
//24小时后到账
accountTransaction.setTransferPaymentTime(DateUtil.tomorrow());
umsMemberAccountTransactionMapper.insert(accountTransaction);
}
}
}
/**
* 寻找上级且在队列中,未在队列且返回null
*/
private UmsMember findInOrderQueueMember(Long id) {
UmsMemberRelationTree relationTree = this.getUpLevelRelationTreeById(id);
if(relationTree == null){
return null;
}
UmsMember higherMember = memberMapper.selectByPrimaryKey(relationTree.getHigherLevelId());
if(higherMember == null){
return null;
}
if(higherMember.getOrderStatus() == 0){
UmsMember nextMember = this.findInOrderQueueMember(higherMember.getId());
if(nextMember != null){
return nextMember;
}
}else if(higherMember.getOrderStatus() == 1){
return higherMember;
}
return null;
}
private UmsMemberRelationTree getUpLevelRelationTreeById(Long id) {
UmsMemberRelationTree relationTree = null;
UmsMemberRelationTreeExample relationTreeExample = new UmsMemberRelationTreeExample();
relationTreeExample.createCriteria().andMemberIdEqualTo(id);
List<UmsMemberRelationTree> relationTreeList = umsMemberRelationTreeMapper.selectByExample(relationTreeExample);
if(!relationTreeList.isEmpty()) {
//找到上级关系
relationTree = relationTreeList.get(0);
}
return relationTree;
}
/************************会员退款逻辑******************************/
@Async
@Transactional
public void checkQueueOrderInfo(OmsOrder order, UmsMember currentMember) {
UmsMemberOrderQueueExample queueExample = new UmsMemberOrderQueueExample();
queueExample.createCriteria().andOrderIdEqualTo(order.getId());
List<UmsMemberOrderQueue> orderQueueList = umsMemberOrderQueueMapper.selectByExample(queueExample);
//排队队列状态改变为退出
if(!orderQueueList.isEmpty()){
UmsMemberOrderQueue memberOrderQueue = orderQueueList.get(0);
memberOrderQueue.setQuitQueueMark(UmsMemberOrderQueue.QUEUE_STATUS_QUIT);
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(memberOrderQueue);
}
UmsMemberRelationTreeExample relationTreeExample = new UmsMemberRelationTreeExample();
relationTreeExample.createCriteria().andMemberIdEqualTo(currentMember.getId());
List<UmsMemberRelationTree> relationTreeList = umsMemberRelationTreeMapper.selectByExample(relationTreeExample);
if(!relationTreeList.isEmpty()) {
//找到上级关系
UmsMemberRelationTree relationTree = relationTreeList.get(0);
//订单加入队列
UmsMemberOrderQueueExample orderQueueExample = new UmsMemberOrderQueueExample();
orderQueueExample.createCriteria()
.andQuitQueueMarkEqualTo(UmsMemberOrderQueue.QUEUE_PREPARE_QUIT)
.andQueueTypeEqualTo(UmsMemberOrderQueue.QUEUE_TYPE_FAST)
.andMemberIdEqualTo(relationTree.getHigherLevelId());
List<UmsMemberOrderQueue> upQueueList = umsMemberOrderQueueMapper.selectByExample(orderQueueExample);
//更新五连单中的上级订单,修改订单为继续排队数量减去1
if(!upQueueList.isEmpty()){
UmsMemberOrderQueue upQueue = upQueueList.get(0);
upQueue.setQuitQueueMark(UmsMemberOrderQueue.QUEUE_STATUS_WAIT);
upQueue.setRemainNumber((upQueue.getRemainNumber() - 1));
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(upQueue);
//上级的冻结金额修改
this.modifyFreezeAmountForRefund(upQueue);
}
}
}
private void modifyFreezeAmountForRefund(UmsMemberOrderQueue upQueue) {
//冻结上级会费的冻结金额
UmsMember higherMember = memberMapper.selectByPrimaryKey(upQueue.getMemberId());
//订单金额加入冻结余额
BigDecimal freeze = higherMember.getFreeze();
BigDecimal orderAmount = upQueue.getOrderAmount();
higherMember.setFreeze(freeze.subtract(orderAmount));
//更新数据库
memberMapper.updateByPrimaryKeySelective(higherMember);
UmsMemberAccountTransactionExample accountTransactionExample = new UmsMemberAccountTransactionExample();
accountTransactionExample.createCriteria()
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_NO)
.andOrderIdEqualTo(upQueue.getOrderId());
List<UmsMemberAccountTransaction> transactionList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
//该笔流水账
if(!transactionList.isEmpty()){
UmsMemberAccountTransaction umat = transactionList.get(0);
umat.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_OUT);
umsMemberAccountTransactionMapper.updateByPrimaryKeySelective(umat);
}
}
}

View File

@@ -1,23 +1,23 @@
package com.buy507.mall.portal.service.impl; package com.buy507.mall.portal.service.impl;
import java.io.ByteArrayOutputStream; import cn.hutool.core.date.DateTime;
import java.io.InputStream; import cn.hutool.core.date.DateUtil;
import java.math.BigDecimal; import cn.hutool.json.JSONUtil;
import java.net.URI; import com.buy507.mall.common.api.CommonResult;
import java.nio.charset.Charset; import com.buy507.mall.common.util.MD5Util;
import java.text.SimpleDateFormat; import com.buy507.mall.mapper.*;
import java.util.ArrayList; import com.buy507.mall.model.*;
import java.util.Date; import com.buy507.mall.portal.component.CancelOrderSender;
import java.util.HashMap; import com.buy507.mall.portal.component.DistributeSender;
import java.util.List; import com.buy507.mall.portal.component.RedisLock;
import java.util.Map; import com.buy507.mall.portal.dao.PortalOrderDao;
import java.util.concurrent.ExecutorService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.buy507.mall.portal.domain.*; import com.buy507.mall.portal.domain.*;
import com.buy507.mall.portal.pay.wxpay.MyConfig;
import com.buy507.mall.portal.pay.wxpay.WXPay;
import com.buy507.mall.portal.pay.wxpay.WXPayUtil;
import com.buy507.mall.portal.service.*; import com.buy507.mall.portal.service.*;
import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -31,47 +31,17 @@ import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UriComponentsBuilder;
import com.buy507.mall.common.api.CommonResult; import javax.annotation.Resource;
import com.buy507.mall.common.util.MD5Util; import javax.servlet.http.HttpServletRequest;
import com.buy507.mall.mapper.DmsMemberTradeRecordMapper; import javax.servlet.http.HttpServletResponse;
import com.buy507.mall.mapper.DmsOfflinePaymentRecordMapper; import java.io.ByteArrayOutputStream;
import com.buy507.mall.mapper.DmsSellerBankAccountMapper; import java.io.InputStream;
import com.buy507.mall.mapper.OmsCartItemMapper; import java.math.BigDecimal;
import com.buy507.mall.mapper.OmsExpressCompanyMapper; import java.net.URI;
import com.buy507.mall.mapper.OmsOrderItemMapper; import java.nio.charset.Charset;
import com.buy507.mall.mapper.OmsOrderMapper; import java.text.SimpleDateFormat;
import com.buy507.mall.mapper.OmsOrderOperateHistoryMapper; import java.util.*;
import com.buy507.mall.mapper.OmsOrderSettingMapper; import java.util.concurrent.ExecutorService;
import com.buy507.mall.mapper.PmsProductMapper;
import com.buy507.mall.mapper.PmsSkuStockMapper;
import com.buy507.mall.mapper.UmsMemberMapper;
import com.buy507.mall.mapper.UmsMemberReceiveAddressMapper;
import com.buy507.mall.model.DmsMemberTradeRecord;
import com.buy507.mall.model.DmsOfflinePaymentRecord;
import com.buy507.mall.model.DmsSellerBankAccount;
import com.buy507.mall.model.ItemType;
import com.buy507.mall.model.OmsCartItem;
import com.buy507.mall.model.OmsCartItemExample;
import com.buy507.mall.model.OmsExpressCompany;
import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.OmsOrderExample;
import com.buy507.mall.model.OmsOrderItem;
import com.buy507.mall.model.OmsOrderItemExample;
import com.buy507.mall.model.OmsOrderOperateHistory;
import com.buy507.mall.model.OmsOrderSetting;
import com.buy507.mall.model.PmsProduct;
import com.buy507.mall.model.PmsSkuStock;
import com.buy507.mall.model.UmsMember;
import com.buy507.mall.model.UmsMemberReceiveAddress;
import com.buy507.mall.portal.component.CancelOrderSender;
import com.buy507.mall.portal.component.DistributeSender;
import com.buy507.mall.portal.component.RedisLock;
import com.buy507.mall.portal.dao.PortalOrderDao;
import com.buy507.mall.portal.pay.wxpay.MyConfig;
import com.buy507.mall.portal.pay.wxpay.WXPay;
import com.buy507.mall.portal.pay.wxpay.WXPayUtil;
import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
/** /**
* 前台订单管理Service * 前台订单管理Service
@@ -152,6 +122,19 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
@Autowired @Autowired
private AlipayService alipayService; private AlipayService alipayService;
@Autowired
private MemberCommissionService memberCommissionService;
@Autowired
private MemberSplitProfitService memberSplitProfitService;
@Autowired
private UmsMemberOrderQueueMapper umsMemberOrderQueueMapper;
@Value("${kuaidi100.url}") @Value("${kuaidi100.url}")
private String KUAIDI100_URL; private String KUAIDI100_URL;
@@ -798,23 +781,17 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
} }
//冻结用户余额 //冻结用户余额
while(true) { member = memberMapper.selectByPrimaryKey(member.getId());
long time = System.currentTimeMillis() + RedisLock.TIMEOUT; //flag = -1,表示balance小于integerationflag = 0,表示balance等于integerationflag = 1,表示balance大于integeration
if(redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) { flag = member.getBalance().compareTo(integeration);
member = memberMapper.selectByPrimaryKey(member.getId()); if(flag == -1) {
//flag = -1,表示balance小于integerationflag = 0,表示balance等于integerationflag = 1,表示balance大于integeration throw new RuntimeException("森态积分不足,无法抵扣");
flag = member.getBalance().compareTo(integeration);
if(flag == -1) {
throw new RuntimeException("森态积分不足,无法抵扣");
}
member.setBalance(member.getBalance().subtract(integeration)); //修改余额值
member.setFreeze(member.getFreeze().add(integeration)); //修改冻结值
memberMapper.updateByPrimaryKey(member);
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
break;
}
} }
member.setBalance(member.getBalance().subtract(integeration)); //修改余额值
member.setFreeze(member.getFreeze().add(integeration)); //修改冻结值
memberMapper.updateByPrimaryKey(member);
} else { } else {
order.setPayAmount(totalAmount); //实际支付金额 order.setPayAmount(totalAmount); //实际支付金额
order.setIntegrationAmount(zero); order.setIntegrationAmount(zero);
@@ -837,7 +814,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
order.setOrderSn(generateOrderSn(order)); order.setOrderSn(generateOrderSn(order));
//订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 //订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单
order.setStatus(0); order.setStatus(0);
//订单类型0->正常订单1->秒杀订单 //订单类型0->正常订单1->秒杀订单 2->5连订单
order.setOrderType(0); order.setOrderType(0);
OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L); OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L);
@@ -1123,6 +1100,37 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
return CommonResult.success(null); return CommonResult.success(null);
} }
@Override
public CommonResult refundOrder(Long orderId) {
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
if(order == null) {
return CommonResult.validateFailed("未查询到订单信息");
}
UmsMember currentMember = memberService.getCurrentMember();
if(!order.getMemberId().equals(currentMember.getId())) {
return CommonResult.validateFailed("未查询到订单信息");
}
DateTime nextPaymentTime = DateUtil.offsetDay(order.getPaymentTime(), 1);
//支付时间是否超过24小时
if(nextPaymentTime.isAfter(DateTime.now())){
return CommonResult.validateFailed("订单信息已超过24小时");
}
//退货状态满足 1->待发货;
if(order.getStatus() == 1) {
//删除状态0->未删除1->已删除
order.setDeleteStatus(1);
order.setModifyTime(new Date());
orderMapper.updateByPrimaryKey(order);
//修改退款后队列业务
memberSplitProfitService.checkQueueOrderInfo(order, currentMember);
}
return CommonResult.success(null);
}
@Transactional @Transactional
@Override @Override
public CommonResult getLogistics(Long orderId) { public CommonResult getLogistics(Long orderId) {
@@ -1219,6 +1227,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
history.setOrderStatus(3); history.setOrderStatus(3);
history.setNote("完成确认收货"); history.setNote("完成确认收货");
orderOperateHistoryMapper.insert(history); orderOperateHistoryMapper.insert(history);
//更新会员为队列中
currentMember.setOrderStatus(1);
memberMapper.updateByPrimaryKeySelective(currentMember);
/**
* 开始计算会员提成比例
*/
memberCommissionService.computeCommission(order, currentMember);
} }
@@ -1267,7 +1284,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
long time = System.currentTimeMillis() + RedisLock.TIMEOUT; long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
if(redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) { if(redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) {
member = memberMapper.selectByPrimaryKey(member.getId()); member = memberMapper.selectByPrimaryKey(member.getId());
member.setFreeze(member.getFreeze().subtract(order.getIntegrationAmount())); //修改冻结金额 member.setFreeze(member.getFreeze().add(order.getIntegrationAmount())); //修改冻结金额,增加冻结资金
memberMapper.updateByPrimaryKey(member); memberMapper.updateByPrimaryKey(member);
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time)); redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
break; break;
@@ -1521,50 +1538,51 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
OmsOrder order = list.get(0); OmsOrder order = list.get(0);
//订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单 //订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单
if(order != null && order.getStatus() == 0) { if(order != null && order.getStatus() == 0) {
Date date = new Date();
//提货方式0->自提1->物流 Date date = new Date();
if(order.getDeliveryType() == 0) { //提货方式0->自提1->物流
order.setStatus(2); //已发货 if(order.getDeliveryType() == 0) {
} else { order.setStatus(2); //已发货
order.setStatus(1); //待发货 } else {
} order.setStatus(1); //待发货
//支付方式0->未支付1->支付宝2->微信3->线下支付 }
order.setPayType(2); //微信 //支付方式0->未支付1->支付宝2->微信3->线下支付
order.setModifyTime(date); order.setPayType(2); //微信
order.setPaymentTime(date); order.setModifyTime(date);
orderMapper.updateByPrimaryKey(order); order.setPaymentTime(date);
orderMapper.updateByPrimaryKey(order);
BigDecimal zero = new BigDecimal(0);
int flag = order.getIntegrationAmount().compareTo(zero); BigDecimal zero = new BigDecimal(0);
UmsMember member = memberMapper.selectByPrimaryKey(order.getMemberId()); int flag = order.getIntegrationAmount().compareTo(zero);
UmsMember member = memberMapper.selectByPrimaryKey(order.getMemberId());
//flag = -1,表示IntegrationAmount小于zeroflag = 0,表示IntegrationAmount等于zeroflag = 1,表示IntegrationAmount大于zero
if(flag == 1) { //flag = -1,表示IntegrationAmount小于zeroflag = 0,表示IntegrationAmount等于zeroflag = 1,表示IntegrationAmount大于zero
if(flag == 1) {
//写入会员交易记录表
DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord(); //写入会员交易记录表
tradeRecord.setMemberId(member.getId()); DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord();
tradeRecord.setItemType(ItemType.IntegralShopping); //积分购物 tradeRecord.setMemberId(member.getId());
tradeRecord.setNote("积分抵扣"); tradeRecord.setItemType(ItemType.IntegralShopping); //积分购物
tradeRecord.setTitle("积分抵扣"); tradeRecord.setNote("积分抵扣");
tradeRecord.setValue(order.getIntegrationAmount()); tradeRecord.setTitle("积分抵扣");
tradeRecord.setType(1); //收支类型0->收入1->支出 tradeRecord.setValue(order.getIntegrationAmount());
tradeRecord.setCreateTime(date); tradeRecord.setType(1); //收支类型0->收入1->支出
memberTradeRecordMapper.insert(tradeRecord); tradeRecord.setCreateTime(date);
memberTradeRecordMapper.insert(tradeRecord);
while(true) {
long time = System.currentTimeMillis() + RedisLock.TIMEOUT; while(true) {
if(redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) { long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
member = memberMapper.selectByPrimaryKey(member.getId()); if(redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) {
member.setFreeze(member.getFreeze().subtract(order.getIntegrationAmount())); //修改冻结值 member = memberMapper.selectByPrimaryKey(member.getId());
memberMapper.updateByPrimaryKey(member); member.setFreeze(member.getFreeze().subtract(order.getIntegrationAmount())); //修改冻结值
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time)); memberMapper.updateByPrimaryKey(member);
break; redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
} break;
} }
}
}
}
//修改商品库存信息需要加锁,影响前台响应,所以用线程来处理 //修改商品库存信息需要加锁,影响前台响应,所以用线程来处理
executorService.execute(new Runnable() { executorService.execute(new Runnable() {
@@ -1644,4 +1662,93 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
} }
@Override
public CommonResult accelerateOrder(Long orderId) {
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
if(order == null) {
return CommonResult.validateFailed("未查询到订单信息");
}
UmsMember currentMember = memberService.getCurrentMember();
if(!order.getMemberId().equals(currentMember.getId())) {
return CommonResult.validateFailed("未查询到订单信息");
}
//只能加速 1->待发货2->已发货
if(order.getStatus() == 1 || order.getStatus() == 2) {
order.setOrderType(2);
order.setModifyTime(new Date());
orderMapper.updateByPrimaryKey(order);
executorService.submit(()->{
//修改队列类型为 加速订单
UmsMemberOrderQueueExample queueExample = new UmsMemberOrderQueueExample();
queueExample.createCriteria().andOrderIdEqualTo(order.getId());
List<UmsMemberOrderQueue> queueList = umsMemberOrderQueueMapper.selectByExample(queueExample);
if(!queueList.isEmpty()){
UmsMemberOrderQueue moq = queueList.get(0);
moq.setQueueType(UmsMemberOrderQueue.QUEUE_TYPE_FAST);
umsMemberOrderQueueMapper.updateByPrimaryKeySelective(moq);
}
});
}
return CommonResult.success(null);
}
@Value("${alipay.alipayPublicKey}")
private String alipayPublicKey;
@Value("${alipay.charset}")
private String charset;
@Value("${alipay.signType}")
private String signType;
@Override
public void alipayCallback(Map<String, String> params) {
LOGGER.info("============开始处理支付宝的支付异步通知 接收到参数 {}", JSONUtil.toJsonStr(params));
// 验证签名
boolean verifyResult;
// try {
verifyResult = true;//AlipaySignature.rsaCheckV1(params, alipayPublicKey, charset, signType);
if (verifyResult) {
// 签名验证通过
String tradeStatus = params.get("trade_status");
String outTradeNo = params.get("out_trade_no");
if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
// 处理支付成功的业务逻辑
OmsOrderExample example = new OmsOrderExample();
example.createCriteria().andOrderSnEqualTo(outTradeNo);
List<OmsOrder> list = orderMapper.selectByExample(example);
if(list != null && list.size() > 0) {
OmsOrder order = list.get(0);
//订单状态0->待付款1->待发货2->已发货3->已完成4->已关闭5->无效订单
if (order != null && order.getStatus() == 0) {
Date date = new Date();
//提货方式0->自提1->物流
if(order.getDeliveryType() == 0) {
order.setStatus(2); //已发货
} else {
order.setStatus(1); //待发货
}
//支付方式0->未支付1->支付宝2->微信3->线下支付
order.setPayType(1);
order.setModifyTime(date);
order.setPaymentTime(date);
orderMapper.updateByPrimaryKey(order);
/**
* 会员分润逻辑
*/
memberSplitProfitService.updateOderAndMemberInfo(order);
}
}
}
}
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
}
} }

View File

@@ -1,13 +1,30 @@
package com.buy507.mall.portal.service.impl; package com.buy507.mall.portal.service.impl;
import java.math.BigDecimal; import cn.hutool.core.date.DateTime;
import java.util.ArrayList; import cn.hutool.core.date.DateUtil;
import java.util.Date; import com.aliyuncs.CommonRequest;
import java.util.HashMap; import com.aliyuncs.CommonResponse;
import java.util.List; import com.aliyuncs.DefaultAcsClient;
import java.util.Map; import com.aliyuncs.IAcsClient;
import java.util.Random; import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.buy507.mall.common.api.CommonResult;
import com.buy507.mall.common.util.Constants;
import com.buy507.mall.mapper.*;
import com.buy507.mall.model.*;
import com.buy507.mall.portal.component.RedisLock;
import com.buy507.mall.portal.component.TeamMemberNumberHanderQueue;
import com.buy507.mall.portal.dao.PortalMemberDao;
import com.buy507.mall.portal.domain.*;
import com.buy507.mall.portal.service.InitDistributionService;
import com.buy507.mall.portal.service.PortalCommonService;
import com.buy507.mall.portal.service.RedisService;
import com.buy507.mall.portal.service.UmsMemberService;
import com.buy507.mall.portal.util.JwtTokenUtil;
import com.buy507.mall.portal.util.WeChatDecryptDataUtil;
import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -28,60 +45,9 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import com.aliyuncs.CommonRequest; import javax.annotation.Resource;
import com.aliyuncs.CommonResponse; import java.math.BigDecimal;
import com.aliyuncs.DefaultAcsClient; import java.util.*;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.buy507.mall.common.api.CommonResult;
import com.buy507.mall.common.util.Constants;
import com.buy507.mall.mapper.DmsMemberBankAccountMapper;
import com.buy507.mall.mapper.DmsMemberTradeRecordMapper;
import com.buy507.mall.mapper.DmsMemberTransferRecordMapper;
import com.buy507.mall.mapper.DmsMemberWithdrawApplyMapper;
import com.buy507.mall.mapper.DmsTeamLevelMapper;
import com.buy507.mall.mapper.DmsTeamTotalConsumeMapper;
import com.buy507.mall.mapper.OmsOrderMapper;
import com.buy507.mall.mapper.UmsMemberLevelMapper;
import com.buy507.mall.mapper.UmsMemberMapper;
import com.buy507.mall.model.DmsMemberBankAccount;
import com.buy507.mall.model.DmsMemberTradeRecord;
import com.buy507.mall.model.DmsMemberTransferRecord;
import com.buy507.mall.model.DmsMemberWithdrawApply;
import com.buy507.mall.model.DmsTeamLevel;
import com.buy507.mall.model.DmsTeamTotalConsume;
import com.buy507.mall.model.ItemType;
import com.buy507.mall.model.MemberLevel;
import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.OmsOrderExample;
import com.buy507.mall.model.StoreStatus;
import com.buy507.mall.model.UmsMember;
import com.buy507.mall.model.UmsMemberExample;
import com.buy507.mall.model.UmsMemberLevel;
import com.buy507.mall.model.UmsMemberLevelExample;
import com.buy507.mall.portal.component.RedisLock;
import com.buy507.mall.portal.component.TeamMemberNumberHanderQueue;
import com.buy507.mall.portal.dao.PortalMemberDao;
import com.buy507.mall.portal.domain.AccountDetailResult;
import com.buy507.mall.portal.domain.FirstMemberInfoParam;
import com.buy507.mall.portal.domain.MemberDetails;
import com.buy507.mall.portal.domain.MemberInfoResult;
import com.buy507.mall.portal.domain.MemberTransferParam;
import com.buy507.mall.portal.domain.MemberTransferResult;
import com.buy507.mall.portal.domain.MemberWithdrawApplyResult;
import com.buy507.mall.portal.domain.TeamMemberResult;
import com.buy507.mall.portal.domain.WeChatLogin;
import com.buy507.mall.portal.domain.WithdrawApplyParam;
import com.buy507.mall.portal.service.InitDistributionService;
import com.buy507.mall.portal.service.PortalCommonService;
import com.buy507.mall.portal.service.RedisService;
import com.buy507.mall.portal.service.UmsMemberService;
import com.buy507.mall.portal.util.JwtTokenUtil;
import com.buy507.mall.portal.util.WeChatDecryptDataUtil;
import com.github.pagehelper.PageHelper;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
/** /**
* 会员管理Service实现类 * 会员管理Service实现类
@@ -147,6 +113,16 @@ public class UmsMemberServiceImpl implements UmsMemberService {
@Autowired @Autowired
private DmsMemberTransferRecordMapper memberTransferRecordMapper; private DmsMemberTransferRecordMapper memberTransferRecordMapper;
/**
* 会员分成流水
*/
@Resource
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
/**
* 会员上下关系
*/
@Resource
private UmsMemberRelationTreeMapper umsMemberRelationTreeMapper;
@Autowired @Autowired
private RedisLock redisLock; private RedisLock redisLock;
@@ -184,7 +160,8 @@ public class UmsMemberServiceImpl implements UmsMemberService {
@Autowired @Autowired
private RestTemplate restTemplate; private RestTemplate restTemplate;
@Override @Override
public UmsMember getByUsername(String username) { public UmsMember getByUsername(String username) {
UmsMemberExample example = new UmsMemberExample(); UmsMemberExample example = new UmsMemberExample();
@@ -202,7 +179,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
} }
@Override @Override
public CommonResult register(String telephone, String password, String authCode) { public CommonResult register(String telephone, String password, String authCode,String invitationCode) {
//验证验证码 //验证验证码
if(!verifyAuthCode(authCode, telephone)){ if(!verifyAuthCode(authCode, telephone)){
return CommonResult.failed("验证码错误"); return CommonResult.failed("验证码错误");
@@ -228,21 +205,50 @@ public class UmsMemberServiceImpl implements UmsMemberService {
umsMember.setBalance(new BigDecimal(0)); umsMember.setBalance(new BigDecimal(0));
umsMember.setMemberLevel(MemberLevel.Member); umsMember.setMemberLevel(MemberLevel.Member);
umsMember.setStoreStatus(StoreStatus.No); umsMember.setStoreStatus(StoreStatus.No);
umsMember.setInvitationCode(generateRandomString());
//获取默认会员等级并设置 //获取默认会员等级并设置
UmsMemberLevelExample levelExample = new UmsMemberLevelExample(); UmsMemberLevelExample levelExample = new UmsMemberLevelExample();
levelExample.createCriteria().andDefaultStatusEqualTo(1); levelExample.createCriteria().andDefaultStatusEqualTo(0);
List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample); List<UmsMemberLevel> memberLevelList = memberLevelMapper.selectByExample(levelExample);
if (!CollectionUtils.isEmpty(memberLevelList)) { if (!CollectionUtils.isEmpty(memberLevelList)) {
umsMember.setMemberLevelId(memberLevelList.get(0).getId()); umsMember.setMemberLevelId(memberLevelList.get(0).getId());
} }
memberMapper.insert(umsMember); memberMapper.insert(umsMember);
//邀请码不为空
if(!StringUtils.isEmpty(invitationCode)){
UmsMemberExample queryMember = new UmsMemberExample();
queryMember.createCriteria().andInvitationCodeEqualTo(invitationCode);
//查询邀请人
List<UmsMember> invitationMember = memberMapper.selectByExample(queryMember);
if(!invitationMember.isEmpty()){
//关联上级关系
UmsMemberRelationTree newRelation = new UmsMemberRelationTree();
newRelation.setMemberId(umsMember.getId());
newRelation.setHigherLevelId(invitationMember.get(0).getId());
umsMemberRelationTreeMapper.insert(newRelation);
}
}
//初始化会员分销相关表 //初始化会员分销相关表
initDistributionService.initDistributionTable(umsMember.getId()); initDistributionService.initDistributionTable(umsMember.getId());
return CommonResult.success(null, "注册成功"); return CommonResult.success(null, "注册成功");
} }
private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
private static final int STRING_LENGTH = 12;
public static String generateRandomString() {
StringBuilder sb = new StringBuilder(STRING_LENGTH);
Random random = new Random();
for (int i = 0; i < STRING_LENGTH; i++) {
int index = random.nextInt(CHARACTERS.length());
sb.append(CHARACTERS.charAt(index));
}
return sb.toString();
}
@Override @Override
public Map<String, String> login(String telephone, String password) { public Map<String, String> login(String telephone, String password) {
@@ -479,21 +485,86 @@ public class UmsMemberServiceImpl implements UmsMemberService {
String realAuthCode = redisService.get(REDIS_KEY_PREFIX_AUTH_CODE + telephone); String realAuthCode = redisService.get(REDIS_KEY_PREFIX_AUTH_CODE + telephone);
return authCode.equals(realAuthCode); return authCode.equals(realAuthCode);
} }
@Override @Override
public MemberInfoResult getMemberInfo() { public MemberInfoResult getMemberInfo() {
UmsMember loginMember = getCurrentMember(); UmsMember loginMember = new UmsMember();//getCurrentMember();
loginMember.setId(1L);
UmsMember member = memberMapper.selectByPrimaryKey(loginMember.getId()); UmsMember member = memberMapper.selectByPrimaryKey(loginMember.getId());
DmsTeamTotalConsume teamTotalConsume = teamTotalConsumeMapper.selectOneByMemberId(loginMember.getId()); DmsTeamTotalConsume teamTotalConsume = teamTotalConsumeMapper.selectOneByMemberId(loginMember.getId());
OmsOrderExample example = new OmsOrderExample(); OmsOrderExample example = new OmsOrderExample();
example.createCriteria().andMemberIdEqualTo(loginMember.getId()); example.createCriteria().andMemberIdEqualTo(loginMember.getId());
List<OmsOrder> orders = orderMapper.selectByExample(example); List<OmsOrder> orders = orderMapper.selectByExample(example);
//查询流水冻结信息
UmsMemberAccountTransactionExample accountTransactionExample = new UmsMemberAccountTransactionExample();
accountTransactionExample.createCriteria()
.andMemberIdEqualTo(member.getId())
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_NO);
List<UmsMemberAccountTransaction> umatList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
DateTime nowTime = DateTime.now();
BigDecimal freezeTransactionAccount = BigDecimal.ZERO;
if(!umatList.isEmpty()){
BigDecimal balanceTransaction = BigDecimal.ZERO;
for (UmsMemberAccountTransaction accountTransaction : umatList) {
//冻结金额超过24后到账用户账号
if(nowTime.isAfter(accountTransaction.getTransferPaymentTime())){
balanceTransaction = balanceTransaction.add(accountTransaction.getRevenueAmount());
accountTransaction.setTransactionState(UmsMemberAccountTransaction.TRANSACTION_STATE_YES);
umsMemberAccountTransactionMapper.updateByPrimaryKeySelective(accountTransaction);
}else {
freezeTransactionAccount = freezeTransactionAccount.add(accountTransaction.getRevenueAmount());
}
}
if(!balanceTransaction.equals(BigDecimal.ZERO)){
member.setBalance(member.getBalance().add(balanceTransaction));
memberMapper.updateByPrimaryKeySelective(member);
}
}
member.setFreeze(member.getFreeze().add(freezeTransactionAccount));
//查询总收入
BigDecimal totalIncome = BigDecimal.ZERO;
accountTransactionExample = new UmsMemberAccountTransactionExample();
accountTransactionExample.createCriteria()
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
.andMemberIdEqualTo(member.getId());
List<UmsMemberAccountTransaction> totalList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
if(totalList!= null && !totalList.isEmpty()){
Optional<BigDecimal> sum = totalList.stream().map(UmsMemberAccountTransaction::getRevenueAmount).reduce(BigDecimal :: add);
// 检查 Optional 是否包含值
if (sum.isPresent()) {
totalIncome = sum.get();
}
}
//查询今天收入
BigDecimal todayIncome = BigDecimal.ZERO;
accountTransactionExample = new UmsMemberAccountTransactionExample();
accountTransactionExample.createCriteria()
.andTransferPaymentTimeBetween(DateUtil.beginOfDay(nowTime) ,nowTime)
.andTransactionStateEqualTo(UmsMemberAccountTransaction.TRANSACTION_STATE_YES)
.andMemberIdEqualTo(member.getId());
List<UmsMemberAccountTransaction> todayIncomeList = umsMemberAccountTransactionMapper.selectByExample(accountTransactionExample);
if(todayIncomeList!= null && !todayIncomeList.isEmpty()){
Optional<BigDecimal> todaySum = todayIncomeList.stream().map(UmsMemberAccountTransaction::getRevenueAmount).reduce(BigDecimal :: add);
// 检查 Optional 是否包含值
if (todaySum.isPresent()) {
todayIncome = todaySum.get();
}
}
MemberInfoResult result = new MemberInfoResult(); MemberInfoResult result = new MemberInfoResult();
result.setBalance(member.getBalance()); //余额 result.setBalance(member.getBalance()); //余额
result.setFreeze(member.getFreeze()); //冻结余额 result.setFreeze(member.getFreeze()); //冻结余额
result.setCoupon(0); result.setCoupon(0);
result.setTotalIncome(totalIncome.toString());
result.setTodayIncome(todayIncome.toString());
result.setNickname(member.getNickname() == null ? "" : member.getNickname()); result.setNickname(member.getNickname() == null ? "" : member.getNickname());
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon()); result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
result.setGender(member.getGender()); result.setGender(member.getGender());
@@ -503,22 +574,18 @@ public class UmsMemberServiceImpl implements UmsMemberService {
result.setDetailAddress(member.getDetailAddress()); result.setDetailAddress(member.getDetailAddress());
if(MemberLevel.Member.equals(member.getMemberLevel())) { if(MemberLevel.Member.equals(member.getMemberLevel())) {
result.setMemberLevelName("普通会员"); result.setMemberLevelName("普通用户");
} else if(MemberLevel.Consumer.equals(member.getMemberLevel())) { } else if(MemberLevel.Consumer.equals(member.getMemberLevel())) {
result.setMemberLevelName("消费商"); result.setMemberLevelName("vip会员");
} else if(MemberLevel.Partner.equals(member.getMemberLevel())) { } else if(MemberLevel.Partner.equals(member.getMemberLevel())) {
result.setMemberLevelName("经销商"); result.setMemberLevelName("店长");
} else if(MemberLevel.Diamond.equals(member.getMemberLevel())) { } else if(MemberLevel.Diamond.equals(member.getMemberLevel())) {
result.setMemberLevelName("合作商"); result.setMemberLevelName("代理");
} else if(MemberLevel.OneDiamond.equals(member.getMemberLevel())) { } else if(MemberLevel.OneDiamond.equals(member.getMemberLevel())) {
result.setMemberLevelName("初级合作商"); result.setMemberLevelName("市代");
} else if(MemberLevel.TwoDiamond.equals(member.getMemberLevel())) {
result.setMemberLevelName("中级合作商");
} else if(MemberLevel.ThreeDiamond.equals(member.getMemberLevel())) {
result.setMemberLevelName("高级合作商");
} else { } else {
result.setMemberLevelName("特级合作商"); result.setMemberLevelName("市代");
} }
BigDecimal memberTotal = new BigDecimal(0); BigDecimal memberTotal = new BigDecimal(0);

View File

@@ -3,9 +3,9 @@ server:
spring: spring:
datasource: datasource:
url: jdbc:mysql://192.168.31.162:3306/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:mysql://8.137.112.156:3307/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: lion username: root
password: leeqiang password: 1m2y3s4q5l6
druid: druid:
initial-size: 5 #连接池初始化大小 initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数 min-idle: 10 #最小空闲连接数
@@ -18,12 +18,12 @@ spring:
data: data:
mongodb: mongodb:
host: 192.168.31.162 host: 192.168.10.107
port: 40001 port: 40001
database: mall-port database: mall-port
redis: redis:
host: 192.168.31.162 # Redis服务器地址 host: 192.168.10.107 # Redis服务器地址
database: 0 # Redis数据库索引默认为0 database: 0 # Redis数据库索引默认为0
port: 6379 # Redis服务器连接端口 port: 6379 # Redis服务器连接端口
password: leeqiang # Redis服务器连接密码默认为空 password: leeqiang # Redis服务器连接密码默认为空
@@ -79,11 +79,15 @@ logging:
alipay: alipay:
appId: 9021000141666104 appId: 9021000141666104
appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCPp50bwLpQ5ofFcUztw46BTcc1lOGKoyuOtI+biJmgNfysl0nqeDYEriPTZo0pe7gwujrwNSMBKvmKLQ+awQSM7XEQfDj7oGNp1yw5EFjT62tFlIoi7bMueRUZnxQRTkZhNobj6+BfOeMMg0HURVE1VinUr4UVjO7IIODLCkYDURNMfSr3f4paO0odPCRSw47+b6euuzoszd81nfZUa7f6NPBaf6iAn6i2aSPTASlfAW/TZ9IHmVd13tI3pWSpsaMu0KcKZIfTz+l/VazHWQBLACzOF0LJ+eSjsj8aNGOp9Jo82zh+GddK94fElqCjoFQySeYjQ6OErGLsz1Pm6CJhAgMBAAECggEAK+p+0hQqIT9IdGi9rtYgw5DGfK/l/18AmuDCIjcxV9QJSa36b86OHQIre54XO35SAbt89yAXcmzz2nUKFzI4tOiFrxd6yBnxKlMYdt1zel227o+JZ0Ipi+SCOdHy7ZNzWpazyAu9DP+CVLnvrvf96oNLyHRcCAmMmevLLOcYHjz+d56pTS/JblPQWz/WRPkqSJt2FcMKQCbGNhthjHFf+EFF/OGVGTSpS8AW6gytUR/k713UBrrY9eYAsZ+ZA/wAsECQCvRnoxO7zy+7rTlVT+I6kJu+BfUuTgx2FOO4gjQa8ICZI/ncpW+7X7DLhcNA6Yh20T4sY8AlMU3tIoyuQQKBgQDJbzva1J3MpTwUo1FtkWrrne8X58lqKOo7T7+J2xvif3sFd9/nu/R2FX9QoJuxIgHGsl0AA5wsaEReUFf00m542zLQAfOWmPtCQ0D5zzE6MBr2BwUvNHdw0UlYzFqfq0xfty27fwIv3rI60cJ0GnxIrBB9/BaGPX6i7Pv3nXy2iQKBgQC2kY8KWMOT8r+EMs6Lm4tf+lKauYbGLIjZuAcjP1p8NO6B1psTnwQfrI/JBipXxdgwlNyfytYPTah5m2zWDfaUkcbNIu+wXUZCvVUgLi3ZYj0hlOOOzXkYiRg7k9yirzXxjdk3yRGJ0DZqxCMcizNrsQmM1B8nMcg4N+e48bQXGQKBgHzzeBCFZSFFuiAfMuqhks53WJHeoQ0uNiX2kRzlgsWcSGaa9pRb/gelzCTqi8l0C+ACUjgpBR5yyz4p3nWqdwaXCk0HeN+JJAr1hv+u651pq7/DmQ6wIAsmd7YShYCYFLcm/MJaxbOGE87ywQmeSEwYF97emeZJjR1pnd76nRrpAoGABzqeQlefbuVGxhJI8Wg4TZWY3b2I46HxzUUnKzMf/xkNdKCtxUofnK11iA0xcgZIeCv8zGr4rORzTlVkKtmksN9Q0uCWQxJ+bLgYfcy2TgxAxWqi1A24xMrw5bMGIn7zkNwABOB2TFGtRe78QO4WHCaHbUcc8K1c8zTrfPw9GEkCgYB+mMZXsFe8KDOsy+fRdnB2KN+FlZIKKP2ehTGZnj9JENIR6A8//MgC4astniIy/K2JY6EsvPpHzT9nSK0uQBFSIXFgXm4qnVLXATZskKu8mvQgcYcvXKZHdQHNzvn+J53xfxnAcqXtcMPzvLzCoTMcbjKJ8YC0bBr0eNonb4ea5g== appPrivateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCqDUlsRnQwOspHo2wKVIsXNBa7BJbhPkE0Nf4xYJuz41X3I/cNYUmK4PFVbDM65Zu9U3Dmp6DEgwCDiR/mY59szsAMifBtBsYYg2uUV6CYZoFAg4JKs+NWAXUkBqDn53PlLMjhZ0MHeSihTBqvQBTTm/1oQFAC1CuUfiAUTThJmXb4ZtT9CPRNRbxRwwc8e1TI7i0kU59MKJVH5q+WDKDQxJi3QKdT6S0KRQBn+W64dBj/MKRiAoi1v0/eCdlTxBt+u32h4sxvfZHYnWeAg2LdKO3T/Zq7jLiyOHl5STzz66Iw3Jpxmx1dprSTRdcDZiL1r4PGir+Btj8PKGN0K24LAgMBAAECggEAPtTv9yDFF3jxeqzIY7y/M9CcQXe9o/YTs43roST4AuyRu+I/C2OR/82DfjOfbjieZcLp6V+wiEt7Kh7FeaP/qP1venKRMkeZdD9Cxanm/ciKI2M0BhQXgJTDSo9kbqtXaCs3Agnce2tp9sce6Pf9ef6eECILLjBk9dXwVm/9xzthrjq8vzkmyLrJcrwVrp3X0zR1hbJJduC/RsUlV9rdMPx7jUxbmM3cRvEuG/zjZECgE5zrEuKoWNa/fV+X4Ao11WEzUmjXnJ6D9C2P1m5oU5bWFKfOV4mmG/bgpqPEB53L+553TlEiSwfYJSCWFyOxxqQo0MZrWW0HNQ5bgArYWQKBgQDYhska+wUhRwUlQzgzEsiDd2z+PjPvPXIMGJCKczWd1kfzO1xQWtI3vVu91JQrgTXfCx88b/Vv0buxli06C/YRSiUC7Qo+RDaRhmFihGVlbQwUNT7XXOm4WJYGf7W3Ykh5pQOQ/9XQfUa3X8WAo1mMqXx4C4hwUOxgal9HnoVYpwKBgQDJDYxQmGQ9keQrCZ7mh4+2zatWI/CmwJ2gcBBr+pGw2LPOIq0Xf0u+PmbP5mKt0msJlYtN1bidPxHFSjqi0L4WjsxIfmYKJvEGJk1xIB9mDCnmPOG5g1JPMHet1Ygz4soey2bULLMOpe6Es8jI5MAsgtYB+92SCelV8oaa79/H/QKBgQCwlSOXHFYvsGKy4+IGTPA3vwKlSYdDOaIz2SivsItuYF2nMKb1ZUwBZy1VX/NCk4qijsh3mnrYKXxftLDHoQ+ZRBVxEG2FIE48WhI7rOugTtFF/bJ1InH9BEm9nRNOLhobEocZDnuKH1C3paRFZ3JVc7dtk0I/Ds/nRXjUyKPJCwKBgQCoNyasFCTigtslyyHg/ZEXwNLW+rERw9zebITA41/cWCNwmAC8xSvpW6qHzdnIV2JpHW71S5jwL+G9cRLIQOCaXRW8nczgN563p3pp6Rd8OTchRNUTczV9vi6UCjGwP9Mems5JPbD+04RSEV4v/3xugXVvKX1D//jziTxoC8TvPQKBgDsYbBYdQFUorIvzLIZVI4a+AON1s0FfVayOl8LZzZRH5v7DCD82rxAQkbb3YfcXTdDtdZd+CiKDsxsIupBMkBHqdwLzJtVXhj49sqkRgYfS8lwO7+MRps9PhmH+HC32CkTRmE0Oti7cSNziV8464L5tWAC+UEm2MB/MNrnF6qQT
alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6dBwV5KsJHqqvxh29bkGxEW8eIb8WJx6Ax5NuERvbM5BcTKEe/yse/mCR5OEZSWSNnxa3SQCql50xcxt0cfSe/QcmXP+Mi6sY07LO2/tK+N8PhYWzKunnq+KbanQ+R0wGw4oVl02g/vXx097aWiDZdLcHu8No78b6VIy79EsqThbiQuqJdmFkXfrePzKxNbIrAr4ENZJVcmp2+/LU7LrdAqgnlzyx4Ya0begj7d/MPz+weteSmoyBeAH2xzPiKpdOtR5HdKyaaTIRBGyr+BTYMdyeZYrGtB7HNPv2ydAHJwiQj88dDCCGhCRyDLpLdF15xZGLxTq8FlqKzfzut/UowIDAQAB alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqg1JbEZ0MDrKR6NsClSLFzQWuwSW4T5BNDX+MWCbs+NV9yP3DWFJiuDxVWwzOuWbvVNw5qegxIMAg4kf5mOfbM7ADInwbQbGGINrlFegmGaBQIOCSrPjVgF1JAag5+dz5SzI4WdDB3kooUwar0AU05v9aEBQAtQrlH4gFE04SZl2+GbU/Qj0TUW8UcMHPHtUyO4tJFOfTCiVR+avlgyg0MSYt0CnU+ktCkUAZ/luuHQY/zCkYgKItb9P3gnZU8Qbfrt9oeLMb32R2J1ngINi3Sjt0/2au4y4sjh5eUk88+uiMNyacZsdXaa0k0XXA2Yi9a+Dxoq/gbY/DyhjdCtuCwIDAQAB
serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
format: json format: json
charset: UTF-8 charset: UTF-8
signType: RSA2 signType: RSA2
payCallBackUrl: https://yusenrong.507buy.com/member/order/alipay/callback payCallBackUrl: https://csj-meeting-room.excn.vip/api/member/order/alipay/callback
# 成为vip金额
becomeVipAmount: 899
# 同等级分润比例
sameLevelProfit: 10

View File

@@ -3,9 +3,9 @@ server:
spring: spring:
datasource: datasource:
url: jdbc:mysql://localhost:3306/ysr_mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai url: jdbc:mysql://8.137.112.156:3307/hui-mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root username: root
password: yusenrong@admin password: 1m2y3s4q5l6
druid: druid:
initial-size: 5 #连接池初始化大小 initial-size: 5 #连接池初始化大小
min-idle: 10 #最小空闲连接数 min-idle: 10 #最小空闲连接数
@@ -18,15 +18,15 @@ spring:
data: data:
mongodb: mongodb:
host: localhost host: host.docker.internal
port: 27017 port: 27017
database: mall-port database: mall-port
redis: redis:
host: localhost # Redis服务器地址 host: redis.excn.vip # Redis服务器地址
database: 0 # Redis数据库索引默认为0 database: 0 # Redis数据库索引默认为0
port: 6379 # Redis服务器连接端口 port: 6380 # Redis服务器连接端口
password: redis # Redis服务器连接密码默认为空 password: ueredis # Redis服务器连接密码默认为空
jedis: jedis:
pool: pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制) max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
@@ -36,7 +36,7 @@ spring:
timeout: 3000ms # 连接超时时间(毫秒) timeout: 3000ms # 连接超时时间(毫秒)
rabbitmq: rabbitmq:
host: localhost host: host.docker.internal
port: 5672 port: 5672
virtual-host: /mall virtual-host: /mall
username: mall username: mall
@@ -78,11 +78,16 @@ logging:
path: /var/logs path: /var/logs
alipay: alipay:
appId: your_app_id appId: 9021000141666104
appPrivateKey: your_app_private_key appPrivateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCqDUlsRnQwOspHo2wKVIsXNBa7BJbhPkE0Nf4xYJuz41X3I/cNYUmK4PFVbDM65Zu9U3Dmp6DEgwCDiR/mY59szsAMifBtBsYYg2uUV6CYZoFAg4JKs+NWAXUkBqDn53PlLMjhZ0MHeSihTBqvQBTTm/1oQFAC1CuUfiAUTThJmXb4ZtT9CPRNRbxRwwc8e1TI7i0kU59MKJVH5q+WDKDQxJi3QKdT6S0KRQBn+W64dBj/MKRiAoi1v0/eCdlTxBt+u32h4sxvfZHYnWeAg2LdKO3T/Zq7jLiyOHl5STzz66Iw3Jpxmx1dprSTRdcDZiL1r4PGir+Btj8PKGN0K24LAgMBAAECggEAPtTv9yDFF3jxeqzIY7y/M9CcQXe9o/YTs43roST4AuyRu+I/C2OR/82DfjOfbjieZcLp6V+wiEt7Kh7FeaP/qP1venKRMkeZdD9Cxanm/ciKI2M0BhQXgJTDSo9kbqtXaCs3Agnce2tp9sce6Pf9ef6eECILLjBk9dXwVm/9xzthrjq8vzkmyLrJcrwVrp3X0zR1hbJJduC/RsUlV9rdMPx7jUxbmM3cRvEuG/zjZECgE5zrEuKoWNa/fV+X4Ao11WEzUmjXnJ6D9C2P1m5oU5bWFKfOV4mmG/bgpqPEB53L+553TlEiSwfYJSCWFyOxxqQo0MZrWW0HNQ5bgArYWQKBgQDYhska+wUhRwUlQzgzEsiDd2z+PjPvPXIMGJCKczWd1kfzO1xQWtI3vVu91JQrgTXfCx88b/Vv0buxli06C/YRSiUC7Qo+RDaRhmFihGVlbQwUNT7XXOm4WJYGf7W3Ykh5pQOQ/9XQfUa3X8WAo1mMqXx4C4hwUOxgal9HnoVYpwKBgQDJDYxQmGQ9keQrCZ7mh4+2zatWI/CmwJ2gcBBr+pGw2LPOIq0Xf0u+PmbP5mKt0msJlYtN1bidPxHFSjqi0L4WjsxIfmYKJvEGJk1xIB9mDCnmPOG5g1JPMHet1Ygz4soey2bULLMOpe6Es8jI5MAsgtYB+92SCelV8oaa79/H/QKBgQCwlSOXHFYvsGKy4+IGTPA3vwKlSYdDOaIz2SivsItuYF2nMKb1ZUwBZy1VX/NCk4qijsh3mnrYKXxftLDHoQ+ZRBVxEG2FIE48WhI7rOugTtFF/bJ1InH9BEm9nRNOLhobEocZDnuKH1C3paRFZ3JVc7dtk0I/Ds/nRXjUyKPJCwKBgQCoNyasFCTigtslyyHg/ZEXwNLW+rERw9zebITA41/cWCNwmAC8xSvpW6qHzdnIV2JpHW71S5jwL+G9cRLIQOCaXRW8nczgN563p3pp6Rd8OTchRNUTczV9vi6UCjGwP9Mems5JPbD+04RSEV4v/3xugXVvKX1D//jziTxoC8TvPQKBgDsYbBYdQFUorIvzLIZVI4a+AON1s0FfVayOl8LZzZRH5v7DCD82rxAQkbb3YfcXTdDtdZd+CiKDsxsIupBMkBHqdwLzJtVXhj49sqkRgYfS8lwO7+MRps9PhmH+HC32CkTRmE0Oti7cSNziV8464L5tWAC+UEm2MB/MNrnF6qQT
alipayPublicKey: your_alipay_public_key alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqg1JbEZ0MDrKR6NsClSLFzQWuwSW4T5BNDX+MWCbs+NV9yP3DWFJiuDxVWwzOuWbvVNw5qegxIMAg4kf5mOfbM7ADInwbQbGGINrlFegmGaBQIOCSrPjVgF1JAag5+dz5SzI4WdDB3kooUwar0AU05v9aEBQAtQrlH4gFE04SZl2+GbU/Qj0TUW8UcMHPHtUyO4tJFOfTCiVR+avlgyg0MSYt0CnU+ktCkUAZ/luuHQY/zCkYgKItb9P3gnZU8Qbfrt9oeLMb32R2J1ngINi3Sjt0/2au4y4sjh5eUk88+uiMNyacZsdXaa0k0XXA2Yi9a+Dxoq/gbY/DyhjdCtuCwIDAQAB
serverUrl: https://openapi.alipay.com/gateway.do serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
format: json format: json
charset: UTF-8 charset: UTF-8
signType: RSA2 signType: RSA2
payCallBackUrl: https://yusenrong.507buy.com/member/order/alipay/callback payCallBackUrl: https://csj-meeting-room.excn.vip/api/member/order/alipay/callback
# 成为vip金额
becomeVipAmount: 899
# 同等级分润比例
sameLevelProfit: 10

View File

@@ -0,0 +1,52 @@
package com.buy507.mall.portal;
import com.buy507.mall.portal.service.OmsPortalOrderService;
import com.buy507.mall.portal.service.UmsMemberService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.HashMap;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
public class OmsPortalOrderServiceTest {
@Autowired
private OmsPortalOrderService portalOrderService;
/**
* 支付宝回调逻辑 测试
*/
@Test
public void alipayCallbackTest() {
Map params = new HashMap<>();
params.put("trade_status", "TRADE_SUCCESS");
params.put("out_trade_no", "23123wwww2");
portalOrderService.alipayCallback(params);
}
@Autowired
private UmsMemberService memberService;
@Test
public void getMemberInfoTest() {
memberService.getMemberInfo();
}
@Test
public void registerTest() {
memberService.register("123213111www", "123sad", "dss", "S4ZG2D2D0JCS");
}
}