Compare commits
No commits in common. "6267b5fb07223c030b88a52ed43756efd285d96a" and "6183f775c0a552451f08633afa5fc72dee78685d" have entirely different histories.
6267b5fb07
...
6183f775c0
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.member.account.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
|
@ -7,7 +8,12 @@ import lombok.NoArgsConstructor;
|
|||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-银行卡信息
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ package com.hzs.member.base;
|
|||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
|
|
@ -31,14 +29,6 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<LoginMember> getMemberInfo(String memberCode);
|
||||
|
||||
/**
|
||||
* 通过会员编码查询分享会员信息
|
||||
*
|
||||
* @param memberCode 会员编号
|
||||
* @return
|
||||
*/
|
||||
R<LoginMember> getShareMemberInfo(String memberCode);
|
||||
|
||||
/**
|
||||
* 根据会员ID获取会员信息(查库)
|
||||
*
|
||||
|
|
@ -97,6 +87,7 @@ public interface IMemberServiceApi {
|
|||
* 撤销会员账户余额
|
||||
**/
|
||||
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder);
|
||||
|
||||
/**
|
||||
* 查找安置人伞下
|
||||
*
|
||||
|
|
@ -172,13 +163,6 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
|
||||
|
||||
/**
|
||||
* 处理新会员,生成主键,跟会员编号
|
||||
*
|
||||
* @param cuMember 会员
|
||||
*/
|
||||
R<CuMember> createMemberIdAndCode(CuMember cuMember);
|
||||
|
||||
/**
|
||||
* 创建注册会员编号(放入会员编号批次占用)
|
||||
*
|
||||
|
|
@ -220,13 +204,6 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<List<CuMemberExt>> findMemberByMemberId(List<Long> pkMemberList, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 根据会员主键查询会员注册信息
|
||||
*
|
||||
* @param pkMember 会员主键
|
||||
*/
|
||||
R<CuMemberRegister> queryCuMemberRegister(Long pkMember);
|
||||
|
||||
/*
|
||||
* 会员编号,账户类型,抽奖金额
|
||||
**/
|
||||
|
|
@ -386,11 +363,4 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<String> checkRegisterRelation(String phone, String parentCode);
|
||||
|
||||
|
||||
/**
|
||||
* 查询分享会员
|
||||
*
|
||||
* @param pkMember 主键
|
||||
*/
|
||||
R<CuMemberShare> queryCuMemberShare(Long pkMember);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.hzs.member.base.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
|
@ -64,11 +63,6 @@ public class LoginMember implements Serializable {
|
|||
*/
|
||||
private CuMemberExt cuMember;
|
||||
|
||||
/**
|
||||
* 分享会员信息(分享注册会员使用)
|
||||
*/
|
||||
private CuMemberShare cuMemberShare;
|
||||
|
||||
/**
|
||||
* 结算国家(此字段实体不存值,只做部分业务传递参数使用)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -5,15 +5,20 @@ import com.hzs.third.bankcard.dto.BankCardParam;
|
|||
|
||||
/**
|
||||
* 银行卡四要素认证
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/2/9 14:04
|
||||
* @Classname: BankCardService
|
||||
* @Package_name: com.hzs.third.bankCard
|
||||
*/
|
||||
public interface IBankCardServiceApi {
|
||||
|
||||
/**
|
||||
* 银行卡四要素验证
|
||||
*
|
||||
* @param bankCardParam 银行卡入参
|
||||
* @return R
|
||||
*/
|
||||
R<?> verifyBankCard(BankCardParam bankCardParam);
|
||||
R verifyBankCard(BankCardParam bankCardParam);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,12 @@ import java.io.Serializable;
|
|||
|
||||
/**
|
||||
* 银行卡校验参数
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2022/11/24 18:19
|
||||
* @Classname: BankCardVO
|
||||
* @Package_name: com.hz.bankCard.vo
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
|
@ -22,10 +28,12 @@ public class BankCardParam implements Serializable {
|
|||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
package com.hzs.bonus.achieve.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||
|
||||
/**
|
||||
* 日结算阶段表 Mapper 接口
|
||||
*/
|
||||
public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDetail> {
|
||||
|
||||
}
|
||||
|
|
@ -3,9 +3,6 @@ package com.hzs.bonus.achieve.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -85,27 +82,4 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
|||
void mergeCuMemberRetailRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
|
||||
|
||||
|
||||
/**
|
||||
* 向上查找所有parentID
|
||||
* @param pkMember
|
||||
* @return
|
||||
*/
|
||||
List<CuMemberExt> findParentMemberList(@Param("pkMember") Long pkMember);
|
||||
|
||||
|
||||
/**
|
||||
* 更新自己秒结
|
||||
* @param tableName
|
||||
* @param orderExt
|
||||
* @param cuMember
|
||||
*/
|
||||
void updateMemberRetailSecondRangeSelf(@Param("tableName") String tableName, @Param("orderExt") SaOrderExt orderExt, @Param("cuMember") CuMember cuMember, @Param("updateType") Integer updateType, @Param("symbol") String symbol);
|
||||
|
||||
/**
|
||||
* 更新上级秒结
|
||||
* @param tableName
|
||||
* @param orderExt
|
||||
* @param memberList
|
||||
*/
|
||||
void updateMemberRetailSecondRangeParent(@Param("tableName") String tableName, @Param("orderExt") SaOrderExt orderExt, @Param("memberList") List<CuMemberExt> memberList, @Param("updateType") Integer updateType, @Param("symbol") String symbol);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,26 +21,12 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
void createCuMemberTreeTable(String tableName);
|
||||
|
||||
/**
|
||||
* 创建会员结算记录表(按照日记录,每天一条)
|
||||
* 创建会员网体结算记录表(按照日记录,每天一条,记录30天的)
|
||||
*
|
||||
* @param tableName 日期
|
||||
*/
|
||||
void createCuMemberSettleTable(String tableName);
|
||||
|
||||
/**
|
||||
* 创建结算明细表
|
||||
*
|
||||
* @param tableName
|
||||
*/
|
||||
void createCuMemberRetailDetail(String tableName);
|
||||
|
||||
/**
|
||||
* 创建结算明细表会员索引
|
||||
*
|
||||
* @param tableName
|
||||
*/
|
||||
void createCuMemberRetailDetailMemberIndex(String tableName);
|
||||
|
||||
/*
|
||||
* 创建会员网体复购极差结算表
|
||||
**/
|
||||
|
|
@ -125,6 +111,16 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
|||
void updateCuMemberRetailRangeAwardByDate(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate,
|
||||
@Param("awardType") Integer awardType);
|
||||
|
||||
/**
|
||||
* 初始化期间奖衔
|
||||
*/
|
||||
void updateCuMemberRetailRangeInitAward(@Param("rangeTableName") String rangeTableName);
|
||||
|
||||
/**
|
||||
* 初始化期间V5奖衔
|
||||
*/
|
||||
void updateCuMemberRetailRangeInitV5Award(@Param("rangeTableName") String rangeTableName);
|
||||
|
||||
/**
|
||||
* 根据订单,查询出网体中记录的会员数据,推荐人、安置人
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
package com.hzs.bonus.achieve.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||
|
||||
/**
|
||||
* 日结算阶段表 服务类
|
||||
*/
|
||||
public interface ICuMemberRetailDetailService extends IService<CuMemberRetailDetail> {
|
||||
|
||||
}
|
||||
|
|
@ -3,10 +3,7 @@ package com.hzs.bonus.achieve.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
|
@ -73,11 +70,4 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
|
|||
* @param cuMemberTreeMap 树
|
||||
*/
|
||||
void updateCuMemberSecondRange(String secondTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
|
||||
|
||||
List<CuMemberExt> findParentMemberList(Long pkMember);
|
||||
|
||||
void updateMemberRetailSecondRangeSelf(String settleTableName, SaOrderExt orderExt, CuMember pkMember, Integer updateType, String symbol);
|
||||
|
||||
void updateMemberRetailSecondRangeParent(String settleTableName, SaOrderExt orderExt, List<CuMemberExt> pkMemberList, Integer updateType, String symbol);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,11 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
|||
**/
|
||||
void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate);
|
||||
|
||||
/**
|
||||
* 初始化期间奖衔
|
||||
*/
|
||||
void updateCuMemberRetailRangeInitAward(String rangeTableName);
|
||||
|
||||
/**
|
||||
* 删除日表数据
|
||||
*
|
||||
|
|
|
|||
|
|
@ -99,15 +99,15 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
|||
cuMemberAchieve.setRepNewAmount(saOrder.getOrderAmount());
|
||||
cuMemberAchieve.setRepNewPv(saOrder.getOrderAchieve());
|
||||
}
|
||||
// String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime());
|
||||
// int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId();
|
||||
// String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime);
|
||||
// for (int i = 7; i > 0; i--) {
|
||||
// String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS));
|
||||
// int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||
// String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
|
||||
// baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
|
||||
// }
|
||||
String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime());
|
||||
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId();
|
||||
String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime);
|
||||
for (int i = 7; i > 0; i--) {
|
||||
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS));
|
||||
int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||
String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
|
||||
baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
package com.hzs.bonus.achieve.service.impl;
|
||||
|
||||
import com.hzs.bonus.achieve.mapper.CuMemberRetailDetailMapper;
|
||||
import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 日结算阶段表 服务实现类
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailDetailMapper, CuMemberRetailDetail> implements ICuMemberRetailDetailService {
|
||||
|
||||
}
|
||||
|
|
@ -4,13 +4,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
|
||||
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.enums.EOrderType;
|
||||
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
|
||||
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -101,21 +97,6 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
|
|||
treeList.forEach(list -> baseMapper.mergeCuMemberSecondRange(secondTableName, list));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CuMemberExt> findParentMemberList(Long pkMember) {
|
||||
return baseMapper.findParentMemberList(pkMember);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMemberRetailSecondRangeSelf(String settleTableName, SaOrderExt orderExt, CuMember cuMember, Integer updateType, String symbol) {
|
||||
baseMapper.updateMemberRetailSecondRangeSelf(settleTableName, orderExt, cuMember, updateType, symbol);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMemberRetailSecondRangeParent(String settleTableName, SaOrderExt orderExt, List<CuMemberExt> pkMemberList, Integer updateType, String symbol) {
|
||||
baseMapper.updateMemberRetailSecondRangeParent(settleTableName, orderExt, pkMemberList, updateType, symbol);
|
||||
}
|
||||
|
||||
private List<List<?>> setUpdCuMemberTreeLists(Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap) {
|
||||
List<CuMemberRetailRangeExt> cuMemberTreeList = new ArrayList<>();
|
||||
cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value));
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
Integer number = baseMapper.queryExistOracleTable(settleTableName);
|
||||
if (number == null || number <= 0) {
|
||||
baseMapper.createCuMemberSettleTable(settleTableName);
|
||||
// baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName);
|
||||
// baseMapper.createCuMemberTreeParentIndex(settleTableName);
|
||||
// baseMapper.createCuMemberTreePlaceIndex(settleTableName);
|
||||
baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName);
|
||||
baseMapper.createCuMemberTreeParentIndex(settleTableName);
|
||||
baseMapper.createCuMemberTreePlaceIndex(settleTableName);
|
||||
}
|
||||
// 创建结算记录表
|
||||
// 创建新零售级差结算记录表
|
||||
String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
|
||||
number = baseMapper.queryExistOracleTable(retailRangeTableName);
|
||||
if (number == null || number <= 0) {
|
||||
|
|
@ -54,13 +54,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
if (number == null || number <= 0) {
|
||||
baseMapper.insertCuMemberRetailRangeByMember(retailRangeTableName);
|
||||
}
|
||||
// 创建结算明细表
|
||||
String retailRangeTableDetailName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + period;;
|
||||
number = baseMapper.queryExistOracleTable(retailRangeTableDetailName);
|
||||
if (number == null || number <= 0) {
|
||||
baseMapper.createCuMemberRetailDetail(retailRangeTableDetailName);
|
||||
baseMapper.createCuMemberRetailDetailMemberIndex(retailRangeTableDetailName);
|
||||
}
|
||||
|
||||
// 创建月表记录表
|
||||
createMonthTreeTableName(date);
|
||||
|
|
@ -121,6 +114,12 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
|||
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.SHARE_TYPE.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCuMemberRetailRangeInitAward(String rangeTableName) {
|
||||
baseMapper.updateCuMemberRetailRangeInitAward(rangeTableName);
|
||||
baseMapper.updateCuMemberRetailRangeInitV5Award(rangeTableName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void truncateCuMemberTreeTable(String tableName) {
|
||||
baseMapper.truncateCuMemberTreeTable(tableName);
|
||||
|
|
|
|||
|
|
@ -22,10 +22,4 @@ public interface IBonusSettleService {
|
|||
*/
|
||||
void calculateCuMemberRetailRangeBonusBySaOrder(String orderCode);
|
||||
|
||||
/**
|
||||
* 计算秒结表数据
|
||||
* @param orderExt
|
||||
*/
|
||||
void calculateCuMemberRetailRangeBySaOrder(SaOrderExt orderExt);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -295,6 +295,12 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
iCuMemberRetailRangeService.mergeMemberRetailRangeByYesterday(settleEndDate, rangeTableName, yesterdayRangeTableName, isSameMonth);
|
||||
|
||||
if (retailOrderList.size() > 0) {
|
||||
// 复购订单级差数据map(key:订单ID,value:订单明细+级差)
|
||||
Map<Long, List<SaOrderItemsExt>> rangeOrderMap = new HashMap<>();
|
||||
if (CollectionUtil.isNotEmpty(repurchaseOrderList)) {
|
||||
rangeOrderMap = iBonusOrderService.getWaresRange(repurchaseOrderList);
|
||||
}
|
||||
|
||||
// 按照血缘,查询该会员所有伞上会员
|
||||
List<CuMemberRetailRangeExt> memberRetailRangeExtList = iCuMemberRetailRangeService.queryCuMemberRetailRangeParent(rangeTableName, retailOrderList);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
package com.hzs.bonus.bonus.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
|
||||
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
|
||||
import com.hzs.bonus.base.service.ICuMemberService;
|
||||
import com.hzs.bonus.bonus.service.*;
|
||||
import com.hzs.bonus.bonus.vo.BonusRecordDetailVO;
|
||||
import com.hzs.bonus.order.service.IBonusOrderService;
|
||||
|
|
@ -12,9 +9,7 @@ import com.hzs.common.core.constant.MagicNumberConstants;
|
|||
import com.hzs.common.core.constant.TableNameConstants;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.bonus.*;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.system.config.IBonusItemsServiceApi;
|
||||
import com.hzs.system.config.dto.BonusConfigDTO;
|
||||
|
|
@ -52,11 +47,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
@Autowired
|
||||
private ICuMemberBonusDetailService cuMemberBonusDetailService;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberRetailRangeService iCuMemberRetailRangeService;
|
||||
@Autowired
|
||||
private ICuMemberService cuMemberService;
|
||||
|
||||
|
||||
/**
|
||||
* 保存会员奖金
|
||||
|
|
@ -165,29 +155,6 @@ public class BonusSettleServiceImpl implements IBonusSettleService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calculateCuMemberRetailRangeBySaOrder(SaOrderExt orderExt) {
|
||||
Integer updateType = null;
|
||||
String symbol = orderExt.getCancelBool() ? "-" : "+";
|
||||
if(orderExt.getOrderType().equals(EOrderType.RETAIL_REGISTER.getValue())){
|
||||
updateType = 1;
|
||||
}else if(orderExt.getOrderType().equals(EOrderType.RETAIL_REPURCHASE.getValue())){
|
||||
updateType = 2;
|
||||
}
|
||||
if(ObjectUtil.isEmpty(updateType)){
|
||||
return;
|
||||
}
|
||||
// 今天结算期数
|
||||
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, orderExt.getPayTime());
|
||||
int currentPeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||
// 秒结表名
|
||||
String secondRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_S + currentPeriod;
|
||||
List<CuMemberExt> memberList = iCuMemberRetailRangeService.findParentMemberList(orderExt.getPkMember());
|
||||
CuMember self = cuMemberService.getById(orderExt.getPkId());
|
||||
iCuMemberRetailRangeService.updateMemberRetailSecondRangeSelf(secondRangeTableName, orderExt, self, updateType, symbol);
|
||||
iCuMemberRetailRangeService.updateMemberRetailSecondRangeParent(secondRangeTableName, orderExt, memberList, updateType, symbol);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算每天的奖金入库
|
||||
*
|
||||
|
|
|
|||
|
|
@ -39,6 +39,12 @@ public class CuMemberAwardsServiceImpl extends ServiceImpl<CuMemberAwardsMapper,
|
|||
|
||||
@Override
|
||||
public void calculateCuMemberRetailRangeAwardsInit(String settleDate, Integer period, String rangeTableName) {
|
||||
if (settleDate.endsWith("01")) {
|
||||
// 每月1号初始化结算表奖衔(月度奖衔归0,V5给S1奖衔)
|
||||
iCuMemberTreeService.updateCuMemberRetailRangeInitAward(rangeTableName);
|
||||
// 每月1号初始化会员表奖衔(月度奖衔归0,V5给S1奖衔)
|
||||
iCuMemberService.updateCuMemberRetailRangeInitAward();
|
||||
}
|
||||
// 回退结算表奖衔
|
||||
iCuMemberTreeService.updateBackCuMemberRetailRangeAward(rangeTableName, period);
|
||||
// 回退会员表奖衔
|
||||
|
|
|
|||
|
|
@ -47,10 +47,10 @@ public class SaOrderSecondListener {
|
|||
if (saOrderExt.getCancelBool() != null && saOrderExt.getCancelBool()) {
|
||||
cuMemberRetailLog.setCancelStatus(EYesNo.YES.getIntValue());
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
// iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode());
|
||||
iBonusSettleService.calculateCuMemberRetailRangeBySaOrder(saOrderExt);
|
||||
iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(saOrderExt.getOrderCode());
|
||||
} catch (Exception e) {
|
||||
cuMemberRetailLog.setEnableStatus(EYesNo.NO.getIntValue());
|
||||
cuMemberRetailLog.setMsg(e.getMessage());
|
||||
|
|
|
|||
|
|
@ -41,4 +41,12 @@ public interface BonusOrderMapper {
|
|||
@Param("endDate") Date endDate,
|
||||
@Param("orderType") List<Integer> orderType);
|
||||
|
||||
/**
|
||||
* 查询订单商品级差数据
|
||||
*
|
||||
* @param orderList 订单列表
|
||||
* @return
|
||||
*/
|
||||
List<SaOrderItemsExt> listOrderWaresRange(@Param("orderList") List<SaOrderExt> orderList);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,4 +32,12 @@ public interface IBonusOrderService {
|
|||
*/
|
||||
List<SaOrder> listSaOrderByTime(Date startDate, Date endDate, List<Integer> orderType);
|
||||
|
||||
/**
|
||||
* 查询商品级差数据
|
||||
*
|
||||
* @param orderList
|
||||
* @return
|
||||
*/
|
||||
Map<Long, List<SaOrderItemsExt>> getWaresRange(List<SaOrderExt> orderList);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,4 +41,26 @@ public class BonusOrderServiceImpl implements IBonusOrderService {
|
|||
return bonusOrderMapper.listSaOrderByTime(startDate, endDate, orderType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, List<SaOrderItemsExt>> getWaresRange(List<SaOrderExt> orderList) {
|
||||
Map<Long, List<SaOrderItemsExt>> resultMap = new HashMap<>();
|
||||
|
||||
List<SaOrderItemsExt> resultList = new ArrayList<>();
|
||||
List<List<?>> handleCutList = cuMemberBonusSettle.handleCutList(orderList, MagicNumberConstants.BATCH_UPDATE_NUM);
|
||||
handleCutList.forEach(list -> {
|
||||
resultList.addAll(bonusOrderMapper.listOrderWaresRange(orderList));
|
||||
});
|
||||
for (SaOrderItemsExt saOrderItemsExt : resultList) {
|
||||
if (resultMap.containsKey(saOrderItemsExt.getPkOrder())) {
|
||||
resultMap.get(saOrderItemsExt.getPkOrder()).add(saOrderItemsExt);
|
||||
} else {
|
||||
List<SaOrderItemsExt> tmpList = new ArrayList<>();
|
||||
tmpList.add(saOrderItemsExt);
|
||||
resultMap.put(saOrderItemsExt.getPkOrder(), tmpList);
|
||||
}
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<?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.hzs.bonus.achieve.mapper.CuMemberRetailDetailMapper">
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -38,6 +38,7 @@
|
|||
<result column="TEAM_MONTH_AMOUNT" property="teamMonthAmount"/>
|
||||
<result column="RECOMMEND_NUM" property="recommendNum"/>
|
||||
<result column="TEAM_NUM" property="teamNum"/>
|
||||
<result column="REGION_ADDRESS" property="regionAddress"/>
|
||||
<result column="GRADE_VALUE" property="gradeValue"/>
|
||||
<result column="GRADE_NAME" property="gradeName"/>
|
||||
<result column="AWARDS_NAME" property="awardsName"/>
|
||||
|
|
@ -49,10 +50,12 @@
|
|||
<result column="BENEFIT_SHARE_RATIO" property="benefitShareRatio"/>
|
||||
<result column="coach_algebra" property="coachAlgebra"/>
|
||||
<result column="coach_ratio" property="coachRatio"/>
|
||||
<result column="COUNTRY_NAME" property="countryName"/>
|
||||
<result column="big_team_pv" property="bigTeamPv"/>
|
||||
<result column="small_team_pv" property="smallTeamPv"/>
|
||||
<result column="region_vertex_pk_id" property="regionVertexPkId"/>
|
||||
|
||||
<result column="all_new_consume_pv" property="allNewConsumePv"/>
|
||||
<result column="all_team_new_pv" property="allTeamNewPv"/>
|
||||
<result column="all_team_consume_pv" property="allTeamConsumePv"/>
|
||||
<result column="all_team_month_pv" property="allTeamMonthPv"/>
|
||||
|
|
@ -73,8 +76,12 @@
|
|||
team_num = 0,
|
||||
enable_status = 1,
|
||||
pk_grade = (select pk_id from bd_grade where del_flag = 0 and grade_value = 20),
|
||||
region_address = 0,
|
||||
big_team_pv = 0,
|
||||
small_team_pv = 0
|
||||
small_team_pv = 0,
|
||||
all_team_new_pv = 0,
|
||||
all_team_consume_pv = 0,
|
||||
all_team_month_pv = 0
|
||||
</update>
|
||||
|
||||
<update id="mergeMemberRetailRangeByYesterday">
|
||||
|
|
@ -85,7 +92,8 @@
|
|||
team_new_pv, team_consume_pv, team_month_pv,
|
||||
team_new_amount, team_consume_amount, team_month_amount,
|
||||
recommend_num, team_num,
|
||||
big_team_pv, small_team_pv
|
||||
big_team_pv, small_team_pv,
|
||||
all_team_new_pv, all_team_consume_pv, all_team_month_pv
|
||||
from ${yesterdayRangeTableName}
|
||||
) b
|
||||
on (a.pk_member = b.pk_member)
|
||||
|
|
@ -97,11 +105,14 @@
|
|||
a.recommend_num = b.recommend_num, a.team_num = b.team_num,
|
||||
a.pk_grade = b.pk_grade,
|
||||
a.enable_status = b.enable_status,
|
||||
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv
|
||||
a.big_team_pv = b.big_team_pv, a.small_team_pv = b.small_team_pv,
|
||||
a.all_team_new_pv = b.all_team_new_pv,
|
||||
a.all_team_consume_pv = b.all_team_consume_pv
|
||||
<if test="isSameMonth == 0">
|
||||
,a.month_consume_pv = b.month_consume_pv
|
||||
,a.team_month_pv = b.team_month_pv
|
||||
,a.team_month_amount = b.team_month_amount
|
||||
,a.all_team_month_pv = b.all_team_month_pv
|
||||
</if>
|
||||
</update>
|
||||
|
||||
|
|
@ -113,7 +124,10 @@
|
|||
#{item.newConsumePv} new_consume_pv, #{item.consumePv} consume_pv, #{item.monthConsumePv} month_consume_pv,
|
||||
#{item.teamNewPv} team_new_pv, #{item.teamConsumePv} team_consume_pv, #{item.teamMonthPv} team_month_pv,
|
||||
#{item.teamNewAmount} team_new_amount, #{item.teamConsumeAmount} team_consume_amount, #{item.teamMonthAmount} team_month_amount,
|
||||
#{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status
|
||||
#{item.recommendNum} recommend_num, #{item.teamNum} team_num, #{item.enableStatus} enable_status,
|
||||
#{item.allTeamNewPv} all_team_new_pv,
|
||||
#{item.allTeamConsumePv} all_team_consume_pv,
|
||||
#{item.allTeamMonthPv} all_team_month_pv
|
||||
from dual
|
||||
</foreach>
|
||||
) b
|
||||
|
|
@ -123,7 +137,10 @@
|
|||
a.new_consume_pv = b.new_consume_pv, a.consume_pv = b.consume_pv, a.month_consume_pv = b.month_consume_pv,
|
||||
a.team_new_pv = b.team_new_pv, a.team_consume_pv = b.team_consume_pv, a.team_month_pv = b.team_month_pv,
|
||||
a.team_new_amount = b.team_new_amount, a.team_consume_amount = b.team_consume_amount, a.team_month_amount = b.team_month_amount,
|
||||
a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status
|
||||
a.recommend_num = b.recommend_num, a.team_num = b.team_num, a.enable_status = b.enable_status,
|
||||
a.all_team_new_pv = b.all_team_new_pv,
|
||||
a.all_team_consume_pv = b.all_team_consume_pv,
|
||||
a.all_team_month_pv = b.all_team_month_pv
|
||||
</update>
|
||||
|
||||
<!-- 当前网体更新极差秒接表 -->
|
||||
|
|
@ -187,7 +204,9 @@
|
|||
#{item.pkAwards} pk_awards, #{item.pkShareAwards} pk_share_awards,
|
||||
#{item.newConsumePv} new_consume_pv,
|
||||
#{item.teamNewPv} team_new_pv,
|
||||
#{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status
|
||||
#{item.teamNewAmount} team_new_amount, #{item.enableStatus} enable_status,
|
||||
#{item.allNewConsumePv} all_new_consume_pv,
|
||||
#{item.allTeamNewPv} all_team_new_pv
|
||||
from dual
|
||||
</foreach>
|
||||
) b
|
||||
|
|
@ -197,7 +216,9 @@
|
|||
a.pk_grade = b.pk_grade, a.pk_awards = b.pk_awards, a.pk_share_awards = b.pk_share_awards,
|
||||
a.new_consume_pv = b.new_consume_pv,
|
||||
a.team_new_pv = b.team_new_pv,
|
||||
a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status
|
||||
a.team_new_amount = b.team_new_amount, a.enable_status = b.enable_status,
|
||||
a.all_new_consume_pv = b.all_new_consume_pv,
|
||||
a.all_team_new_pv = b.all_team_new_pv
|
||||
</update>
|
||||
|
||||
<update id="mergeMemberRetailGradeByMember">
|
||||
|
|
@ -215,43 +236,6 @@
|
|||
, a.pk_share_awards = b.pk_range_awards
|
||||
</if>
|
||||
</update>
|
||||
<update id="updateMemberRetailSecondRangeSelf">
|
||||
UPDATE ${tableName}
|
||||
SET
|
||||
PK_GRADE = ${cuMember.pkSettleGrade},
|
||||
PK_AWARDS = ${cuMember.pkAwards},
|
||||
<if test="updateType != null and updateType == 1">
|
||||
REG_CONSUME_NEW_AMOUNT = REG_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
REG_CONSUME_NEW_PV = REG_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve},
|
||||
</if>
|
||||
<if test="updateType != null and updateType == 2">
|
||||
REP_CONSUME_NEW_AMOUNT = REP_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
REP_CONSUME_NEW_PV = REP_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve},
|
||||
</if>
|
||||
ALL_CONSUME_NEW_AMOUNT = ALL_CONSUME_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
ALL_CONSUME_NEW_PV = ALL_CONSUME_NEW_PV ${symbol} #{orderExt.orderAchieve}
|
||||
WHERE
|
||||
PK_MEMBER = #{pkMember}
|
||||
</update>
|
||||
<update id="updateMemberRetailSecondRangeParent">
|
||||
UPDATE ${tableName}
|
||||
SET
|
||||
<if test="updateType != null and updateType == 1">
|
||||
REG_TEAM_NEW_AMOUNT = REG_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
REG_TEAM_NEW_PV = REG_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve},
|
||||
</if>
|
||||
<if test="updateType != null and updateType == 2">
|
||||
REP_TEAM_NEW_AMOUNT = REP_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
REP_TEAM_NEW_PV = REP_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve},
|
||||
</if>
|
||||
ALL_TEAM_NEW_AMOUNT = ALL_TEAM_NEW_AMOUNT ${symbol} #{orderExt.orderAmount},
|
||||
ALL_TEAM_NEW_PV = ALL_TEAM_NEW_PV ${symbol} #{orderExt.orderAchieve},
|
||||
WHERE
|
||||
PK_MEMBER in
|
||||
<foreach collection="memberList" item="member" separator="," open="(" close=")">
|
||||
#{member.pkId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="queryCuMemberRetailRangeParent" resultMap="CuMemberRetailRangeExt">
|
||||
<foreach collection="saOrderExtList" item="item" close=" " open=" " separator="union">
|
||||
|
|
@ -293,10 +277,14 @@
|
|||
bwa.awards_value share_awards_value,
|
||||
a.big_team_pv,
|
||||
a.small_team_pv,
|
||||
a.all_team_new_pv,
|
||||
a.all_team_consume_pv,
|
||||
a.all_team_month_pv,
|
||||
bw.range_ratio,
|
||||
bw.month_repurchase_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
br.name country_name,
|
||||
a.pk_vertex,
|
||||
bv.region_vertex_pk_id
|
||||
from (
|
||||
|
|
@ -310,6 +298,8 @@
|
|||
on bw.pk_id = a.pk_awards
|
||||
left join bd_awards bwa
|
||||
on bwa.pk_id = a.pk_share_awards and bwa.del_flag = 0
|
||||
left join bd_area br
|
||||
on br.pk_id = a.region_address and br.del_flag = 0
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = a.pk_vertex
|
||||
where ba.del_flag = 0 and bw.del_flag = 0
|
||||
|
|
@ -337,6 +327,8 @@
|
|||
a.big_team_pv,
|
||||
a.small_team_pv,
|
||||
a.system_type,
|
||||
a.all_team_consume_pv,
|
||||
a.all_team_month_pv,
|
||||
new_consume_pv,
|
||||
consume_pv,
|
||||
month_consume_pv,
|
||||
|
|
@ -356,7 +348,8 @@
|
|||
bw.range_ratio,
|
||||
bw.month_repurchase_ratio,
|
||||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio
|
||||
bw.benefit_share_ratio,
|
||||
br.name country_name
|
||||
from ${tableName} a
|
||||
inner join bd_grade ba
|
||||
on a.pk_grade = ba.pk_id
|
||||
|
|
@ -364,6 +357,8 @@
|
|||
on bw.pk_id = a.pk_awards and bw.del_flag = 0
|
||||
inner join bd_awards bws
|
||||
on bws.pk_id = a.pk_share_awards and bws.del_flag = 0
|
||||
left join bd_area br
|
||||
on br.pk_id = a.region_address and br.del_flag = 0
|
||||
where ba.del_flag = 0
|
||||
and a.pk_parent = #{pkParent}
|
||||
</select>
|
||||
|
|
@ -396,6 +391,10 @@
|
|||
nvl(b.big_team_pv, 0) big_team_pv,
|
||||
nvl(b.small_team_pv, 0) small_team_pv,
|
||||
a.system_type,
|
||||
a.all_new_consume_pv,
|
||||
a.all_team_new_pv,
|
||||
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_consume_pv,
|
||||
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv,
|
||||
bg.grade_value,
|
||||
bg.grade_name,
|
||||
bw.awards_value,
|
||||
|
|
@ -405,6 +404,8 @@
|
|||
bw.benefit_avg_ratio,
|
||||
bw.benefit_share_ratio,
|
||||
bws.awards_value share_awards_value,
|
||||
br.name country_name,
|
||||
cr.county region_address,
|
||||
bv.region_vertex_pk_id
|
||||
from (
|
||||
select *
|
||||
|
|
@ -421,6 +422,10 @@
|
|||
on bws.pk_id = a.pk_share_awards and bws.del_flag = 0
|
||||
inner join bd_grade bg
|
||||
on bg.pk_id = a.pk_grade
|
||||
left join cu_member_retail_region cr
|
||||
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
|
||||
left join bd_area br
|
||||
on br.pk_id = cr.county and br.del_flag = 0
|
||||
left join bd_vertex bv
|
||||
on bv.pk_id = cm.pk_vertex
|
||||
inner join bd_currency bt
|
||||
|
|
@ -432,7 +437,9 @@
|
|||
select cm.pk_id pk_member,
|
||||
cm.pk_parent,
|
||||
nvl(b.month_consume_pv, 0) + nvl(a.new_consume_pv, 0) month_consume_pv,
|
||||
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv
|
||||
nvl(b.team_month_pv, 0) + nvl(a.team_new_pv, 0) team_month_pv,
|
||||
nvl(b.all_team_consume_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_consume_pv,
|
||||
nvl(b.all_team_month_pv, 0) + nvl(a.all_team_new_pv, 0) all_team_month_pv
|
||||
from cu_member cm
|
||||
left join ${secondTableName} a
|
||||
on cm.pk_id = a.pk_member
|
||||
|
|
@ -455,16 +462,11 @@
|
|||
team_consume_amount,
|
||||
team_month_amount,
|
||||
big_team_pv,
|
||||
small_team_pv
|
||||
small_team_pv,
|
||||
all_team_consume_pv,
|
||||
all_team_month_pv
|
||||
from ${tableName}
|
||||
where pk_parent = #{pkParent}
|
||||
</select>
|
||||
<select id="findParentMemberList" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
|
||||
select cm.*
|
||||
from cu_member cm
|
||||
start with cm.pk_id = #{pkMember}
|
||||
connect by cm.pk_id = prior cm.pk_parent
|
||||
order by level
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -104,7 +104,8 @@
|
|||
|
||||
<!-- 会员网体月表数据,用于查询 网体跟业绩分开 横向分表-->
|
||||
<sql id="CuMemberTreeColumn">
|
||||
period NUMBER(6) default 0 not null,
|
||||
period
|
||||
NUMBER(6) default 0 not null,
|
||||
pk_member NUMBER(20) not null,
|
||||
pk_parent NUMBER(20) not null,
|
||||
pk_place_parent NUMBER(20),
|
||||
|
|
@ -288,60 +289,6 @@
|
|||
)
|
||||
</update>
|
||||
|
||||
<!-- 创建结算明细表 -->
|
||||
<update id="createCuMemberRetailDetail">
|
||||
create table ${tableName}
|
||||
(
|
||||
pk_id NUMBER(20) primary key,
|
||||
pk_member NUMBER(20) not null,
|
||||
child_node NUMBER(8) not null,
|
||||
pk_parent NUMBER(20) not null,
|
||||
stage NUMBER(1) default 1 not null,
|
||||
stage_status NUMBER(1) default 1 not null,
|
||||
stage_date DATE,
|
||||
point_11 NUMBER(20),
|
||||
point_12 NUMBER(20),
|
||||
point_21 NUMBER(20),
|
||||
point_22 NUMBER(20),
|
||||
point_23 NUMBER(20),
|
||||
point_24 NUMBER(20),
|
||||
point_31 NUMBER(20),
|
||||
point_32 NUMBER(20),
|
||||
point_33 NUMBER(20),
|
||||
point_34 NUMBER(20),
|
||||
point_35 NUMBER(20),
|
||||
point_36 NUMBER(20),
|
||||
point_37 NUMBER(20),
|
||||
point_38 NUMBER(20),
|
||||
point_member_11 NUMBER(20),
|
||||
point_member_12 NUMBER(20),
|
||||
point_member_21 NUMBER(20),
|
||||
point_member_22 NUMBER(20),
|
||||
point_member_23 NUMBER(20),
|
||||
point_member_24 NUMBER(20),
|
||||
point_member_31 NUMBER(20),
|
||||
point_member_32 NUMBER(20),
|
||||
point_member_33 NUMBER(20),
|
||||
point_member_34 NUMBER(20),
|
||||
point_member_35 NUMBER(20),
|
||||
point_member_36 NUMBER(20),
|
||||
point_member_37 NUMBER(20),
|
||||
point_member_38 NUMBER(20),
|
||||
point_type NUMBER(1) default 0 not null,
|
||||
point_gift NUMBER(1) default 0 not null,
|
||||
creation_time DATE
|
||||
)
|
||||
</update>
|
||||
|
||||
<!-- 创建结算明细表会员索引 -->
|
||||
<update id="createCuMemberRetailDetailMemberIndex">
|
||||
create index ${tableName}_MEMBER
|
||||
on ${tableName}
|
||||
(
|
||||
PK_MEMBER
|
||||
)
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberTreeParentIndex">
|
||||
create index ${tableName}_parent
|
||||
on
|
||||
|
|
@ -383,7 +330,7 @@
|
|||
customer_type, phone, pk_grade, pk_awards, account_status, pay_status, category,
|
||||
purchase_status, income_status, pk_team_code,
|
||||
pk_center_code, pk_vertex, pk_settle_country, is_real_name,
|
||||
pk_country, pk_rate, pay_time, system_type, enable_status)
|
||||
pk_country, pk_rate, pay_time, region_address, system_type, enable_status)
|
||||
select cm.pk_id,
|
||||
pk_parent,
|
||||
member_code,
|
||||
|
|
@ -405,6 +352,7 @@
|
|||
cm.pk_country,
|
||||
nvl(bc.pk_id, -1) pk_rate,
|
||||
cm.pay_time,
|
||||
nvl(cr.county, 0) country,
|
||||
cm.system_type,
|
||||
cm.is_activate
|
||||
from cu_member cm
|
||||
|
|
@ -417,6 +365,8 @@
|
|||
and effective_date <= sysdate
|
||||
group by pk_country) bc
|
||||
on cm.pk_settle_country = bc.pk_country
|
||||
left join cu_member_retail_region cr
|
||||
on cr.pk_member = cm.pk_id and cr.effective = 0 and cr.del_flag = 0
|
||||
where cm.del_flag = 0
|
||||
</insert>
|
||||
|
||||
|
|
@ -491,6 +441,25 @@
|
|||
</if>
|
||||
</update>
|
||||
|
||||
<!-- 初始化期间奖衔 -->
|
||||
<update id="updateCuMemberRetailRangeInitAward">
|
||||
update ${rangeTableName}
|
||||
set pk_awards = (select pk_id from bd_awards where awards_value = 0),
|
||||
pk_share_awards = (select pk_id from bd_awards where awards_value = 0)
|
||||
</update>
|
||||
|
||||
<!-- 初始化期间V5奖衔 -->
|
||||
<update id="updateCuMemberRetailRangeInitV5Award">
|
||||
update ${rangeTableName}
|
||||
set pk_awards = (select pk_id from bd_awards where awards_value = 5),
|
||||
pk_share_awards = (select pk_id from bd_awards where awards_value = 5)
|
||||
where pk_grade = (
|
||||
select pk_id
|
||||
from bd_grade
|
||||
where grade_value = 70 and del_flag = 0
|
||||
)
|
||||
</update>
|
||||
|
||||
<update id="createCuMemberRetailRangeSecondTable">
|
||||
CREATE TABLE ${tableName}
|
||||
(
|
||||
|
|
@ -543,30 +512,20 @@
|
|||
new_consume_pv number(17,6) default 0 not null,
|
||||
consume_pv number(17,6) default 0 not null,
|
||||
month_consume_pv number(17,6) default 0 not null,
|
||||
new_consume_amount number(17,6) default 0 not null,
|
||||
consume_amount number(17,6) default 0 not null,
|
||||
month_consume_amount number(17,6) default 0 not null,
|
||||
|
||||
team_new_pv number(17,6) default 0 not null,
|
||||
team_consume_pv number(17,6) default 0 not null,
|
||||
team_month_pv number(17,6) default 0 not null,
|
||||
team_new_amount number(17,6) default 0 not null,
|
||||
team_consume_amount number(17,6) default 0 not null,
|
||||
team_month_amount number(17,6) default 0 not null,
|
||||
|
||||
recommend_num number(8) default 0 not null,
|
||||
team_num number(8) default 0 not null,
|
||||
region_address number(8) default 0 not null,
|
||||
big_team_pv number(17,6) default 0 not null,
|
||||
small_team_pv number(17,6) default 0 not null,
|
||||
|
||||
reg_consume_new_amount number(17,6) default 0 not null,
|
||||
reg_consume_new_pv number(17,6) default 0 not null,
|
||||
reg_team_new_amount number(17,6) default 0 not null,
|
||||
reg_team_new_pv number(17,6) default 0 not null,
|
||||
rep_consume_new_amount number(17,6) default 0 not null,
|
||||
rep_consume_new_pv number(17,6) default 0 not null,
|
||||
rep_team_new_amount number(17,6) default 0 not null,
|
||||
rep_team_new_pv number(17,6) default 0 not null
|
||||
all_team_new_pv number(17,6) default 0 not null,
|
||||
all_team_consume_pv number(17,6) default 0 not null,
|
||||
all_team_month_pv number(17,6) default 0 not null
|
||||
)
|
||||
</update>
|
||||
|
||||
|
|
|
|||
|
|
@ -328,4 +328,72 @@
|
|||
and #{endDate} > so.pay_time
|
||||
</select>
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="SaOrderItems" type="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||
<result column="PK_ORDER" property="pkOrder"/>
|
||||
<result column="PK_ID" property="pkId"/>
|
||||
<result column="PRICE" property="price"/>
|
||||
<result column="WARES_QUANTITY" property="waresQuantity"/>
|
||||
<result column="PK_WARES" property="pkWares"/>
|
||||
<result column="PK_PRODUCT" property="pkProduct"/>
|
||||
<result column="PK_WARES_DETAIL" property="pkWaresDetail"/>
|
||||
<result column="PK_WARES_SPECS_SKU" property="pkWaresSpecsSku"/>
|
||||
<collection property="waresRangeTmpList" ofType="com.hzs.common.domain.sale.wares.ext.WaresRangeTmp">
|
||||
<result column="RANGE_PRICE" property="rangePrice"/>
|
||||
<result column="RANGE_VALUE" property="rangeValue"/>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
<!-- 查询商品级差数据 -->
|
||||
<select id="listOrderWaresRange" resultMap="SaOrderItems">
|
||||
select soi.pk_order,
|
||||
soi.pk_id,
|
||||
soi.price,
|
||||
soi.wares_quantity,
|
||||
bwr.pk_wares,
|
||||
bwr.pk_product,
|
||||
bwr.pk_wares_detail,
|
||||
bwr.pk_wares_specs_sku,
|
||||
bwr.price range_price,
|
||||
br.range_value
|
||||
from (select so.pk_id pk_order,
|
||||
soi.pk_id,
|
||||
soi.pk_wares,
|
||||
soi.pk_product,
|
||||
soi.pk_wares_detail,
|
||||
soi.pk_wares_specs_sku,
|
||||
soi.price,
|
||||
max(soi.wares_quantity) wares_quantity
|
||||
from sa_order so
|
||||
left join sa_order_items soi
|
||||
on soi.pk_order = so.pk_id
|
||||
where so.del_flag = 0
|
||||
and soi.del_flag = 0
|
||||
and soi.is_gift = 1
|
||||
and so.order_code in
|
||||
<foreach collection="orderList" item="items" open="(" separator="," close=")">
|
||||
#{items.orderCode}
|
||||
</foreach>
|
||||
group by so.pk_id,
|
||||
soi.pk_id,
|
||||
soi.pk_wares,
|
||||
soi.pk_product,
|
||||
soi.pk_wares_detail,
|
||||
soi.pk_wares_specs_sku,
|
||||
soi.price) soi
|
||||
left join bd_wares_range bwr
|
||||
on bwr.pk_wares = soi.pk_wares
|
||||
and bwr.pk_product = soi.pk_product
|
||||
and bwr.pk_wares_detail = soi.pk_wares_detail
|
||||
and bwr.pk_wares_specs_sku = soi.pk_wares_specs_sku
|
||||
left join bd_range br
|
||||
on br.pk_id = bwr.pk_range
|
||||
and br.del_flag = 0
|
||||
order by bwr.pk_wares,
|
||||
bwr.pk_product,
|
||||
bwr.pk_wares_detail,
|
||||
bwr.pk_wares_specs_sku,
|
||||
br.range_value
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -2,14 +2,21 @@ package com.hzs.member.account.controller.api;
|
|||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.EBusinessModule;
|
||||
import com.hzs.common.core.enums.EYesNo;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.account.CuMemberBank;
|
||||
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.common.util.TransactionUtils;
|
||||
import com.hzs.member.account.dto.CuMemberBankParam;
|
||||
import com.hzs.member.account.service.ICuMemberBankService;
|
||||
import com.hzs.member.account.service.ICuMemberBaseService;
|
||||
import com.hzs.member.account.service.ICuMemberWithdrawService;
|
||||
import com.hzs.member.account.vo.CuMemberBankVO;
|
||||
import com.hzs.member.sms.service.IApiAliSmsService;
|
||||
|
|
@ -30,144 +37,184 @@ import java.util.List;
|
|||
public class ApiCuMemberBankController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberBankService iCuMemberBankService;
|
||||
private ICuMemberBankService cuMemberBankService;
|
||||
@Autowired
|
||||
private ICuMemberWithdrawService iCuMemberWithdrawService;
|
||||
private ICuMemberBaseService iCuMemberBaseService;
|
||||
@Autowired
|
||||
private ICuMemberWithdrawService cuMemberWithdrawService;
|
||||
@Autowired
|
||||
private IApiAliSmsService iApiAliSmsService;
|
||||
|
||||
@DubboReference
|
||||
IBankCardServiceApi iBankCardServiceApi;
|
||||
IBankCardServiceApi bankCardServiceApi;
|
||||
|
||||
|
||||
/**
|
||||
* 银行卡列表
|
||||
* 是否绑定银行卡
|
||||
*
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public AjaxResult getBankCardList() {
|
||||
@GetMapping("/is-bind")
|
||||
public AjaxResult isBindBank() {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
return AjaxResult.success(iCuMemberBankService.selectBankCardByPkMember(pkMember, pkCountry));
|
||||
CuMemberBankVO cuMemberBank = cuMemberBankService.isBindBank(pkMember, pkCountry);
|
||||
String flag = null == cuMemberBank.getDefaultCard() ? EYesNo.NO.getValue() : EYesNo.YES.getValue();
|
||||
return AjaxResult.success().put("flag", flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解绑银行卡
|
||||
*
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/unbind-bank")
|
||||
public AjaxResult unbindBank(Long pkId) {
|
||||
Assert.notNull(pkId, TransactionUtils.getContent(FinanceMsgConstants.BANK_CARD_CANNOT_EMPTY));
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
//查询默认银行卡
|
||||
CuMemberBankVO cuMemberBankVO = cuMemberBankService.selectCuMemberBankById(pkId);
|
||||
//解绑默认银行卡需校验是否有进行的提现
|
||||
if (null != cuMemberBankVO) {
|
||||
List<Long> pkIds = cuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember);
|
||||
if (CollUtil.isNotEmpty(pkIds)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_APPROVAL));
|
||||
}
|
||||
|
||||
}
|
||||
return AjaxResult.success(cuMemberBankService.unbindBank(pkId, pkMember));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 校验开户名
|
||||
*
|
||||
* @param accountName 开户名
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/check-account-name")
|
||||
public AjaxResult checkAccountName(String accountName) {
|
||||
Assert.notNull(accountName, TransactionUtils.getContent(FinanceMsgConstants.ACCOUNT_NAME_CANNOT_EMPTY));
|
||||
String memberCode = SecurityUtils.getMemberCode();
|
||||
String flag = memberCode.equals(accountName) ? EYesNo.YES.getValue() : EYesNo.NO.getValue();
|
||||
return AjaxResult.success().put("flag", flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 银行卡四要素验证
|
||||
*
|
||||
* @param memberBankParam 银行卡信息
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@PostMapping("/verify-bank-card")
|
||||
public AjaxResult verifyBankCard(@RequestBody CuMemberBankParam memberBankParam) {
|
||||
if (StringUtils.isEmpty(memberBankParam.getCardNumber())) {
|
||||
return AjaxResult.error("银行卡号不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(memberBankParam.getIdCard())) {
|
||||
return AjaxResult.error("身份证号码不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(memberBankParam.getAccountName())) {
|
||||
return AjaxResult.error("开户姓名不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(memberBankParam.getPhone())) {
|
||||
return AjaxResult.error("手机号不能为空!");
|
||||
}
|
||||
|
||||
BankCardParam bankCard = BankCardParam.builder()
|
||||
.name(memberBankParam.getAccountName())
|
||||
.idCard(memberBankParam.getIdCard())
|
||||
.mobile(memberBankParam.getPhone())
|
||||
.bankCard(StringUtils.deleteWhitespace(memberBankParam.getCardNumber()))
|
||||
.build();
|
||||
R<?> result = iBankCardServiceApi.verifyBankCard(bankCard);
|
||||
BankCardParam bankCard = BankCardParam.builder().name(memberBankParam.getAccountName())
|
||||
.idCard(memberBankParam.getIdCard()).mobile(memberBankParam.getPhone())
|
||||
.bankCard(StringUtils.deleteWhitespace(memberBankParam.getCardNumber())).build();
|
||||
R result = bankCardServiceApi.verifyBankCard(bankCard);
|
||||
return result.isSuccess() ? AjaxResult.success() : AjaxResult.error(result.getMsg());
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 绑定银行卡
|
||||
*
|
||||
* @param cuMemberBankParam 银行卡入参
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
@RepeatSubmitSimple
|
||||
public AjaxResult addBankInfo(@RequestBody CuMemberBankParam cuMemberBankParam) {
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
//是否配置提现白名单
|
||||
String configWhite = getConfigWhite(pkCountry, pkMember);
|
||||
//海外不校验验证码、四要素 国内配置了提现白名单不校验
|
||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY) && configWhite.equals(EYesNo.NO.getValue())) {
|
||||
String verificationCode = cuMemberBankParam.getVerificationCode();
|
||||
if (StringUtils.isEmpty(verificationCode)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.VERIFICATION_CODE_CANNOT_EMPTY));
|
||||
}
|
||||
//支行名称
|
||||
String subBankName = cuMemberBankParam.getSubBankName();
|
||||
if (StringUtils.isEmpty(subBankName)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.OPENING_BRANCH_CANNOT_EMPTY));
|
||||
}
|
||||
//银行卡号去空格
|
||||
String cardNumber = cuMemberBankParam.getCardNumber();
|
||||
cuMemberBankParam.setCardNumber(StringUtils.deleteWhitespace(cardNumber));
|
||||
|
||||
if (null == cuMemberBankParam.getPkBank()) {
|
||||
return AjaxResult.error("银行名称不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(cuMemberBankParam.getSubBankName())) {
|
||||
return AjaxResult.error("开户支行不能为空");
|
||||
}
|
||||
if (StringUtils.isEmpty(cuMemberBankParam.getCardNumber())) {
|
||||
return AjaxResult.error("银行卡号不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(cuMemberBankParam.getAccountName())) {
|
||||
return AjaxResult.error("开户姓名不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(cuMemberBankParam.getIdCard())) {
|
||||
return AjaxResult.error("证件号码不能为空!");
|
||||
}
|
||||
if (StringUtils.isEmpty(cuMemberBankParam.getPhone())) {
|
||||
return AjaxResult.error("联系方式不能为空!");
|
||||
}
|
||||
String verificationCode = cuMemberBankParam.getVerificationCode();
|
||||
if (StringUtils.isEmpty(verificationCode)) {
|
||||
return AjaxResult.error("验证码不能为空!");
|
||||
}
|
||||
String message = iApiAliSmsService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null, pkMember);
|
||||
if (null != message) {
|
||||
return AjaxResult.error(message);
|
||||
}
|
||||
|
||||
// 银行卡号去空格
|
||||
String cardNumber = cuMemberBankParam.getCardNumber();
|
||||
cuMemberBankParam.setCardNumber(StringUtils.deleteWhitespace(cardNumber));
|
||||
cuMemberBankParam.setPkCountry(pkCountry);
|
||||
cuMemberBankParam.setPkMember(pkMember);
|
||||
return toAjax(iCuMemberBankService.saveMemberBank(cuMemberBankParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 解绑银行卡
|
||||
*/
|
||||
@GetMapping("/unbind-bank")
|
||||
public AjaxResult unbindBank(Long pkId) {
|
||||
Assert.notNull(pkId, "银行卡号不能为空!");
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
// 查询默认银行卡
|
||||
CuMemberBankVO cuMemberBankVO = iCuMemberBankService.selectCuMemberBankById(pkId);
|
||||
// 解绑默认银行卡需校验是否有进行的提现
|
||||
if (null != cuMemberBankVO) {
|
||||
List<Long> pkIds = iCuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember);
|
||||
if (CollUtil.isNotEmpty(pkIds)) {
|
||||
return AjaxResult.error("提现正在审批中,请稍后再试");
|
||||
String message = iApiAliSmsService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null, pkMember);
|
||||
if (null != message) {
|
||||
return AjaxResult.error(message);
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(iCuMemberBankService.unbindBank(pkId, pkMember));
|
||||
cuMemberBankParam.setPkCountry(pkCountry);
|
||||
cuMemberBankParam.setPkMember(pkMember);
|
||||
return toAjax(cuMemberBankService.saveMemberBank(cuMemberBankParam));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/list")
|
||||
public AjaxResult getBankCardList() {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
return AjaxResult.success(cuMemberBankService.selectBankCardByPkMember(pkMember, pkCountry));
|
||||
}
|
||||
|
||||
@GetMapping("/default-bank")
|
||||
public AjaxResult getDefaultBankCard() {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
return AjaxResult.success(cuMemberBankService.isBindBank(pkMember, pkCountry));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改默认银行卡
|
||||
*
|
||||
* @param pkId ID
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/update-default")
|
||||
public AjaxResult updateDefault(Long pkId) {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
// 查询银行卡
|
||||
CuMemberBank cuMemberBank = iCuMemberBankService.getById(pkId);
|
||||
// 解绑默认银行卡需校验是否有进行的提现
|
||||
//查询银行卡
|
||||
CuMemberBank cuMemberBank = cuMemberBankService.getById(pkId);
|
||||
//解绑默认银行卡需校验是否有进行的提现
|
||||
if (null != cuMemberBank) {
|
||||
List<Long> pkIds = iCuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember);
|
||||
List<Long> pkIds = cuMemberWithdrawService.selectWithdrawMember(pkCountry, pkMember);
|
||||
if (CollUtil.isNotEmpty(pkIds)) {
|
||||
return AjaxResult.error("提现正在审批中,请稍后再试");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_APPROVAL));
|
||||
}
|
||||
}
|
||||
return toAjax(iCuMemberBankService.updateDefault(pkId, pkMember, pkCountry));
|
||||
return toAjax(cuMemberBankService.updateDefault(pkId, pkMember, pkCountry));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询是否设置提现白名单
|
||||
*
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@GetMapping("/is-white-list")
|
||||
public AjaxResult isWhiteList() {
|
||||
String flag = getConfigWhite(SecurityUtils.getPkCountry(), SecurityUtils.getUserId());
|
||||
return AjaxResult.success().put("flag", flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认银行卡
|
||||
* 查询提现白名单配置
|
||||
*
|
||||
* @param pkCountry 国家ID
|
||||
* @param pkMember 会员ID
|
||||
* @return String
|
||||
*/
|
||||
@GetMapping("/default-bank")
|
||||
public AjaxResult getDefaultBankCard() {
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
return AjaxResult.success(iCuMemberBankService.isBindBank(pkMember, pkCountry));
|
||||
private String getConfigWhite(Integer pkCountry, Long pkMember) {
|
||||
BdTradeWhiteConfig bdTradeWhiteConfig = iCuMemberBaseService.selectConfigWhite(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue());
|
||||
return null == bdTradeWhiteConfig ? EYesNo.NO.getValue() : EYesNo.YES.getValue();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -313,15 +313,10 @@ public class ApiCuMemberTransferController extends BaseController {
|
|||
Integer toPkAccount = accountServiceApi.getPkAccount(pkAccount).getData();
|
||||
|
||||
CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder().pkMember(pkMember)
|
||||
.pkAccount(pkAccount)
|
||||
.transferCode(code)
|
||||
.toPkMember(toPkMember)
|
||||
.pkToAccount(toPkAccount)
|
||||
.pkRate(currencyDTO.getPkId())
|
||||
.transferMoney(transferMoney)
|
||||
.remarks(cuMemberTransferParam.getRemarks())
|
||||
.serviceCharge(serviceRatio)
|
||||
.issuedAmount(issuedAmount)
|
||||
.pkAccount(pkAccount).transferCode(code).toPkMember(toPkMember)
|
||||
.pkToAccount(toPkAccount).pkRate(currencyDTO.getPkId())
|
||||
.transferMoney(transferMoney).remarks(cuMemberTransferParam.getRemarks())
|
||||
.serviceCharge(serviceRatio).issuedAmount(issuedAmount)
|
||||
.build();
|
||||
cuMemberTransfer.setPkCountry(pkCountry);
|
||||
cuMemberTransfer.setPkCreator(pkMember);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.hzs.member.account.controller.api;
|
|||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.CountryConstants;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.constant.MemberFieldConstants;
|
||||
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
|
||||
|
|
@ -24,7 +25,6 @@ import com.hzs.member.account.service.ICuMemberAccountService;
|
|||
import com.hzs.member.account.service.ICuMemberBankService;
|
||||
import com.hzs.member.account.service.ICuMemberBaseService;
|
||||
import com.hzs.member.account.service.ICuMemberWithdrawService;
|
||||
import com.hzs.member.account.vo.CuMemberBankVO;
|
||||
import com.hzs.member.account.vo.CuMemberWithdrawVO;
|
||||
import com.hzs.member.account.vo.CuMemberWithdrawalAddVO;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
|
|
@ -45,18 +45,18 @@ import java.util.List;
|
|||
public class ApiCuMemberWithdrawController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberBankService iCuMemberBankService;
|
||||
private ICuMemberBankService cuMemberBankService;
|
||||
@Autowired
|
||||
private ICuMemberService iCuMemberService;
|
||||
private ICuMemberService cuMemberService;
|
||||
@Autowired
|
||||
private ICuMemberBaseService iCuMemberBaseService;
|
||||
private ICuMemberBaseService baseService;
|
||||
@Autowired
|
||||
private ICuMemberAccountService iCuMemberAccountService;
|
||||
private ICuMemberAccountService cuMemberAccountService;
|
||||
@Autowired
|
||||
private ICuMemberWithdrawService iCuMemberWithdrawService;
|
||||
private ICuMemberWithdrawService cuMemberWithdrawService;
|
||||
|
||||
@DubboReference
|
||||
IWithdrawalServiceApi iWithdrawalServiceApi;
|
||||
IWithdrawalServiceApi withdrawalServiceApi;
|
||||
|
||||
/**
|
||||
* 提现时展示信息
|
||||
|
|
@ -74,18 +74,18 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_WITHDRAWAL_AMOUNT));
|
||||
}
|
||||
//提现配置信息
|
||||
BdWithdrawal bdWithdrawal = iWithdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData();
|
||||
BdWithdrawal bdWithdrawal = withdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData();
|
||||
if (null == bdWithdrawal) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.CONFIGURE_WITHDRAWAL_INFO));
|
||||
}
|
||||
CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
||||
Integer accountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
|
||||
CuMemberAccount cuMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
||||
Integer accountValue = baseService.getAccountValueById(pkAccount);
|
||||
//余额
|
||||
BigDecimal balance = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.ACCOUNT + accountValue);
|
||||
//可用金额
|
||||
BigDecimal availableBalance = getAvailableBalance(accountValue, cuMemberAccount);
|
||||
//手续费金额
|
||||
BigDecimal serviceChargeAmount = accountValue.equals(EAccount.BONUS.getValue()) ? iCuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount) : BigDecimal.ZERO;
|
||||
BigDecimal serviceChargeAmount = accountValue.equals(EAccount.BONUS.getValue()) ? cuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount) : BigDecimal.ZERO;
|
||||
|
||||
CuMemberWithdrawalAddVO cuMemberWithdrawalAddVO = CuMemberWithdrawalAddVO.builder()
|
||||
.minAmount(bdWithdrawal.getMinAmount()).maxAmount(bdWithdrawal.getMaxAmount())
|
||||
|
|
@ -100,83 +100,84 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
* @param cuMemberWithdrawParam 提现入参
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@RepeatSubmitSimple
|
||||
@PostMapping("/add")
|
||||
@RepeatSubmitSimple
|
||||
public AjaxResult addWithdrawInfo(@RequestBody CuMemberWithdrawParam cuMemberWithdrawParam) {
|
||||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
Long pkMember = SecurityUtils.getUserId();
|
||||
String memberCode = SecurityUtils.getMemberCode();
|
||||
|
||||
CuMemberExt cuMemberLoginExt = iCuMemberService.getMemberById(pkMember);
|
||||
CuMemberExt cuMemberLoginExt = cuMemberService.getMemberByCode(memberCode);
|
||||
if (null == cuMemberLoginExt) {
|
||||
return AjaxResult.error("会员不存在,请核对后再操作!");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.RECHAGER_USER_NOT_EXIST));
|
||||
}
|
||||
//获取银行卡信息
|
||||
Long pkBank = cuMemberWithdrawParam.getPkBank();
|
||||
CuMemberBankVO memberBank = iCuMemberBankService.selectCuMemberBankById(pkBank);
|
||||
if (null == memberBank) {
|
||||
return AjaxResult.error("请绑定银行卡");
|
||||
}
|
||||
// Long pkBank = cuMemberWithdrawParam.getPkBank();
|
||||
// CuMemberBankVO memberBank = cuMemberBankService.selectCuMemberBankById(pkBank);
|
||||
// if (null == memberBank) {
|
||||
// return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BIND_BANK_CARD));
|
||||
// }
|
||||
//校验支付密码
|
||||
String payPwd = cuMemberLoginExt.getPayPwd();
|
||||
if (StringUtils.isEmpty(payPwd) || !SecurityUtils.matchesPassword(cuMemberWithdrawParam.getPayPwd(), payPwd)) {
|
||||
return AjaxResult.error("支付密码错误!");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.PAYMENT_PASSWORD_ERROR));
|
||||
}
|
||||
|
||||
//查询提现账户
|
||||
Integer pkAccount = cuMemberWithdrawParam.getPkAccount();
|
||||
if (null == pkAccount) {
|
||||
return AjaxResult.error("请选择提现账户");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECT_WITHDRAWAL_ACCOUNT));
|
||||
}
|
||||
Integer accountsType = iCuMemberBaseService.getAccountValueById(pkAccount);
|
||||
Integer accountsType = baseService.getAccountValueById(pkAccount);
|
||||
|
||||
// 校验是否实名
|
||||
Boolean existRealName = iCuMemberBaseService.isExistRealName(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue());
|
||||
//校验是否实名
|
||||
Boolean existRealName = baseService.isExistRealName(pkMember, pkCountry, EBusinessModule.WITHDRAWAL.getValue());
|
||||
if (!existRealName) {
|
||||
return AjaxResult.error("请先实名认证");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.REAL_NAME_NOT_EXIST));
|
||||
}
|
||||
|
||||
//查询账户信息
|
||||
CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
||||
CuMemberAccount cuMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(pkMember);
|
||||
//是否可提现
|
||||
Integer isWithdraw = cuMemberAccount.getIsWithdraw();
|
||||
//不允许提现
|
||||
if (isWithdraw.equals(EYesNo.NO.getIntValue())) {
|
||||
return AjaxResult.error("不允许提现");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.NOT_ALLOWED_WITHDRAWAL));
|
||||
}
|
||||
//提现配置信息
|
||||
BdWithdrawal bdWithdrawal = iWithdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData();
|
||||
BdWithdrawal bdWithdrawal = withdrawalServiceApi.queryWithdrawal(pkCountry, pkAccount).getData();
|
||||
//提现次数
|
||||
Integer withdrawalNumber = bdWithdrawal.getWithdrawalNumber();
|
||||
// 只能发起配置项次数待审核提现 必须通过或者驳回之后才能发起下一笔
|
||||
List<CuMemberWithdraw> memberWithdraws = iCuMemberWithdrawService.getWithdrawTimes(pkMember);
|
||||
List<CuMemberWithdraw> memberWithdraws = cuMemberWithdrawService.getWithdrawTimes(pkMember);
|
||||
if (CollUtil.isNotEmpty(memberWithdraws) && memberWithdraws.size() >= withdrawalNumber) {
|
||||
return AjaxResult.error("超过提现次数");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.EXCEEDING_WITHDRAWALS_NUMBER));
|
||||
}
|
||||
//提现金额校验
|
||||
BigDecimal minAmount = bdWithdrawal.getMinAmount();
|
||||
BigDecimal maxAmount = bdWithdrawal.getMaxAmount();
|
||||
if (null == minAmount || null == maxAmount) {
|
||||
return AjaxResult.error("请配置提现金额限制");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.CONFIGURE_WITHDRAWAL_AMOUNT_LIMIT));
|
||||
}
|
||||
BigDecimal cashAmount = cuMemberWithdrawParam.getCashAmount();
|
||||
if (null == cashAmount) {
|
||||
return AjaxResult.error("请输入提现金额");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_WITHDRAWAL_AMOUNT));
|
||||
}
|
||||
//提现金额是否输入整数值
|
||||
Integer isRounding = bdWithdrawal.getIsRounding();
|
||||
if (isRounding.equals(EYesNo.YES.getIntValue()) && Boolean.TRUE.equals(!isIntegerValue(cashAmount))) {
|
||||
return AjaxResult.error("请输入整数值");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ENTER_INTEGER_VALUE));
|
||||
}
|
||||
|
||||
if (cashAmount.compareTo(minAmount) < 0) {
|
||||
return AjaxResult.error("提现金额必须大于最低提现金额");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_AMOUNT_GREATER_MINIMUM_AMOUNT));
|
||||
}
|
||||
if (cashAmount.compareTo(maxAmount) > 0) {
|
||||
return AjaxResult.error("提现金额必须小于最高提现金额");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_AMOUNT_LESS_MAXIMUM_AMOUNT));
|
||||
}
|
||||
//校验倍数
|
||||
if (!remainder(cashAmount)) {
|
||||
return AjaxResult.error("提现金额必须为100的整数倍");
|
||||
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY) && !remainder(cashAmount)) {
|
||||
return AjaxResult.error(FinanceMsgConstants.WITHDRAW_AMOUNT_MULTIPLE);
|
||||
}
|
||||
//本次应缴个税
|
||||
BigDecimal payIncomeTax = BigDecimal.ZERO;
|
||||
|
|
@ -188,48 +189,42 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
//奖金账户余额(兼容奖金账户奖金余额小于可提现金额时)
|
||||
if (accountsType.equals(EAccount.BONUS.getValue())) {
|
||||
//账户余额
|
||||
BigDecimal accountBalance = iCuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount);
|
||||
BigDecimal accountBalance = cuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount);
|
||||
//可提现余额
|
||||
BigDecimal balance = getAvailableBalance(accountsType, cuMemberAccount);
|
||||
//余额不足
|
||||
if (balance.compareTo(cashAmount) < 0 || accountBalance.compareTo(cashAmount) < 0) {
|
||||
return AjaxResult.error("余额不足");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BALANCE_NOT_ENOUGH));
|
||||
}
|
||||
//奖金账户个税、手续费根据配置、其它用户暂不收取
|
||||
//本次应缴个税
|
||||
payIncomeTax = iCuMemberWithdrawService.computeIncomeTaxValue(pkMember, cashAmount, pkCountry, minAmount);
|
||||
payIncomeTax = cuMemberWithdrawService.computeIncomeTaxValue(pkMember, cashAmount, pkCountry, minAmount);
|
||||
//手续费金额
|
||||
serviceChargeAmount = iCuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount);
|
||||
serviceChargeAmount = cuMemberWithdrawService.computeServiceCharge(pkCountry, cashAmount);
|
||||
issuedAmount = cashAmount.subtract(payIncomeTax).subtract(serviceChargeAmount);
|
||||
} else { //其它用户的余额
|
||||
BigDecimal balance = getAvailableBalance(accountsType, cuMemberAccount);
|
||||
//余额不足
|
||||
if (balance.compareTo(cashAmount) < 0) {
|
||||
return AjaxResult.error("余额不足");
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.BALANCE_NOT_ENOUGH));
|
||||
}
|
||||
|
||||
}
|
||||
String code = CommonUtil.createSerialNumber(EOrderPrefix.WITHDRAWAL_CODE.getValue());
|
||||
//汇率
|
||||
CurrencyDTO currencyDTO = iCuMemberBaseService.getCurrency(pkCountry);
|
||||
CurrencyDTO currencyDTO = baseService.getCurrency(pkCountry);
|
||||
|
||||
CuMemberWithdraw cuMemberWithdraw = CuMemberWithdraw.builder()
|
||||
.pkMember(pkMember)
|
||||
.pkAccount(pkAccount)
|
||||
.pkBank(pkBank)
|
||||
.remarks(cuMemberWithdrawParam.getRemarks())
|
||||
.pkRate(currencyDTO.getPkId())
|
||||
.cashAmount(cashAmount)
|
||||
.serviceCharge(serviceChargeAmount)
|
||||
.incomeTax(payIncomeTax)
|
||||
.issuedAmount(issuedAmount)
|
||||
.withdrawCode(code)
|
||||
.build();
|
||||
CuMemberWithdraw cuMemberWithdraw = CuMemberWithdraw.builder().pkMember(pkMember)
|
||||
// .pkAccount(pkAccount).pkBank(pkBank).remarks(cuMemberWithdrawParam.getRemarks())
|
||||
.pkAccount(pkAccount).pkBank(0L).remarks(cuMemberWithdrawParam.getRemarks())
|
||||
.pkRate(currencyDTO.getPkId()).cashAmount(cashAmount)
|
||||
.serviceCharge(serviceChargeAmount).incomeTax(payIncomeTax)
|
||||
.issuedAmount(issuedAmount).withdrawCode(code).build();
|
||||
cuMemberWithdraw.setApproveState(EApproveStatus.WAIT_SUBMIT.getValue());
|
||||
cuMemberWithdraw.setDelFlag(EDelFlag.UN_DELETE.getValue());
|
||||
cuMemberWithdraw.setPkCountry(pkCountry);
|
||||
cuMemberWithdraw.setPkCreator(pkMember);
|
||||
return toAjax(iCuMemberWithdrawService.saveMemberWithdrawInfo(cuMemberWithdraw));
|
||||
return toAjax(cuMemberWithdrawService.saveMemberWithdrawInfo(cuMemberWithdraw));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -247,6 +242,7 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取余额
|
||||
*
|
||||
|
|
@ -265,7 +261,7 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
}
|
||||
} else {
|
||||
//其它配置账户余额
|
||||
balance = iCuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount);
|
||||
balance = cuMemberWithdrawService.getAccountBalance(accountsType, cuMemberAccount);
|
||||
}
|
||||
return balance;
|
||||
}
|
||||
|
|
@ -296,7 +292,7 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
@GetMapping("/list-detail")
|
||||
public TableDataInfo memberWithdrawDetail() {
|
||||
startPage();
|
||||
Object[] objects = iCuMemberWithdrawService.selectMemberWithdrawListByPkMember(SecurityUtils.getUserId(), SecurityUtils.getPkCountry());
|
||||
Object[] objects = cuMemberWithdrawService.selectMemberWithdrawListByPkMember(SecurityUtils.getUserId(), SecurityUtils.getPkCountry());
|
||||
//处理分页
|
||||
TableDataInfo tableDataInfo = getDataTable((List<CuMemberWithdrawExt>) objects[0]);
|
||||
tableDataInfo.setRows((List<CuMemberWithdrawVO>) objects[1]);
|
||||
|
|
@ -305,12 +301,13 @@ public class ApiCuMemberWithdrawController extends BaseController {
|
|||
|
||||
@GetMapping("/cancel")
|
||||
public AjaxResult cancelMemberWithdrawD(Long pkId) {
|
||||
CuMemberWithdraw cuMemberWithdraw = iCuMemberWithdrawService.getById(pkId);
|
||||
CuMemberWithdraw cuMemberWithdraw = cuMemberWithdrawService.getById(pkId);
|
||||
if (cuMemberWithdraw.getApproveState().equals(EApproveStatus.WAIT_SUBMIT.getValue()) && cuMemberWithdraw.getStatus().equals(EWithdrawStatus.NORMAL.getValue())) {
|
||||
return toAjax(iCuMemberWithdrawService.updateWithdrawStatusByPkId(pkId, SecurityUtils.getUserId()));
|
||||
return toAjax(cuMemberWithdrawService.updateWithdrawStatusByPkId(pkId, SecurityUtils.getUserId()));
|
||||
} else {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_NOT_CANCEL));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,22 +35,30 @@ import java.util.*;
|
|||
|
||||
/**
|
||||
* 会员提现表 前端控制器
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-06
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/manager/withdraw")
|
||||
public class CuMemberWithdrawController extends BaseController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private UserTokenService userTokenService;
|
||||
|
||||
@Autowired
|
||||
private ICuMemberBaseService iCuMemberBaseService;
|
||||
private ICuMemberBaseService baseService;
|
||||
|
||||
@Autowired
|
||||
ICuMemberWithdrawService iCuMemberWithdrawService;
|
||||
ICuMemberWithdrawService cuMemberWithdrawService;
|
||||
|
||||
@Autowired
|
||||
ITransactionCommonService iTransactionCommonService;
|
||||
|
||||
@DubboReference
|
||||
IMenuColumnServiceApi iMenuColumnServiceApi;
|
||||
IMenuColumnServiceApi menuColumnServiceApi;
|
||||
|
||||
|
||||
/**
|
||||
* 发起签呈显示
|
||||
|
|
@ -64,11 +72,11 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
if (CollUtil.isEmpty(pkIds)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECT_INITIATING_SIGNATURE_RECORD));
|
||||
}
|
||||
List<CuMemberWithdrawVO> cuMemberWithdrawList = iCuMemberWithdrawService.checkWithdrawPetitionByState(pkIds, EApproveStatus.WAIT_SUBMIT.getValue());
|
||||
List<CuMemberWithdrawVO> cuMemberWithdrawList = cuMemberWithdrawService.checkWithdrawPetitionByState(pkIds, EApproveStatus.WAIT_SUBMIT.getValue());
|
||||
if (CollUtil.isNotEmpty(cuMemberWithdrawList)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECTED_RECORD_DUPLICATE_SIGNATURE_RECORD));
|
||||
}
|
||||
return AjaxResult.success(iCuMemberWithdrawService.showMemberWithdrawPetition(pkIds, null));
|
||||
return AjaxResult.success(cuMemberWithdrawService.showMemberWithdrawPetition(pkIds, null));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -83,7 +91,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
LoginUser loginUser = userTokenService.getLoginUser();
|
||||
cuMemberPetitionVO.setLoginUser(loginUser);
|
||||
cuMemberPetitionVO.setPkCreat(SecurityUtils.getUserId());
|
||||
return AjaxResult.success(iCuMemberWithdrawService.confirmWithdrawPetition(cuMemberPetitionVO));
|
||||
return AjaxResult.success(cuMemberWithdrawService.confirmWithdrawPetition(cuMemberPetitionVO));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -109,7 +117,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
}
|
||||
}
|
||||
startPage();
|
||||
Object[] objects = iCuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO);
|
||||
Object[] objects = cuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO);
|
||||
//处理分页
|
||||
TableDataInfo tableDataInfo = getDataTable((List<CuMemberWithdrawExt>) objects[0]);
|
||||
tableDataInfo.setRows((List<CuMemberWithdrawVO>) objects[1]);
|
||||
|
|
@ -118,7 +126,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
|
||||
|
||||
/**
|
||||
* 明细列表导出
|
||||
* 充值明细列表导出
|
||||
*
|
||||
* @param response 入参
|
||||
* @param cuMemberWithdrawVO 查询入参
|
||||
|
|
@ -129,18 +137,18 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
Integer pkCountry = SecurityUtils.getPkCountry();
|
||||
cuMemberWithdrawVO.setPkCountry(pkCountry);
|
||||
cuMemberWithdrawVO.setSystemType(SecurityUtils.getSystemType());
|
||||
List<CuMemberWithdrawVO> cuMemberWithdrawList = (List<CuMemberWithdrawVO>) iCuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO)[1];
|
||||
List<CuMemberWithdrawVO> cuMemberWithdrawList = (List<CuMemberWithdrawVO>) cuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO)[1];
|
||||
//枚举翻译
|
||||
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EApproveStatus.values(), EWithdrawStatus.values());
|
||||
if (CollUtil.isNotEmpty(cuMemberWithdrawList)) {
|
||||
for (CuMemberWithdrawVO memberWithdraw : cuMemberWithdrawList) {
|
||||
Integer pkAccount = memberWithdraw.getPkAccount();
|
||||
memberWithdraw.setPkAccountVal(iCuMemberBaseService.getAccountTranslateFromDataBase(pkAccount));
|
||||
memberWithdraw.setPkAccountVal(baseService.getAccountTranslateFromDataBase(pkAccount));
|
||||
memberWithdraw.setApproveStateVal(transactionMap.get(EnumsPrefixConstants.APPROVE_STATUS + memberWithdraw.getApproveState()));
|
||||
memberWithdraw.setStatusVal(transactionMap.get(EnumsPrefixConstants.ENU_WITHDRAW_STATUS + memberWithdraw.getStatus()));
|
||||
}
|
||||
}
|
||||
ExcelUtil<CuMemberWithdrawVO> util = new ExcelUtil<>(CuMemberWithdrawVO.class, iMenuColumnServiceApi.queryMenuColumn("CashDetails", SecurityUtils.getUserId()).getData());
|
||||
ExcelUtil<CuMemberWithdrawVO> util = new ExcelUtil<>(CuMemberWithdrawVO.class, menuColumnServiceApi.queryMenuColumn("CashDetails", SecurityUtils.getUserId()).getData());
|
||||
util.exportExcel(response, cuMemberWithdrawList, TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_DETAILS_EXPORT));
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +162,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
@GetMapping("/details")
|
||||
public AjaxResult findWithdrawDetails(Long pkId) {
|
||||
Assert.notNull(pkId, TransactionUtils.getContent(FinanceMsgConstants.SELECT_WITHDRAWAL_RECORD));
|
||||
CuMemberWithdrawVO cuMemberRechargeDetailVO = iCuMemberWithdrawService.queryCuMemberWithdrawDetail(pkId);
|
||||
CuMemberWithdrawVO cuMemberRechargeDetailVO = cuMemberWithdrawService.queryCuMemberWithdrawDetail(pkId);
|
||||
return AjaxResult.success(cuMemberRechargeDetailVO);
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +178,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
public AjaxResult withdrawPayment(@RequestBody CuMemberWithdrawVO memberWithdrawVO) {
|
||||
List<Long> pkIds = memberWithdrawVO.getPkIds();
|
||||
Assert.notNull(pkIds, TransactionUtils.getContent(FinanceMsgConstants.SELECT_PAID_RECORD));
|
||||
List<CuMemberWithdraw> withdrawApproveStateByIds = iCuMemberWithdrawService.getWithdrawApproveStateByIds(pkIds, EApproveStatus.FINISH.getValue());
|
||||
List<CuMemberWithdraw> withdrawApproveStateByIds = cuMemberWithdrawService.getWithdrawApproveStateByIds(pkIds, EApproveStatus.FINISH.getValue());
|
||||
if (CollUtil.isNotEmpty(withdrawApproveStateByIds)) {
|
||||
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.DATA_UNAPPROVED_DATA));
|
||||
}
|
||||
|
|
@ -180,7 +188,7 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
memberWithdrawVO.setPayer(pkMember);
|
||||
memberWithdrawVO.setPaymentTime(new Date());
|
||||
memberWithdrawVO.setPkModified(pkMember);
|
||||
return toAjax(iCuMemberWithdrawService.withdrawPaymentByPkId(memberWithdrawVO));
|
||||
return toAjax(cuMemberWithdrawService.withdrawPaymentByPkId(memberWithdrawVO));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -199,13 +207,13 @@ public class CuMemberWithdrawController extends BaseController {
|
|||
memberWithdrawVO.setPayer(SecurityUtils.getUserId());
|
||||
memberWithdrawVO.setPayerRemarks(memberWithdrawVO.getPayerRemarks());
|
||||
memberWithdrawVO.setPaymentTime(new Date());
|
||||
return toAjax(iCuMemberWithdrawService.withdrawPaymentPositiveByPkId(memberWithdrawVO));
|
||||
return toAjax(cuMemberWithdrawService.withdrawPaymentPositiveByPkId(memberWithdrawVO));
|
||||
}
|
||||
|
||||
@Log(module = EOperationModule.WITHDRAWAL_DETAIL, business = EOperationBusiness.WITHDRAWAL_DETAIL, method = EOperationMethod.REJECT)
|
||||
@PostMapping("/reject")
|
||||
public AjaxResult reject(@RequestBody CuMemberWithdrawRejectParam param) {
|
||||
iCuMemberWithdrawService.withdrawReject(param);
|
||||
cuMemberWithdrawService.withdrawReject(param);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,13 @@ import java.io.Serializable;
|
|||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 提现参数类
|
||||
* @Description: 提现参数类
|
||||
* @Author: ljc
|
||||
* @Time: 2022/9/27 15:32
|
||||
* @Classname: CuMemberWithdrawParam
|
||||
* @Package_name: com.hzs.member.account.param
|
||||
*/
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
|
|
|
|||
|
|
@ -8,10 +8,14 @@ import org.apache.ibatis.annotations.Param;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-银行卡信息 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
public interface CuMemberBankMapper extends BaseMapper<CuMemberBank> {
|
||||
|
||||
/**
|
||||
* 根据会员批量重置银行卡
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package com.hzs.member.account.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.enums.EBankCardStatus;
|
||||
import com.hzs.common.core.enums.EDefault;
|
||||
|
|
@ -20,44 +20,56 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-银行卡信息 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberBankServiceImpl extends ServiceImpl<CuMemberBankMapper, CuMemberBank> implements ICuMemberBankService {
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberBankVO selectCuMemberBankById(Long pkId) {
|
||||
LambdaQueryWrapper<CuMemberBank> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberBank::getPkId, pkId);
|
||||
queryWrapper.eq(CuMemberBank::getDefaultCard, EDefault.YES.getValue());
|
||||
QueryWrapper<CuMemberBank> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("PK_ID", pkId);
|
||||
queryWrapper.eq("DEFAULT_CARD", EDefault.YES.getValue());
|
||||
CuMemberBank cuMemberBank = this.getOne(queryWrapper);
|
||||
return cuMemberBank == null ? null : BeanUtil.copyProperties(cuMemberBank, CuMemberBankVO.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberBankVO isBindBank(Long pkMember, Integer pkCountry) {
|
||||
LambdaQueryWrapper<CuMemberBank> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberBank::getPkCountry, pkCountry);
|
||||
queryWrapper.eq(CuMemberBank::getPkMember, pkMember);
|
||||
queryWrapper.eq(CuMemberBank::getDefaultCard, EDefault.YES.getValue());
|
||||
QueryWrapper<CuMemberBank> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("PK_COUNTRY", pkCountry);
|
||||
queryWrapper.eq("PK_MEMBER", pkMember);
|
||||
queryWrapper.eq("DEFAULT_CARD", EDefault.YES.getValue());
|
||||
return BeanUtil.copyProperties(this.getOne(queryWrapper), CuMemberBankVO.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Boolean unbindBank(Long pkId, Long pkMember) {
|
||||
LambdaUpdateWrapper<CuMemberBank> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(CuMemberBank::getDelFlag, EDelFlag.DELETE.getValue())
|
||||
.set(CuMemberBank::getModifiedTime, new Date())
|
||||
.set(CuMemberBank::getPkModified, pkMember)
|
||||
.eq(CuMemberBank::getPkId, pkId);
|
||||
UpdateWrapper<CuMemberBank> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue())
|
||||
.set("MODIFIED_TIME", new Date())
|
||||
.set("PK_MODIFIED", pkMember)
|
||||
.eq("PK_ID", pkId);
|
||||
return update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer saveMemberBank(CuMemberBankParam cuMemberBankParam) {
|
||||
CuMemberBankVO bindCard = isBindBank(cuMemberBankParam.getPkMember(), cuMemberBankParam.getPkCountry());
|
||||
CuMemberBank cuMemberBank = new CuMemberBank();
|
||||
BeanUtil.copyProperties(cuMemberBankParam, cuMemberBank);
|
||||
//是否绑定银行卡
|
||||
Long pkMember = cuMemberBankParam.getPkMember();
|
||||
Integer pkCountry = cuMemberBankParam.getPkCountry();
|
||||
CuMemberBankVO bindCard = isBindBank(pkMember, pkCountry);
|
||||
int isDefault = null != bindCard.getDefaultCard() ? EBankCardStatus.NO.getValue() : EBankCardStatus.YES.getValue();
|
||||
CuMemberBank cuMemberBank = BeanUtil.copyProperties(cuMemberBankParam, CuMemberBank.class);
|
||||
cuMemberBank.setDefaultCard(isDefault);
|
||||
cuMemberBank.setPkCreator(cuMemberBankParam.getPkMember());
|
||||
return baseMapper.insert(cuMemberBank);
|
||||
|
|
@ -71,16 +83,26 @@ public class CuMemberBankServiceImpl extends ServiceImpl<CuMemberBankMapper, CuM
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateDefault(Long pkId, Long pkMember, Integer pkCountry) {
|
||||
LambdaUpdateWrapper<CuMemberBank> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.set(CuMemberBank::getDefaultCard, EBankCardStatus.NO.getValue())
|
||||
.eq(CuMemberBank::getDefaultCard, EBankCardStatus.YES.getValue())
|
||||
.eq(CuMemberBank::getPkMember, pkMember)
|
||||
.eq(CuMemberBank::getPkCountry, pkCountry);
|
||||
updateMemberBankCardToDefault(pkMember, pkCountry);
|
||||
UpdateWrapper<CuMemberBank> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("DEFAULT_CARD", EBankCardStatus.YES.getValue()).eq("PK_ID", pkId);
|
||||
return update(updateWrapper);
|
||||
}
|
||||
|
||||
LambdaUpdateWrapper<CuMemberBank> newUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
newUpdateWrapper.set(CuMemberBank::getDefaultCard, EBankCardStatus.YES.getValue())
|
||||
.eq(CuMemberBank::getPkId, pkId);
|
||||
return update(newUpdateWrapper);
|
||||
/**
|
||||
* 绑定的银行卡更新为非默认
|
||||
*
|
||||
* @param pkMember 会员ID
|
||||
* @param pkCountry 国家ID
|
||||
* @return Boolean
|
||||
*/
|
||||
public Boolean updateMemberBankCardToDefault(Long pkMember, Integer pkCountry) {
|
||||
UpdateWrapper<CuMemberBank> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.set("DEFAULT_CARD", EBankCardStatus.NO.getValue())
|
||||
.eq("DEFAULT_CARD", EBankCardStatus.YES.getValue())
|
||||
.eq("PK_MEMBER", pkMember)
|
||||
.eq("PK_COUNTRY", pkCountry);
|
||||
return update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.account.CuMemberTrade;
|
||||
|
|
@ -84,16 +83,9 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount) {
|
||||
int row = baseMapper.insert(cuMemberTransfer);
|
||||
if (row == 0) {
|
||||
throw new ServiceException("转账失败,请确认后重试");
|
||||
}
|
||||
if (this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_OUT.getValue()) == 0) {
|
||||
throw new ServiceException("转账失败,请确认后重试");
|
||||
}
|
||||
if (this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_IN.getValue()) == 0) {
|
||||
throw new ServiceException("转账失败,请确认后重试");
|
||||
}
|
||||
Integer row = baseMapper.insert(cuMemberTransfer);
|
||||
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_OUT.getValue());
|
||||
this.updateTradeAndBalancd(cuMemberTransfer, ETransferType.TRANSFER_IN.getValue());
|
||||
ChargingBonusDetail(cuMemberTransfer, cuMemberAccount, toMemberAccount);
|
||||
return row;
|
||||
}
|
||||
|
|
@ -167,14 +159,11 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
|
|||
BigDecimal amount = type == (ETransferType.TRANSFER_OUT.getValue()) ? transferMoney.negate() : transferMoney;
|
||||
Integer pkAccountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
|
||||
|
||||
CuMemberAccountParam param = CuMemberAccountParam.builder()
|
||||
.pkMember(memberId)
|
||||
.accountType(pkAccountValue)
|
||||
.amount(amount)
|
||||
.pkModified(cuMemberTransfer.getPkCreator())
|
||||
.accountClassify(ETradeClassify.TRANSFER.getValue())
|
||||
.pkCountry(cuMemberTransfer.getPkCountry())
|
||||
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(memberId)
|
||||
.accountType(pkAccountValue).amount(amount).pkModified(cuMemberTransfer.getPkCreator())
|
||||
.accountClassify(ETradeClassify.TRANSFER.getValue()).pkCountry(cuMemberTransfer.getPkCountry())
|
||||
.transferType(type).build();
|
||||
|
||||
return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.MemberFieldConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
|
@ -31,6 +32,7 @@ import com.hzs.member.account.service.*;
|
|||
import com.hzs.member.account.vo.CuMemberPetitionVO;
|
||||
import com.hzs.member.account.vo.CuMemberTradeVO;
|
||||
import com.hzs.member.account.vo.CuMemberWithdrawVO;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IWithdrawalProcessServiceApi;
|
||||
import com.hzs.system.config.IWithdrawalTaxServiceApi;
|
||||
|
|
@ -56,19 +58,29 @@ import java.util.stream.Collectors;
|
|||
@Slf4j
|
||||
public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMapper, CuMemberWithdraw> implements ICuMemberWithdrawService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberTradeService iCuMemberTradeService;
|
||||
@Autowired
|
||||
private ICuMemberAccountService iCuMemberAccountService;
|
||||
@Autowired
|
||||
private ICuMemberBaseService iCuMemberBaseService;
|
||||
|
||||
@DubboReference
|
||||
IWithdrawalTaxServiceApi iWithdrawalTaxServiceApi;
|
||||
IWithdrawalTaxServiceApi withdrawalTaxServiceApi;
|
||||
|
||||
@Autowired
|
||||
ICuMemberTradeService cuMemberTradeService;
|
||||
|
||||
@Autowired
|
||||
ICuMemberAccountService cuMemberAccountService;
|
||||
|
||||
@Autowired
|
||||
ICuMemberBaseService cuMemberBaseService;
|
||||
|
||||
@Autowired
|
||||
ICuMemberBankService cuMemberBankService;
|
||||
|
||||
@Autowired
|
||||
ICuMemberService cuMemberService;
|
||||
|
||||
@DubboReference
|
||||
IWithdrawalProcessServiceApi iWithdrawalProcessServiceApi;
|
||||
IWithdrawalProcessServiceApi withdrawalProcessServiceApi;
|
||||
@DubboReference
|
||||
IApprovalServiceApi iApprovalServiceApi;
|
||||
IApprovalServiceApi approvalServiceApi;
|
||||
|
||||
|
||||
@Override
|
||||
|
|
@ -79,8 +91,8 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
@Override
|
||||
public List<CuMemberWithdraw> selectWithdrawByBatch(String batchNO) {
|
||||
//根据单号查询充值信息
|
||||
LambdaQueryWrapper<CuMemberWithdraw> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberWithdraw::getBatch, batchNO);
|
||||
QueryWrapper<CuMemberWithdraw> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("BATCH", batchNO);
|
||||
return baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
|
|
@ -113,11 +125,10 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Integer saveMemberWithdrawInfo(CuMemberWithdraw cuMemberWithdraw) {
|
||||
int row = baseMapper.insert(cuMemberWithdraw);
|
||||
if (this.updateTradeAndBalancd(cuMemberWithdraw, EOperationMethod.INSERT) == 0) {
|
||||
throw new ServiceException("提现失败,请确认后重试");
|
||||
}
|
||||
Integer row = baseMapper.insert(cuMemberWithdraw);
|
||||
this.updateTradeAndBalancd(cuMemberWithdraw, EOperationMethod.INSERT);
|
||||
return row;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -128,23 +139,18 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
*/
|
||||
public Integer updateTradeAndBalancd(CuMemberWithdraw cuMemberWithdraw, EOperationMethod eMethodType) {
|
||||
CuMemberTrade cuMemberTrade = this.getCuMemberTrade(cuMemberWithdraw, eMethodType);
|
||||
iCuMemberTradeService.save(cuMemberTrade);
|
||||
cuMemberTradeService.save(cuMemberTrade);
|
||||
//更新余额表
|
||||
Integer pkAccount = cuMemberWithdraw.getPkAccount();
|
||||
int accountType = iCuMemberBaseService.getAccount(pkAccount).getFieldValue();
|
||||
int accountType = cuMemberBaseService.getAccount(pkAccount).getFieldValue();
|
||||
//提现金额
|
||||
BigDecimal cashAmount = cuMemberWithdraw.getCashAmount();
|
||||
BigDecimal amount = eMethodType.equals(EOperationMethod.INSERT) ? cashAmount.negate() : cashAmount;
|
||||
CuMemberAccountParam param = CuMemberAccountParam.builder()
|
||||
.pkMember(cuMemberWithdraw.getPkMember())
|
||||
.accountType(accountType)
|
||||
.amount(amount)
|
||||
.pkModified(cuMemberWithdraw.getPkCreator())
|
||||
.accountClassify(ETradeClassify.WITHDRAWAL.getValue())
|
||||
.pkCountry(cuMemberWithdraw.getPkCountry())
|
||||
.transferType(ETransferType.TRANSFER_IN.getValue())
|
||||
.build();
|
||||
return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
|
||||
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(cuMemberWithdraw.getPkMember())
|
||||
.accountType(accountType).amount(amount).pkModified(cuMemberWithdraw.getPkCreator())
|
||||
.accountClassify(ETradeClassify.WITHDRAWAL.getValue()).pkCountry(cuMemberWithdraw.getPkCountry())
|
||||
.transferType(ETransferType.TRANSFER_IN.getValue()).build();
|
||||
return cuMemberAccountService.updateMemberAccountByMemberCode(param);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -166,9 +172,9 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
Integer tradeType = eMethodType.equals(EOperationMethod.INSERT) ? ETradeType.WITHDRAW.getValue() : ETradeType.WITHDRAWAL_REFUSED.getValue();
|
||||
Integer pkAccount = cuMemberWithdraw.getPkAccount();
|
||||
//账户值
|
||||
Integer accountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
|
||||
Integer accountValue = cuMemberBaseService.getAccountValueById(pkAccount);
|
||||
//查询余额
|
||||
BigDecimal balance = iCuMemberAccountService.selectBalanceByMemberCode(pkMember, accountValue);
|
||||
BigDecimal balance = cuMemberAccountService.selectBalanceByMemberCode(pkMember, accountValue);
|
||||
CuMemberTrade memberTrade = CuMemberTrade.builder().pkMember(pkMember)
|
||||
.tradeCode(tradeCode)
|
||||
.pkAccount(pkAccount)
|
||||
|
|
@ -234,18 +240,18 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
Integer pkRate = memberWithdraw.getPkRate();
|
||||
if (null != pkRate) {
|
||||
//汇率
|
||||
exchangeRate = iCuMemberBaseService.getCurrencyById(memberWithdraw.getPkRate()).getInExchangeRate();
|
||||
exchangeRate = cuMemberBaseService.getCurrencyById(memberWithdraw.getPkRate()).getInExchangeRate();
|
||||
} else {
|
||||
//取最新的汇率
|
||||
CurrencyDTO currencyDTO = iCuMemberBaseService.getCurrency(cuMemberWithdrawVO.getPkCountry());
|
||||
CurrencyDTO currencyDTO = cuMemberBaseService.getCurrency(cuMemberWithdrawVO.getPkCountry());
|
||||
exchangeRate = currencyDTO.getInExchangeRate();
|
||||
}
|
||||
|
||||
//查询提现账户
|
||||
Integer pkAccount = memberWithdraw.getPkAccount();
|
||||
Integer accountsType = iCuMemberBaseService.getAccountValueById(pkAccount);
|
||||
Integer accountsType = cuMemberBaseService.getAccountValueById(pkAccount);
|
||||
//查询账户余额
|
||||
CuMemberAccount cuMemberAccount = iCuMemberAccountService.queryCuMemberAccountByPkMember(memberWithdraw.getPkMember());
|
||||
CuMemberAccount cuMemberAccount = cuMemberAccountService.queryCuMemberAccountByPkMember(memberWithdraw.getPkMember());
|
||||
BigDecimal availableBalance;
|
||||
if (accountsType.equals(EAccount.BONUS.getValue())) {
|
||||
BigDecimal balance = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.WITHDRAW_ACCOUNT + accountsType);
|
||||
|
|
@ -277,7 +283,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
cuMemberWithdrawVO.setSettleServiceCharge(settleServiceCharge);
|
||||
cuMemberWithdrawVO.setSettleCashAmount(settleCashAmount);
|
||||
cuMemberWithdrawVO.setSettleIssuedAmount(settleIssuedAmount);
|
||||
cuMemberWithdrawVO.setPkAccount(iCuMemberBaseService.translateAccountValue(pkAccount));
|
||||
cuMemberWithdrawVO.setPkAccount(cuMemberBaseService.translateAccountValue(pkAccount));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -314,6 +320,27 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
return row;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取余额
|
||||
*
|
||||
* @param accountsType 账户值
|
||||
* @param cuMemberAccount 账户信息
|
||||
* @return BigDecimal
|
||||
*/
|
||||
private BigDecimal getAvailableBalance(Integer accountsType, CuMemberAccount cuMemberAccount) {
|
||||
//账户余额
|
||||
BigDecimal accountBalance = getAccountBalance(accountsType, cuMemberAccount);
|
||||
//可提现账户余额
|
||||
BigDecimal withdrawBalance = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.WITHDRAW_ACCOUNT + accountsType);
|
||||
withdrawBalance = withdrawBalance == null ? BigDecimal.ZERO : withdrawBalance;
|
||||
BigDecimal lockAccount = ReflectUtils.invokeGetter(cuMemberAccount, MemberFieldConstants.LOCK_WITHDRAW_ACCOUNT + accountsType);
|
||||
if (null != lockAccount && lockAccount.compareTo(BigDecimal.ZERO) > 0) {
|
||||
withdrawBalance = withdrawBalance.subtract(lockAccount);
|
||||
}
|
||||
//取最小余额
|
||||
return accountBalance.compareTo(withdrawBalance) < 0 ? accountBalance : withdrawBalance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取账户余额
|
||||
*
|
||||
|
|
@ -338,7 +365,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
@Override
|
||||
public BigDecimal computeIncomeTaxValue(Long pkMember, BigDecimal cashAmount, Integer pkCountry, BigDecimal minAmount) {
|
||||
//获取个税配置
|
||||
R<BdWithdrawalTaxExt> bdWithdrawalTaxExtR = iWithdrawalTaxServiceApi.queryWithdrawalTax(pkCountry);
|
||||
R<BdWithdrawalTaxExt> bdWithdrawalTaxExtR = withdrawalTaxServiceApi.queryWithdrawalTax(pkCountry);
|
||||
BdWithdrawalTaxExt withdrawalTax = bdWithdrawalTaxExtR.getData();
|
||||
if (null == withdrawalTax) {
|
||||
return BigDecimal.ZERO;
|
||||
|
|
@ -371,7 +398,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
|
||||
@Override
|
||||
public BigDecimal computeServiceCharge(Integer pkCountry, BigDecimal cashAmount) {
|
||||
BdWithdrawalProcess withdrawalProcess = iWithdrawalProcessServiceApi.queryBdWithdrawalProcess(pkCountry).getData();
|
||||
BdWithdrawalProcess withdrawalProcess = withdrawalProcessServiceApi.queryBdWithdrawalProcess(pkCountry).getData();
|
||||
//手续费类型
|
||||
Integer serviceType = withdrawalProcess.getServiceType();
|
||||
BigDecimal serviceRatio = withdrawalProcess.getServiceRatio();
|
||||
|
|
@ -384,6 +411,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
//手续费金额 = 本次提现金额 * 手续费比例
|
||||
return cashAmount.multiply(serviceChargeeRatio).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -397,11 +425,13 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
return roundIngAmount;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<CuMemberWithdraw> getWithdrawApproveStateByIds(List<Long> pkIds, Integer approveState) {
|
||||
return baseMapper.getWithdrawApproveStateByIds(pkIds, approveState);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberPetitionVO showMemberWithdrawPetition(List<Long> pkIds, Integer approveState) {
|
||||
CuMemberPetitionVO memberPetitionVo = new CuMemberPetitionVO();
|
||||
|
|
@ -414,6 +444,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
return memberPetitionVo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<CuMemberWithdrawVO> checkWithdrawPetitionByState(List<Long> pkIds, Integer approveState) {
|
||||
return BeanUtil.copyToList(baseMapper.showMemberWithdrawPetition(pkIds, approveState), CuMemberWithdrawVO.class);
|
||||
|
|
@ -437,7 +468,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
List<String> withdrawCodeList = cuMemberWithdrawExts.stream().map(CuMemberWithdrawExt::getWithdrawCode).collect(Collectors.toList());
|
||||
CuMemberTradeVO memberTradeVO = CuMemberTradeVO.builder().sourceCode(businessNo)
|
||||
.tradeCodes(withdrawCodeList).pkModified(loginUser.getUserId()).build();
|
||||
iCuMemberTradeService.updateSourceCodeByTradeCode(memberTradeVO);
|
||||
cuMemberTradeService.updateSourceCodeByTradeCode(memberTradeVO);
|
||||
|
||||
List<CuMemberWithdrawVO> memberWithdrawList = memberPetitionVo.getMemberWithdrawList();
|
||||
//提交提现用户
|
||||
|
|
@ -450,7 +481,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
.remark(memberPetitionVo.getDescription())
|
||||
.pkMemberList(pkMembers).build();
|
||||
//调用审批接口
|
||||
R<String> submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser);
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser);
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException(submit.getMsg());
|
||||
}
|
||||
|
|
@ -486,7 +517,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
.freeSignFlag(false).build();
|
||||
}
|
||||
businessLogDTOList.add(businessLog);
|
||||
iCuMemberBaseService.operationLogMQ(businessLogDTOList);
|
||||
cuMemberBaseService.operationLogMQ(businessLogDTOList);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -497,7 +528,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
List<CuMemberWithdrawExt> cuMemberWithdrawList = baseMapper.selectMemberWithdrawListByPkMember(pkMember, pkCountry);
|
||||
if (CollUtil.isNotEmpty(cuMemberWithdrawList)) {
|
||||
//查询币种值
|
||||
List<BdAccount> allAccounts = iCuMemberBaseService.getAccountByCountryId(pkCountry);
|
||||
List<BdAccount> allAccounts = cuMemberBaseService.getAccountByCountryId(pkCountry);
|
||||
Map<Integer, BdAccount> map = allAccounts.stream().collect(Collectors.toMap(BdAccount::getPkId, o -> o));
|
||||
for (CuMemberWithdrawExt ext : cuMemberWithdrawList) {
|
||||
cuMemberWithdrawVO = BeanUtil.copyProperties(ext, CuMemberWithdrawVO.class);
|
||||
|
|
@ -519,18 +550,18 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
BigDecimal backAmount = cuMemberWithdraw.getCashAmount();
|
||||
if (backAmount.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//插入交易明细表
|
||||
iCuMemberTradeService.save(getCuMemberTradeInfo(cuMemberWithdraw));
|
||||
cuMemberTradeService.save(getCuMemberTradeInfo(cuMemberWithdraw));
|
||||
//更新余额表
|
||||
CuMemberAccount cuMemberAccount = this.getCuMemberAccount(cuMemberWithdraw, backAmount);
|
||||
cuMemberAccount.setPkCountry(cuMemberWithdraw.getPkCountry());
|
||||
iCuMemberAccountService.updateMemberAccount(cuMemberAccount, pkModified);
|
||||
cuMemberAccountService.updateMemberAccount(cuMemberAccount, pkModified);
|
||||
}
|
||||
return baseMapper.updateWithdrawStatusByPkId(pkId, pkModified);
|
||||
}
|
||||
|
||||
private CuMemberAccount getCuMemberAccount(CuMemberWithdraw cuMemberWithdraw, BigDecimal backAmount) {
|
||||
Integer pkAccount = cuMemberWithdraw.getPkAccount();
|
||||
BdAccount account = iCuMemberBaseService.getAccount(pkAccount);
|
||||
BdAccount account = cuMemberBaseService.getAccount(pkAccount);
|
||||
if (account.getFieldValue().equals(EAccount.BONUS.getValue())) {
|
||||
return CuMemberAccount.builder()
|
||||
.account4(backAmount)
|
||||
|
|
@ -554,11 +585,11 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
private CuMemberTrade getCuMemberTradeInfo(CuMemberWithdraw cuMemberWithdraw) {
|
||||
Long pkMember = cuMemberWithdraw.getPkMember();
|
||||
Integer pkAccount = cuMemberWithdraw.getPkAccount();
|
||||
BdAccount account = iCuMemberBaseService.getAccount(pkAccount);
|
||||
BdAccount account = cuMemberBaseService.getAccount(pkAccount);
|
||||
//交易金额
|
||||
BigDecimal tradeAmount = cuMemberWithdraw.getCashAmount();
|
||||
//查询余额
|
||||
BigDecimal balance = iCuMemberAccountService.selectBalanceByMemberCode(pkMember, account.getFieldValue());
|
||||
BigDecimal balance = cuMemberAccountService.selectBalanceByMemberCode(pkMember, account.getFieldValue());
|
||||
CuMemberTrade memberTrade = CuMemberTrade.builder().pkMember(pkMember)
|
||||
.tradeCode(CommonUtil.createSerialNumber(EOrderPrefix.WITHDRAWAL_CODE.getValue()))
|
||||
.pkAccount(pkAccount)
|
||||
|
|
@ -609,7 +640,7 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl<CuMemberWithdrawMap
|
|||
.tradeCode(cuMemberWithdraw.getWithdrawCode()).pkCountry(pkCountry)
|
||||
.tradeType(EApprovalBusiness.WITHDRAWAL.getValue())
|
||||
.pkCreator(SecurityUtils.getUserId()).build();
|
||||
iCuMemberTradeService.businessCommissionReject(businessCommissionDTO);
|
||||
cuMemberTradeService.businessCommissionReject(businessCommissionDTO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package com.hzs.member.account.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.hzs.common.core.annotation.Transaction;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -16,6 +18,7 @@ import java.io.Serializable;
|
|||
@NoArgsConstructor
|
||||
public class CuMemberBankVO implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* 银行主键
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,8 +13,15 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员提现表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-09-06
|
||||
*/
|
||||
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@Builder
|
||||
|
|
@ -114,6 +121,7 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO {
|
|||
/**
|
||||
* 汇率
|
||||
*/
|
||||
@Excel(name = "汇率", scale = 4)
|
||||
@BigDecimalFormat("#0.0000")
|
||||
private BigDecimal exchangeRate;
|
||||
|
||||
|
|
@ -152,11 +160,13 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO {
|
|||
/**
|
||||
* 开户支行省
|
||||
*/
|
||||
@Excel(name = "开户支行省")
|
||||
private String accountProvince;
|
||||
|
||||
/**
|
||||
* 开户支行市
|
||||
*/
|
||||
@Excel(name = "开户支行市")
|
||||
private String accountCity;
|
||||
|
||||
/**
|
||||
|
|
@ -175,10 +185,12 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO {
|
|||
* 有效期起始日期
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "有效期起始日期", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date validStartDate;
|
||||
/**
|
||||
* 有效期截止日期
|
||||
*/
|
||||
@Excel(name = "有效期截止日期")
|
||||
private String validEndDate;
|
||||
|
||||
/**
|
||||
|
|
@ -305,7 +317,7 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO {
|
|||
/**
|
||||
* 查询状态
|
||||
*/
|
||||
private Integer queryStatus;
|
||||
private Integer queryStatus;
|
||||
|
||||
/**
|
||||
* 会员编号集合
|
||||
|
|
|
|||
|
|
@ -1,20 +1,15 @@
|
|||
package com.hzs.member.base.controller.api;
|
||||
|
||||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.config.BdConfig;
|
||||
import com.hzs.common.core.constant.CacheConstants;
|
||||
import com.hzs.common.core.constant.msg.CommonMsgConstants;
|
||||
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
|
||||
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||
import com.hzs.common.core.domain.FileResult;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.utils.uuid.IdUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.core.web.page.TableDataInfo;
|
||||
|
|
@ -40,7 +35,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|||
|
||||
import javax.validation.Valid;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 会员控制器
|
||||
|
|
@ -57,9 +51,6 @@ public class ApiMemberController extends BaseController {
|
|||
@Autowired
|
||||
private IApiAliSmsService iApiAliSmsService;
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
|
||||
|
|
@ -375,56 +366,4 @@ public class ApiMemberController extends BaseController {
|
|||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询推荐人编号 -- 188分享注册
|
||||
*
|
||||
* @param pkParent 推荐人(加密)
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/fans-convert-code/{pkParent}")
|
||||
public AjaxResult fansConvertCode(@PathVariable("pkParent") String pkParent) {
|
||||
// 验证必输项
|
||||
if (pkParent == null) {
|
||||
return AjaxResult.error(MemberMsgConstants.REQUIRED_NOT_EMPTY);
|
||||
}
|
||||
CuMember cuMember = iCuMemberService.getMemberById(Long.parseLong(new String(Base64Decoder.decode(pkParent))));
|
||||
if (null != cuMember) {
|
||||
return AjaxResult.success("", cuMember.getMemberCode());
|
||||
}
|
||||
return AjaxResult.error();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单查询会员信息 -- 188分享注册
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
* @return
|
||||
*/
|
||||
// @RepeatSubmitSimple(intervalTime = 2L)
|
||||
@GetMapping("/fans-order/{orderCode}")
|
||||
public AjaxResult fansOrder(@PathVariable("orderCode") String orderCode) {
|
||||
CuMemberExt cuMemberExt = iCuMemberService.queryFansOrder(orderCode);
|
||||
if (null == cuMemberExt) {
|
||||
return AjaxResult.error("注册会员失败,请联系客服处理");
|
||||
}
|
||||
// 自动登录 uuid 标记
|
||||
String uuid = IdUtils.simpleUUID();
|
||||
// 根据会员编号放一个登录 uuid 做为自动登录校验使用(120分钟有效)
|
||||
redisService.setCacheObject(CacheConstants.AUTO_LOGIN + cuMemberExt.getMemberCode(), uuid, CacheConstants.LOGIN_TOKEN_REFRESH_TIME * 2, TimeUnit.MINUTES);
|
||||
|
||||
|
||||
return AjaxResult.success(MemberShare.builder()
|
||||
.memberName(cuMemberExt.getMemberName())
|
||||
.memberCode(cuMemberExt.getMemberCode())
|
||||
.phone(cuMemberExt.getPhone())
|
||||
.loginPassword(cuMemberExt.getLoginPassword())
|
||||
.payPassword(cuMemberExt.getPayPassword())
|
||||
.urlAddress(BdConfig.getPc())
|
||||
// .gzh(BdConfig.getGzh())
|
||||
// .ios(BdConfig.getIos())
|
||||
// .android(BdConfig.getAndroid())
|
||||
.uuid(uuid)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -599,12 +599,4 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
|||
*/
|
||||
List<MemberMeritsSummaryVo> queryDateBySummary(CensusSummaryParam censusSummaryParam);
|
||||
|
||||
|
||||
/**
|
||||
* 查询海粉订单
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
* @return
|
||||
*/
|
||||
CuMemberExt queryFansOrder(@Param("orderCode") String orderCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,11 @@
|
|||
package com.hzs.member.base.provider;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.ELoginType;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.member.account.dto.BusinessCommissionDTO;
|
||||
|
|
@ -20,8 +16,6 @@ import com.hzs.member.base.service.*;
|
|||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
|
||||
import com.hzs.member.swing.param.CuMemberSwingNetParam;
|
||||
import com.hzs.member.swing.service.ICuMemberSwingNetService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -40,12 +34,8 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
@Autowired
|
||||
private ICuMemberService iCuMemberService;
|
||||
@Autowired
|
||||
private ICuMemberShareService iCuMemberShareService;
|
||||
@Autowired
|
||||
private ICuMemberBusinessService iCuMemberBusinessService;
|
||||
@Autowired
|
||||
private ICuMemberRegisterService iCuMemberRegisterService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||
|
||||
@Override
|
||||
|
|
@ -62,20 +52,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(loginMember);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public R<LoginMember> getShareMemberInfo(String memberCode) {
|
||||
LambdaQueryWrapper<CuMemberShare> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberShare::getMemberCode, memberCode);
|
||||
CuMemberShare cuMemberShare = iCuMemberShareService.getOne(queryWrapper);
|
||||
if (null == cuMemberShare) {
|
||||
return R.fail("用户名或密码错误");
|
||||
}
|
||||
LoginMember loginMember = new LoginMember();
|
||||
loginMember.setLoginType(ELoginType.SHARE_MEMBER.getValue());
|
||||
loginMember.setCuMemberShare(cuMemberShare);
|
||||
return R.ok(loginMember);
|
||||
}
|
||||
@Override
|
||||
public R<CuMemberExt> getMemberById(Long memberId) {
|
||||
return R.ok(iCuMemberService.getMemberById(memberId));
|
||||
|
|
@ -215,11 +191,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMember> createMemberIdAndCode(CuMember cuMember) {
|
||||
return R.ok(iCuMemberService.createMemberIdAndCode(cuMember));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMember> createRegisterMemberCode(CuMember cuMember) {
|
||||
return R.ok(iCuMemberService.createRegisterMemberCode(cuMember));
|
||||
|
|
@ -245,11 +216,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(iCuMemberService.findMemberByMemberId(pkMemberList, pkCountry));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMemberRegister> queryCuMemberRegister(Long pkMember) {
|
||||
return R.ok(iCuMemberRegisterService.queryCuMemberRegister(pkMember));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> updateCuMemberAccountByDraw(Long pkMember, Integer pkCountry, Integer accountValue, BigDecimal rewardMoney) {
|
||||
try {
|
||||
|
|
@ -378,9 +344,4 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(iCuMemberService.checkRegisterRelation(phone, parentCode));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public R<CuMemberShare> queryCuMemberShare(Long pkMember) {
|
||||
return R.ok(iCuMemberShareService.queryCuMemberShare(pkMember));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,13 +19,6 @@ public interface ICuMemberRegisterService extends IService<CuMemberRegister> {
|
|||
*/
|
||||
List<CuMemberVO> queryCuMemberRegisterExeByCondition(MemberParam memberParam);
|
||||
|
||||
/**
|
||||
* 根据会员主键查询会员注册信息
|
||||
*
|
||||
* @param pkMember 会员主键
|
||||
*/
|
||||
CuMemberRegister queryCuMemberRegister(Long pkMember);
|
||||
|
||||
/**
|
||||
* 将用户注册表信息更改为死点
|
||||
*
|
||||
|
|
|
|||
|
|
@ -155,15 +155,7 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
* @param digit 编号数字位数
|
||||
* @return
|
||||
*/
|
||||
String createUserNameByPremix(Integer pkCountry, Integer digit); /**
|
||||
* 生成会员编号
|
||||
*
|
||||
* @param pkCountry 所属国家
|
||||
* @param isHaiFun
|
||||
* @param digit 编号数字位数
|
||||
* @return
|
||||
*/
|
||||
String createUserNameByPremix(Integer pkCountry, Boolean isHaiFun, Integer digit);
|
||||
String createUserNameByPremix(Integer pkCountry, Integer digit);
|
||||
|
||||
/**
|
||||
* 批量生成会员编号
|
||||
|
|
@ -779,7 +771,7 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
* @return
|
||||
*/
|
||||
CuMember getRetailTopMember(Long pkMember, String memberCode, Long topPkMember, String topMemberCode);
|
||||
String createRetailMemberCode(String prefix);
|
||||
|
||||
/**
|
||||
* 校验注册关系(是否跨团队)
|
||||
* 2024.12.24 修改为校验手机号必须唯一(9035)
|
||||
|
|
@ -877,12 +869,4 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
*/
|
||||
List<CensusSummaryVo> selectCensusSummary(CensusSummaryParam censusSummaryParam, List<String> days);
|
||||
|
||||
|
||||
/**
|
||||
* 查询海粉订单
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
* @return
|
||||
*/
|
||||
CuMemberExt queryFansOrder(String orderCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,5 @@ public interface ICuMemberShareService extends IService<CuMemberShare> {
|
|||
* @return
|
||||
*/
|
||||
List<SeaFlourVo> seaFlourList(SeaFlourParam seaFlourParam);
|
||||
/**
|
||||
* 查询会员分享
|
||||
*
|
||||
* @param pkMember 会员主键
|
||||
*/
|
||||
CuMemberShare queryCuMemberShare(Long pkMember);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.hzs.member.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.member.base.CuMemberRegister;
|
||||
|
|
@ -27,15 +26,6 @@ public class CuMemberRegisterServiceImpl extends ServiceImpl<CuMemberRegisterMap
|
|||
return baseMapper.queryCuMemberRegisterExeByCondition(memberParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CuMemberRegister queryCuMemberRegister(Long pkMember) {
|
||||
LambdaQueryWrapper<CuMemberRegister> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(CuMemberRegister::getPkMember, pkMember);
|
||||
queryWrapper.orderByAsc(CuMemberRegister::getPayTime);
|
||||
List<CuMemberRegister> cuMemberRegisters = baseMapper.selectList(queryWrapper);
|
||||
return cuMemberRegisters.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCuMemberRegister(CuMemberRegister cuMemberRegister) {
|
||||
baseMapper.updateCuMemberRegister(cuMemberRegister);
|
||||
|
|
|
|||
|
|
@ -1556,34 +1556,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
return memberCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createUserNameByPremix(Integer pkCountry, Boolean isHaiFun, Integer digit) {
|
||||
String prefix;
|
||||
if (isHaiFun) {
|
||||
prefix = SysConstants.HAI_FUN_PREFIX;
|
||||
} else {
|
||||
CountryDTO country = iCountryServiceApi.getCountry(pkCountry).getData();
|
||||
prefix = country.getCode();
|
||||
}
|
||||
if (StringUtils.isEmpty(prefix)) {
|
||||
return null;
|
||||
}
|
||||
// 生成loginName
|
||||
String memberCode = this.createMemberCode(prefix, digit);
|
||||
|
||||
CuMember cuMemberByKey = getMember(memberCode);
|
||||
if (cuMemberByKey != null && cuMemberByKey.getPkId() > 0) {
|
||||
// 用户名已经存在,则继续尝试
|
||||
return this.createUserNameByPremix(pkCountry, isHaiFun, digit);
|
||||
} else {
|
||||
// 验证空单注册里面是否存在编号
|
||||
List<CuMemberEmptyCode> cuMemberEmptyDetails = iCuMemberEmptyCodeService.queryCuMemberEmptyCode(memberCode);
|
||||
if (CollectionUtil.isNotEmpty(cuMemberEmptyDetails)) {
|
||||
return this.createUserNameByPremix(pkCountry, isHaiFun, digit);
|
||||
}
|
||||
}
|
||||
return memberCode;
|
||||
}
|
||||
/**
|
||||
* 创建会员编号
|
||||
*
|
||||
|
|
@ -3037,7 +3009,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
* @param prefix 会员编号前缀
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String createRetailMemberCode(String prefix) {
|
||||
if (StringUtils.isEmpty(prefix)) {
|
||||
prefix = SysConstants.RETAIL_PREFIX;
|
||||
|
|
@ -3225,13 +3196,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
// 根据类型查询所有人各类型的订单业绩汇总
|
||||
List<CensusSummaryVo> censusSummaryList = new ArrayList<>();
|
||||
for (String day : days) {
|
||||
censusSummaryParam.setTime(day);// 将体系转换成集合类型
|
||||
if (censusSummaryParam.getPkBdVertexStr() != null) {
|
||||
censusSummaryParam.setPkBdVertexStrList(Arrays.stream(censusSummaryParam.getPkBdVertexStr().split(","))
|
||||
.map(Integer::valueOf)
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
censusSummaryParam.setTime(day);
|
||||
List<MemberMeritsSummaryVo> memberMeritsSummaryVoList = baseMapper.queryDateBySummary(censusSummaryParam);
|
||||
Map<Integer, MemberMeritsSummaryVo> memberMeritsSummaryMap = memberMeritsSummaryVoList.stream().collect(Collectors.toMap(MemberMeritsSummaryVo::getOrderType, Function.identity()));
|
||||
|
||||
|
|
@ -3283,9 +3248,4 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
return censusSummaryList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CuMemberExt queryFansOrder(String orderCode) {
|
||||
return baseMapper.queryFansOrder(orderCode);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.hzs.member.base.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.member.base.mapper.CuMemberShareMapper;
|
||||
|
|
@ -31,10 +30,4 @@ public class CuMemberShareServiceImpl extends ServiceImpl<CuMemberShareMapper, C
|
|||
return baseMapper.seaFlourList(seaFlourParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CuMemberShare queryCuMemberShare(Long pkMember) {
|
||||
QueryWrapper<CuMemberShare> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("PK_ID,MEMBER_CODE,MEMBER_NAME,PHONE,PK_PARENT");
|
||||
return baseMapper.selectById(pkMember);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,9 +51,5 @@ public class CensusSummaryParam {
|
|||
* 体系
|
||||
*/
|
||||
private String pkBdVertexStr;
|
||||
/**
|
||||
* 体系集合
|
||||
*/
|
||||
private List<Integer> pkBdVertexStrList;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,13 +21,4 @@ public interface IMemberLoginService {
|
|||
**/
|
||||
LoginMember passwordFreelogin(String username);
|
||||
|
||||
|
||||
/**
|
||||
* 分享登录
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param password 密码
|
||||
* @return
|
||||
*/
|
||||
LoginMember shareLogin(String username, String password);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import com.hzs.common.core.utils.ServletUtils;
|
|||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.utils.ip.IpUtils;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.detail.CuMemberLogin;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
|
|
@ -158,35 +157,6 @@ public class MemberLoginServiceImpl implements IMemberLoginService {
|
|||
return loginMember;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginMember shareLogin(String username, String password) {
|
||||
// 用户名或密码为空 错误
|
||||
if (StringUtils.isAnyBlank(username, password)) {
|
||||
// 用户/密码必须填写
|
||||
throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_REQUIRED));
|
||||
}
|
||||
// 查询用户信息
|
||||
R<LoginMember> memberResult = iMemberServiceApi.getShareMemberInfo(username);
|
||||
|
||||
if (R.FAIL == memberResult.getCode()) {
|
||||
throw new ServiceException(memberResult.getMsg());
|
||||
}
|
||||
|
||||
if (StringUtils.isNull(memberResult.getData())) {
|
||||
// 登录用户: %s 不存在
|
||||
throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username));
|
||||
}
|
||||
|
||||
LoginMember loginMember = memberResult.getData();
|
||||
CuMemberShare cuMemberShare = loginMember.getCuMemberShare();
|
||||
// 密码校验
|
||||
if (!SecurityUtils.matchesPassword(password, cuMemberShare.getLoginPwd())) {
|
||||
// 用户不存在/密码错误
|
||||
throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_ERROR, username));
|
||||
}
|
||||
|
||||
return loginMember;
|
||||
}
|
||||
/**
|
||||
* 记录登录信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -174,30 +174,4 @@ public class ApiShareController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取188分享码(H5)
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/fans-code-h5")
|
||||
public AjaxResult fansCodeH5() {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
// 188注册分享人就是自己
|
||||
R<String> resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder()
|
||||
.eShareType(EShareType.FANS)
|
||||
.pkBusiness(userId)
|
||||
.pkCountry(SecurityUtils.getPkCountry())
|
||||
.userId(userId)
|
||||
.build());
|
||||
if (resultR.isSuccess()) {
|
||||
Map<String, String> resultMap = new HashMap<>();
|
||||
resultMap.put("dataUrl", resultR.getData());
|
||||
// 前端无法根据URL生成海报,此处需要转一下base64
|
||||
resultMap.put("dataStr", Base64Util.toUrlBase64(resultR.getData()));
|
||||
return AjaxResult.success(resultMap);
|
||||
}
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,13 @@
|
|||
package com.hzs.retail.login.controller;
|
||||
|
||||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import com.hzs.common.core.constant.CacheConstants;
|
||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||
import com.hzs.common.core.constant.SysConstants;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.security.auth.AuthMemberUtil;
|
||||
import com.hzs.common.security.service.MemberTokenService;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.member.base.dto.LoginMember;
|
||||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.member.base.service.ICuMemberShareService;
|
||||
import com.hzs.member.login.param.AutoLoginParam;
|
||||
import com.hzs.member.login.service.IMemberLoginService;
|
||||
import com.hzs.retail.login.param.RetailAutoLoginParam;
|
||||
import com.hzs.retail.login.param.RetailLoginParam;
|
||||
import com.hzs.retail.login.service.IRetailMemberLoginService;
|
||||
|
|
@ -37,13 +28,6 @@ import javax.validation.Valid;
|
|||
@RestController
|
||||
public class RetailMemberTokenController {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberService iCuMemberService;
|
||||
@Autowired
|
||||
private ICuMemberShareService iCuMemberShareService;
|
||||
@Autowired
|
||||
private IMemberLoginService iMemberLoginService;
|
||||
|
||||
@Autowired
|
||||
private MemberTokenService memberTokenService;
|
||||
@Autowired
|
||||
|
|
@ -66,16 +50,14 @@ public class RetailMemberTokenController {
|
|||
return AjaxResult.success(memberTokenService.createToken(loginMember));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新零售会员自动登录-分享注册后自动登录
|
||||
* 新零售会员自动登录
|
||||
*
|
||||
* @param param 自助登录参数
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/registered-auto-login")
|
||||
public AjaxResult registeredAutoLogin(@Valid @RequestBody RetailAutoLoginParam param) {
|
||||
@PostMapping("/auto-login")
|
||||
public AjaxResult autoLogin(@Valid @RequestBody RetailAutoLoginParam param) {
|
||||
String tmpUuid = redisService.getCacheObject(CacheConstants.AUTO_LOGIN + param.getUsername());
|
||||
if (!param.getUuid().equals(tmpUuid)) {
|
||||
// 没有自动登录标记 或者 标记不对,则不能自动登录
|
||||
|
|
@ -88,60 +70,6 @@ public class RetailMemberTokenController {
|
|||
return AjaxResult.success(memberTokenService.createToken(loginMember));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新零售会员自动登录
|
||||
*
|
||||
* @param param 自助登录参数
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/auto-login")
|
||||
// public AjaxResult autoLogin(@Valid @RequestBody RetailAutoLoginParam param) {
|
||||
// String tmpUuid = redisService.getCacheObject(CacheConstants.AUTO_LOGIN + param.getUsername());
|
||||
// if (!param.getUuid().equals(tmpUuid)) {
|
||||
// // 没有自动登录标记 或者 标记不对,则不能自动登录
|
||||
// return AjaxResult.error("当前会员已不能快递登录");
|
||||
// }
|
||||
//
|
||||
// // 用户登录
|
||||
// LoginMember loginMember = iRetailMemberLoginService.login(param.getUsername(), param.getPassword());
|
||||
// // 获取登录token
|
||||
// return AjaxResult.success(memberTokenService.createToken(loginMember));
|
||||
// }
|
||||
public AjaxResult autoLogin(@RequestBody AutoLoginParam param) {
|
||||
if (StringUtils.isEmpty(param.getPkParent())) {
|
||||
return AjaxResult.error("缺少注册信息!");
|
||||
}
|
||||
|
||||
// 上级编码(推荐人)
|
||||
Long pkParent = Long.parseLong(new String(Base64Decoder.decode(param.getPkParent())));
|
||||
// 查询上级信息
|
||||
CuMemberExt parentCuMember = iCuMemberService.getMemberById(pkParent);
|
||||
if (null == parentCuMember) {
|
||||
return AjaxResult.error("二维码已经失效!");
|
||||
}
|
||||
|
||||
// 生成的会员编号
|
||||
String memberCode = iCuMemberService.createRetailMemberCode(SysConstants.RETAIL_PREFIX);
|
||||
// iCuMemberService.createUserNameByPremix(parentCuMember.getPkSettleCountry(), MagicNumberConstants.DIGIT);
|
||||
|
||||
CuMemberShare cuMemberShare = new CuMemberShare();
|
||||
cuMemberShare.setMemberCode(memberCode);
|
||||
cuMemberShare.setPkParent(pkParent);
|
||||
cuMemberShare.setLoginPassword(SysConstants.LOGIN_PASSWORD);
|
||||
cuMemberShare.setLoginPwd(SecurityUtils.encryptPassword(SysConstants.LOGIN_PASSWORD));
|
||||
cuMemberShare.setPayPassword(SysConstants.PAY_PASSWORD);
|
||||
cuMemberShare.setPayPwd(SecurityUtils.encryptPassword(SysConstants.PAY_PASSWORD));
|
||||
cuMemberShare.setPkCreator(pkParent);
|
||||
cuMemberShare.setPkCountry(parentCuMember.getPkSettleCountry());
|
||||
if (iCuMemberShareService.save(cuMemberShare)) {
|
||||
// 会员登录
|
||||
LoginMember loginMember = iMemberLoginService.shareLogin(memberCode, SysConstants.LOGIN_PASSWORD);
|
||||
|
||||
// 获取登录token
|
||||
return AjaxResult.success(memberTokenService.createToken(loginMember));
|
||||
}
|
||||
return AjaxResult.error();
|
||||
}
|
||||
/**
|
||||
* 会员登出
|
||||
*
|
||||
|
|
|
|||
|
|
@ -233,9 +233,6 @@
|
|||
<if test="account2 != null">
|
||||
and account2 + #{account2} >= 0
|
||||
</if>
|
||||
<if test="account4 != null">
|
||||
and account4 + #{account4} >= 0
|
||||
</if>
|
||||
</update>
|
||||
|
||||
<select id="queryMemberAccountByMemberCode" resultType="com.hzs.member.account.dto.CuMemberRechargeAccountParam">
|
||||
|
|
|
|||
|
|
@ -4,27 +4,27 @@
|
|||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.account.CuMemberBank">
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="DEL_FLAG" property="delFlag"/>
|
||||
<result column="PK_CREATOR" property="pkCreator"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
<result column="PK_MODIFIED" property="pkModified"/>
|
||||
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_MEMBER" property="pkMember"/>
|
||||
<result column="BANK_NAME" property="bankName"/>
|
||||
<result column="SUB_BANK_NAME" property="subBankName"/>
|
||||
<result column="ACCOUNT_NAME" property="accountName"/>
|
||||
<result column="CARD_NUMBER" property="cardNumber"/>
|
||||
<result column="ID_CARD" property="idCard"/>
|
||||
<result column="PHONE" property="phone"/>
|
||||
<result column="PK_BANK" property="pkBank"/>
|
||||
<result column="DEFAULT_CARD" property="defaultCard"/>
|
||||
<result column="ACCOUNT_PROVINCE" property="accountProvince"/>
|
||||
<result column="ACCOUNT_CITY" property="accountCity"/>
|
||||
<result column="VALID_START_DATE" property="validStartDate"/>
|
||||
<result column="VALID_END_DATE" property="validEndDate"/>
|
||||
<result column="IS_LONG_TERM" property="isLongTerm"/>
|
||||
<result column="BANK_NAME" property="bankName" />
|
||||
<result column="SUB_BANK_NAME" property="subBankName" />
|
||||
<result column="ACCOUNT_NAME" property="accountName" />
|
||||
<result column="CARD_NUMBER" property="cardNumber" />
|
||||
<result column="ID_CARD" property="idCard" />
|
||||
<result column="PHONE" property="phone" />
|
||||
<result column="PK_BANK" property="pkBank" />
|
||||
<result column="DEFAULT_CARD" property="defaultCard" />
|
||||
<result column="ACCOUNT_PROVINCE" property="accountProvince" />
|
||||
<result column="ACCOUNT_CITY" property="accountCity" />
|
||||
<result column="VALID_START_DATE" property="validStartDate" />
|
||||
<result column="VALID_END_DATE" property="validEndDate" />
|
||||
<result column="IS_LONG_TERM" property="isLongTerm" />
|
||||
</resultMap>
|
||||
|
||||
<update id="batchUpdateBankBypkMembers">
|
||||
|
|
@ -37,22 +37,22 @@
|
|||
</update>
|
||||
|
||||
<select id="selectBankCardByPkMember" resultType="com.hzs.common.domain.member.account.CuMemberBankExt">
|
||||
select mb.pk_id pkId,
|
||||
select mb.pk_id pkId,
|
||||
mb.card_number cardNumber,
|
||||
mb.default_card defaultCard,
|
||||
b.pk_transaction pkBank,
|
||||
b.background_img backgroundImg,
|
||||
b.bank_name bankName,
|
||||
b.bank_name bankName,
|
||||
b.logo
|
||||
from cu_member_bank mb
|
||||
left join bd_bank b
|
||||
on mb.pk_bank = b.pk_id
|
||||
and b.del_flag = 0
|
||||
and b.enable_state = 0
|
||||
where mb.del_flag = 0
|
||||
and mb.pk_country = #{pkCountry}
|
||||
and mb.pk_member = #{pkMember}
|
||||
order by mb.default_card desc
|
||||
from cu_member_bank mb
|
||||
left join bd_bank b
|
||||
on mb.pk_bank = b.pk_id
|
||||
and b.del_flag = 0
|
||||
and b.enable_state = 0
|
||||
where mb.del_flag = 0
|
||||
and mb.pk_country = #{pkCountry}
|
||||
and mb.pk_member = #{pkMember}
|
||||
order by mb.default_card desc
|
||||
</select>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,19 @@
|
|||
<result column="BATCH" property="batch"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
DEL_FLAG
|
||||
,
|
||||
PK_COUNTRY,
|
||||
PK_CREATOR,
|
||||
CREATION_TIME,
|
||||
PK_MODIFIED,
|
||||
MODIFIED_TIME,
|
||||
PK_ID, PK_MEMBER, WITHDRAW_CODE, PK_ACCOUNT, PK_BANK, PK_RATE, CASH_AMOUNT, SERVICE_CHARGE, INCOME_TAX,
|
||||
ISSUED_AMOUNT,APPROVE_STATE, PAYMENT_TIME, PAYER, REMARKS, APPROVER, APPROVE_TIME, PK_ROLE, ROLE_NAME,STATUS,PAYER_REMARKS,APPROVE_REMARKS
|
||||
</sql>
|
||||
|
||||
<sql id="select_base">
|
||||
SELECT r.*,
|
||||
m.member_code memberCode,
|
||||
|
|
|
|||
|
|
@ -483,8 +483,8 @@
|
|||
currentMonth.ENABLE_STATUS,
|
||||
NVL( NVL( currentDay.ALL_NEW_CONSUME_PV, 0 ) + NVL( currentDay.ALL_TEAM_NEW_PV, 0 ), 0 ) todayPv,
|
||||
NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv,
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_MONTH_PV, 0 ) + NVL( currentDay.ALL_NEW_CONSUME_PV, 0 ) + NVL( currentDay.ALL_TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( lastMonth.MONTH_CONSUME_PV, 0 ) + NVL( lastMonth.TEAM_MONTH_PV, 0 ) lastMonthPv
|
||||
NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentMonth.ALL_TEAM_MONTH_PV, 0 ) + NVL( currentDay.ALL_NEW_CONSUME_PV, 0 ) + NVL( currentDay.ALL_TEAM_NEW_PV, 0 ), 0 ) currentMonthPv,
|
||||
NVL( lastMonth.MONTH_CONSUME_PV, 0 ) + NVL( lastMonth.ALL_TEAM_MONTH_PV, 0 ) lastMonthPv
|
||||
FROM
|
||||
cu_member cu
|
||||
LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER
|
||||
|
|
|
|||
|
|
@ -2368,9 +2368,9 @@
|
|||
and sa.del_flag = 0
|
||||
and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
|
||||
and sa.pk_country = #{pkCountry}
|
||||
<if test="pkBdVertexStrList != null and pkBdVertexStrList.size > 0 ">
|
||||
<if test="pkVertex != null and pkVertex.size > 0 ">
|
||||
and cm.pk_vertex in
|
||||
<foreach collection="pkBdVertexStrList" item="item" open="(" close=")" separator=",">
|
||||
<foreach collection="pkVertex" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
|
|
@ -2378,19 +2378,4 @@
|
|||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- 查询海粉订单 -->
|
||||
<select id="queryFansOrder" resultMap="MemberResultMap">
|
||||
select cm.member_code,
|
||||
cm.member_name,
|
||||
cm.phone,
|
||||
cm.login_password,
|
||||
cm.pay_password
|
||||
from sa_order so
|
||||
inner join cu_member cm
|
||||
on cm.pk_id = so.pk_creator
|
||||
where so.del_flag = 0
|
||||
and so.order_type = 41
|
||||
and so.order_code = #{orderCode}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -6,23 +6,16 @@ import com.hzs.common.core.annotation.RepeatSubmit;
|
|||
import com.hzs.common.core.config.BdConfig;
|
||||
import com.hzs.common.core.constant.CacheConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
import com.hzs.common.core.enums.EOrderPrefix;
|
||||
import com.hzs.common.core.enums.ESpecialArea;
|
||||
import com.hzs.common.core.enums.EYesNo;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import com.hzs.common.domain.sale.wares.BdWares;
|
||||
import com.hzs.common.domain.system.config.BdGrade;
|
||||
import com.hzs.common.security.service.MemberTokenService;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.retail.sale.controller.service.IRetailOrderService;
|
||||
|
|
@ -30,13 +23,10 @@ import com.hzs.retail.sale.param.*;
|
|||
import com.hzs.retail.sale.vo.*;
|
||||
import com.hzs.sale.order.param.*;
|
||||
import com.hzs.sale.order.service.ISaOrderService;
|
||||
import com.hzs.sale.order.service.ISaOrderShareTmpService;
|
||||
import com.hzs.sale.shopping.service.IShoppingCartService;
|
||||
import com.hzs.sale.shopping.vo.ProductGroup;
|
||||
import com.hzs.sale.shopping.vo.ShoppingCartRedis;
|
||||
import com.hzs.sale.shopping.vo.ShoppingCartVO;
|
||||
import com.hzs.sale.wares.service.IBdWaresService;
|
||||
import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
|
||||
import com.hzs.system.base.IAreaServiceApi;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
|
|
@ -50,7 +40,6 @@ import java.math.BigDecimal;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 新零售订单控制器
|
||||
|
|
@ -69,21 +58,12 @@ public class ApiRetailOrderController {
|
|||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Autowired
|
||||
private IBdWaresService iBdWaresService;
|
||||
@Autowired
|
||||
private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
|
||||
@Autowired
|
||||
private ISaOrderShareTmpService iSaOrderShareTmpService;
|
||||
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
@DubboReference
|
||||
IAreaServiceApi iAreaServiceApi;
|
||||
@Autowired
|
||||
private MemberTokenService memberTokenService;
|
||||
|
||||
/**
|
||||
* 校验会员等级
|
||||
|
|
@ -610,111 +590,4 @@ public class ApiRetailOrderController {
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 确认注册订单
|
||||
*
|
||||
* @param registerParam 订单入参
|
||||
* @param source 数据来源
|
||||
* @return
|
||||
*/
|
||||
@RepeatSubmit
|
||||
@PostMapping("/fans-confirm-order")
|
||||
public AjaxResult fansConfirmOrder(@RequestBody RetailOrderRegisterParam registerParam,
|
||||
@RequestHeader("Source") Integer source) {
|
||||
// 设置数据来源
|
||||
registerParam.setSource(source);
|
||||
// 会员ID
|
||||
registerParam.setPkCreator(SecurityUtils.getUserId());
|
||||
// 新零售注册专区
|
||||
registerParam.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
// 系统类型
|
||||
registerParam.setSystemType(SecurityUtils.getSystemType());
|
||||
|
||||
// 获取等级列表
|
||||
List<BdGrade> gradeList = iGradeServiceApi.getRetailGradeList().getData();
|
||||
// 校验注册权限等
|
||||
// String checkStr = this.checkRegistrationPermission(registerParam, gradeList);
|
||||
// if (null != checkStr) {
|
||||
// return AjaxResult.error(checkStr);
|
||||
// }
|
||||
|
||||
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
||||
// if (relationStr != null) {
|
||||
// return AjaxResult.error(relationStr);
|
||||
// }
|
||||
|
||||
// 购物车中获取商品信息
|
||||
// registerParam.setOrderItemsParams(convertShoppingCarToSku(registerParam.getPkCreator(), registerParam.getShopList()));
|
||||
|
||||
// 遍历商品,封装订单明细
|
||||
// 订单金额
|
||||
BigDecimal orderAmount = BigDecimal.ZERO;
|
||||
|
||||
// 生成订单编号
|
||||
String orderCode = CommonUtil.createSerialNumber(EOrderPrefix.ORDER_CODE);
|
||||
List<OrderItemsParam> orderItemsParams = new ArrayList<>();
|
||||
for (FansConfirmOrderWaresParam waresParam : registerParam.getWaresList()) {
|
||||
// 遍历sku
|
||||
// 产品价格等map
|
||||
Map<Long, BdWaresSpecsSkuExt> skuMap = iBdWaresSpecsSkuService.queryWaresSpecsSkuList(waresParam.getSkuList().stream().map(FansConfirmOrderSkuParam::getPkWaresSku).collect(Collectors.toList()));
|
||||
|
||||
// 查询商品
|
||||
BdWares bdWares = iBdWaresService.getWares(waresParam.getPkWares());
|
||||
|
||||
// 缓存数据
|
||||
List<WaresItemsParam> itemsParamList = new ArrayList<>(waresParam.getSkuList().size());
|
||||
// 遍历产品信息
|
||||
for (FansConfirmOrderSkuParam skuParam : waresParam.getSkuList()) {
|
||||
BdWaresSpecsSkuExt specsSku = skuMap.get(skuParam.getPkWaresSku());
|
||||
orderAmount = orderAmount.add(specsSku.getPrice().multiply(new BigDecimal(skuParam.getQuantity() * waresParam.getQuantity())));
|
||||
|
||||
itemsParamList.add(WaresItemsParam.builder()
|
||||
.pkWaresSpecsSku(skuParam.getPkWaresSku().intValue())
|
||||
.quantity(skuParam.getQuantity())
|
||||
.build());
|
||||
}
|
||||
orderItemsParams.add(OrderItemsParam.builder()
|
||||
.waresCode(bdWares.getWaresCode())
|
||||
.quantity(waresParam.getQuantity())
|
||||
.waresItemsParamList(itemsParamList)
|
||||
.build());
|
||||
}
|
||||
registerParam.setOrderItemsParams(orderItemsParams);
|
||||
CuMemberShare memberShare = memberTokenService.getLoginMember().getCuMemberShare();
|
||||
registerParam.setCuMemberShare(memberShare);
|
||||
// registerParam.setPkCreator(memberShare.getPkParent());
|
||||
// 确认订单
|
||||
String str = iRetailOrderService.confirmRegOrder(registerParam, gradeList);
|
||||
// redis 拿金额
|
||||
SaOrderExt saOrder = redisService.getCacheObject(CacheConstants.RETAIL_TEMP_ORDER + registerParam.getPkCreator() + registerParam.getOrderCode());
|
||||
return confirmSharedOrderReturn(str, registerParam.getPkCreator(), registerParam.getShopList(), registerParam.getOrderCode(), saOrder.getOrderAmount());
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认订单返回
|
||||
*
|
||||
* @param str 提示信息(null 为成功)
|
||||
* @param pkCreator 订单创建人
|
||||
* @param shopList 购物车ID
|
||||
* @param orderCode 订单编号
|
||||
* @return
|
||||
*/
|
||||
private AjaxResult confirmSharedOrderReturn(String str, Long pkCreator, List<ShoppingCartRedis> shopList, String orderCode, BigDecimal orderAmount) {
|
||||
if (null == str) {
|
||||
// 删除购物车商品数据
|
||||
if (CollectionUtil.isNotEmpty(shopList)) {
|
||||
shoppingCartService.batchDelShopping(pkCreator, ShoppingCartVO.builder()
|
||||
.deleteList(shopList)
|
||||
.build());
|
||||
}
|
||||
return AjaxResult.success(RetailOrderVO.builder()
|
||||
.orderCode(orderCode)
|
||||
.orderAmount(orderAmount)
|
||||
.build());
|
||||
}
|
||||
return AjaxResult.error(str);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.hzs.retail.sale.controller.service.impl;
|
|||
import cn.hutool.core.codec.Base64Encoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
|
|
@ -18,7 +17,6 @@ import com.hzs.common.core.utils.*;
|
|||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.account.CuMemberAccount;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
|
|
@ -449,15 +447,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
cuMember.setCreationTime(new Date());
|
||||
cuMember.setPkCreator(orderParam.getPkCreator());
|
||||
|
||||
boolean isShared = false;
|
||||
if (null == orderParam.getCreatorMember()) {
|
||||
if(ObjectUtil.isNotEmpty(orderParam.getCuMemberShare())){
|
||||
orderParam.setCreatorMember(iMemberServiceApi.getRetailMember(orderParam.getCuMemberShare().getPkParent(), null).getData());
|
||||
cuMember.setPkParent(orderParam.getCuMemberShare().getPkParent());
|
||||
isShared = true;
|
||||
}else{
|
||||
orderParam.setCreatorMember(iMemberServiceApi.getRetailMember(orderParam.getPkCreator(), null).getData());
|
||||
}
|
||||
orderParam.setCreatorMember(iMemberServiceApi.getRetailMember(orderParam.getPkCreator(), null).getData());
|
||||
}
|
||||
cuMember.setPkVertex(orderParam.getCreatorMember().getPkVertex());
|
||||
cuMember.setPkTeamCode(orderParam.getCreatorMember().getPkTeamCode());
|
||||
|
|
@ -465,12 +456,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
cuMember.setSystemType(orderParam.getCreatorMember().getSystemType());
|
||||
|
||||
// 获取会员编号、会员主键
|
||||
if(isShared){
|
||||
cuMember.setPkId(orderParam.getCuMemberShare().getPkId());
|
||||
cuMember.setMemberCode(orderParam.getCuMemberShare().getMemberCode());
|
||||
}else{
|
||||
cuMember = iMemberServiceApi.createRetailMemberIdAndCode(cuMember).getData();
|
||||
}
|
||||
cuMember = iMemberServiceApi.createRetailMemberIdAndCode(cuMember).getData();
|
||||
|
||||
return cuMember;
|
||||
}
|
||||
|
|
@ -606,13 +592,7 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
|
|||
}
|
||||
// 封装会员信息
|
||||
CuMember newMember = this.packageCuMember(registerParam);
|
||||
newMember.setPkSettleGrade(registerParam.getPkGrade());
|
||||
newMember.setPkAwards(registerParam.getPkAwards());
|
||||
saOrderExt.setPkMember(newMember.getPkId());
|
||||
if(ObjectUtil.isNotEmpty(registerParam.getCuMemberShare())){
|
||||
saOrderExt.setPkReference(registerParam.getCuMemberShare().getPkParent());
|
||||
saOrderExt.setOrderType(EOrderType.RETAIL_REGISTER.getValue());
|
||||
}
|
||||
|
||||
resultStr = this.payRegOrder(saOrderExt, newMember, null);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import com.hzs.common.core.constant.CountryConstants;
|
|||
import com.hzs.common.core.enums.EDelivery;
|
||||
import com.hzs.common.core.enums.ETransportType;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||
import com.hzs.sale.order.param.OrderItemsParam;
|
||||
import com.hzs.sale.shopping.vo.ShoppingCartRedis;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -114,9 +113,6 @@ public class RetailOrderParam implements Serializable {
|
|||
@JsonIgnore
|
||||
private CuMember creatorMember;
|
||||
|
||||
// @JsonIgnore
|
||||
private CuMemberShare cuMemberShare;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
package com.hzs.retail.sale.param;
|
||||
|
||||
import com.hzs.sale.order.param.FansConfirmOrderWaresParam;
|
||||
import lombok.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 新零售注册订单入参
|
||||
|
|
@ -34,9 +33,4 @@ public class RetailOrderRegisterParam extends RetailOrderParam implements Serial
|
|||
@Size(max = 20, message = "推荐编号不能超过20位")
|
||||
private String parentCode;
|
||||
|
||||
|
||||
/**
|
||||
* 商品列表
|
||||
*/
|
||||
private List<FansConfirmOrderWaresParam> waresList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 新零售订单返回VO
|
||||
|
|
@ -49,9 +48,4 @@ public class RetailOrderVO implements Serializable {
|
|||
*/
|
||||
private String urlAddress;
|
||||
|
||||
/**
|
||||
* 待支付金额
|
||||
*/
|
||||
private BigDecimal orderAmount;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.hzs.retail.wares.controller.api;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
|
@ -11,13 +10,10 @@ import com.hzs.common.core.domain.R;
|
|||
import com.hzs.common.core.enums.EAccount;
|
||||
import com.hzs.common.core.enums.ELabelType;
|
||||
import com.hzs.common.core.enums.ESpecialArea;
|
||||
import com.hzs.common.core.enums.EWaresType;
|
||||
import com.hzs.common.core.utils.ComputeUtil;
|
||||
import com.hzs.common.core.utils.DistinctByKeyUtil;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.core.web.controller.BaseController;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
import com.hzs.common.domain.member.base.CuMember;
|
||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresExt;
|
||||
import com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt;
|
||||
|
|
@ -29,11 +25,8 @@ import com.hzs.member.base.IMemberServiceApi;
|
|||
import com.hzs.member.base.dto.ShowWaresDTO;
|
||||
import com.hzs.retail.wares.param.RetailWaresDetailParam;
|
||||
import com.hzs.retail.wares.param.RetailWaresParam;
|
||||
import com.hzs.retail.wares.param.WaresShareParam;
|
||||
import com.hzs.retail.wares.vo.RetailWaresDetailVO;
|
||||
import com.hzs.retail.wares.vo.RetailWaresVO;
|
||||
import com.hzs.sale.order.service.ISaOrderService;
|
||||
import com.hzs.sale.wares.param.CuWaresParams;
|
||||
import com.hzs.sale.wares.service.IBdWaresLabelService;
|
||||
import com.hzs.sale.wares.service.IBdWaresRangeService;
|
||||
import com.hzs.sale.wares.service.IBdWaresService;
|
||||
|
|
@ -45,7 +38,10 @@ import com.hzs.system.config.dto.AreaCurrencyDTO;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -68,8 +64,6 @@ public class ApiRetailWaresController extends BaseController {
|
|||
private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
|
||||
@Autowired
|
||||
private IBdWaresRangeService iBdWaresRangeService;
|
||||
@Autowired
|
||||
private ISaOrderService iSaOrderService;
|
||||
|
||||
@DubboReference
|
||||
ICurrencyServiceApi iCurrencyServiceApi;
|
||||
|
|
@ -384,147 +378,4 @@ public class ApiRetailWaresController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 188分享专区商品列表
|
||||
*/
|
||||
@GetMapping("/list-wares-share")
|
||||
public AjaxResult listWaresShare(WaresShareParam param) {
|
||||
param.setSpecialArea(ESpecialArea.REGISTER_AREA.getValue());
|
||||
param.setIsMakerGift(EWaresType.ORDINARY.getValue());
|
||||
param.setPkCountry(CountryConstants.CHINA_COUNTRY);
|
||||
|
||||
// 返回数据
|
||||
List<CuWaresParams> waresParamsList = new ArrayList<>();
|
||||
|
||||
// 查询商品列表
|
||||
List<BdWaresExt> bdWaresExtList = iBdWaresService.listWaresShare(param.getSpecialArea(), param.getIsMakerGift(), param.getPkCountry());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bdWaresExtList)) {
|
||||
// 商品主键列表
|
||||
List<Integer> waresIdList = bdWaresExtList.stream().map(BdWares::getPkId).collect(Collectors.toList());
|
||||
|
||||
if (StringUtils.isNotEmpty(param.getShareMemberCode())) {
|
||||
// 分享人ID
|
||||
Long pkMember = Long.parseLong(new String(Base64Decoder.decode(param.getShareMemberCode())));
|
||||
CuMember cuMember = iSaOrderService.getCuMemberByKey(pkMember);
|
||||
// 当前会员编号
|
||||
String memberCode = cuMember.getMemberCode();
|
||||
|
||||
// 检验商品团队信息
|
||||
Map<Integer, List<BdWaresAuthority>> waresAuthorityMap = iBdWaresService.getWaresAuthority(waresIdList);
|
||||
List<ShowWaresDTO> showWaresList = bdWaresExtList.stream().map(we -> getShowWares(we.getPkId(), pkMember, memberCode, waresAuthorityMap)).collect(Collectors.toList());
|
||||
R<Map<Integer, Boolean>> waresShowMapDto = iMemberServiceApi.checkIsShowWares(showWaresList);
|
||||
Map<Integer, Boolean> waresShowMap = waresShowMapDto.getData();
|
||||
|
||||
// 商品标签列表
|
||||
BdWaresLabel waresLabel = new BdWaresLabel();
|
||||
waresLabel.setPkIdList(waresIdList);
|
||||
List<BdLabelExt> list = iBdWaresLabelService.selectByList(waresLabel);
|
||||
// 标签
|
||||
for (BdWaresExt bdWaresExt : bdWaresExtList) {
|
||||
// 保证标签
|
||||
List<BdLabel> ensureLabelList = new ArrayList<>();
|
||||
// 卖点标签
|
||||
List<BdLabel> sellingLabelList = new ArrayList<>();
|
||||
|
||||
for (BdLabelExt bdLabel : list) {
|
||||
if (ELabelType.PREFIX.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 前缀标签
|
||||
bdWaresExt.setPrefixLabelTarget(bdLabel);
|
||||
}
|
||||
if (ELabelType.COOL.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 酷炫标签
|
||||
bdWaresExt.setCoolLabelTarget(bdLabel);
|
||||
}
|
||||
if (ELabelType.ENSURE.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 保证标签
|
||||
ensureLabelList.add(bdLabel);
|
||||
}
|
||||
if (ELabelType.SELLING.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 卖点标签
|
||||
sellingLabelList.add(bdLabel);
|
||||
}
|
||||
}
|
||||
bdWaresExt.setEnsureLabelList(ensureLabelList.stream().filter(DistinctByKeyUtil.distinctByKey(BdLabel::getPkId)).collect(Collectors.toList()));
|
||||
bdWaresExt.setSellingLabelList(sellingLabelList.stream().filter(DistinctByKeyUtil.distinctByKey(BdLabel::getPkId)).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
// 查询商品sku 最小值 和数量
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSkuArray = iBdWaresSpecsSkuService.selectByMinWaresSpecsSkuByPkWaresList(waresIdList);
|
||||
Map<Integer, List<BdWaresSpecsSkuExt>> waresSpecsSkuMap = waresSpecsSkuArray.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getPkWares));
|
||||
|
||||
// 查询默认规格
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSkuList = iBdWaresSpecsSkuService.selectByWaresSpecsSku(waresIdList);
|
||||
|
||||
for (BdWaresExt waresExt : bdWaresExtList) {
|
||||
// 校验团队信息
|
||||
Boolean isShowWares = waresShowMap.get(waresExt.getPkId());
|
||||
if (null == isShowWares || !isShowWares) {
|
||||
continue;
|
||||
}
|
||||
|
||||
CuWaresParams waresParams = BeanUtil.copyProperties(waresExt, CuWaresParams.class);
|
||||
// 价格
|
||||
BigDecimal waresPrice = BigDecimal.ZERO;
|
||||
// 业绩
|
||||
BigDecimal waresAchieve = BigDecimal.ZERO;
|
||||
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSku = waresSpecsSkuMap.get(waresExt.getPkId());
|
||||
waresSpecsSku = waresSpecsSku.stream().peek(a -> a.setProductGift(a.getPkProduct() + "" + a.getIsGift())).collect(Collectors.toList());
|
||||
Map<String, List<BdWaresSpecsSkuExt>> col = waresSpecsSku.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getProductGift));
|
||||
for (Map.Entry<String, List<BdWaresSpecsSkuExt>> integerListEntry : col.entrySet()) {
|
||||
// 取得每一个商品价格最小值
|
||||
Optional<BdWaresSpecsSkuExt> minBdWaresSpecsSkuExt = integerListEntry.getValue().stream().filter(Objects::nonNull).min(Comparator.comparing(BdWaresSpecsSkuExt::getPrice));
|
||||
BdWaresSpecsSkuExt bdWaresSpecsSkuExt = minBdWaresSpecsSkuExt.get();
|
||||
waresPrice = waresPrice.add(bdWaresSpecsSkuExt.getPrice().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
|
||||
waresAchieve = waresAchieve.add(bdWaresSpecsSkuExt.getAchieve().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
|
||||
}
|
||||
|
||||
// 计算商品列表价格和业绩最小值
|
||||
waresParams.setWaresPrice(waresPrice);
|
||||
waresParams.setWaresAchieve(waresAchieve);
|
||||
// 商品业绩计算汇率
|
||||
if (waresParams.getWaresAchieve() != null) {
|
||||
waresParams.setWaresAchieve(waresParams.getWaresAchieve());
|
||||
waresParams.setWaresPrice(waresParams.getWaresPrice());
|
||||
} else {
|
||||
waresParams.setWaresAchieve(BigDecimal.ZERO);
|
||||
waresParams.setWaresPrice(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
// 查询默认规格
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
List<BdWaresSpecsSkuExt> collect = waresSpecsSkuList.stream().filter(DistinctByKeyUtil.distinctByKey(BdWaresSpecsSku::getPkWaresDetail)).collect(Collectors.toList());
|
||||
for (BdWaresSpecsSkuExt bdWaresSpecsSku : collect) {
|
||||
if (bdWaresSpecsSku.getPkWares().equals(waresExt.getPkId())) {
|
||||
JSONObject js = new JSONObject();
|
||||
js.put("pkProduct", bdWaresSpecsSku.getPkProduct());
|
||||
js.put("pkSkuId", bdWaresSpecsSku.getPkId());
|
||||
js.put("quantity", bdWaresSpecsSku.getQuantity());
|
||||
jsonArray.add(js);
|
||||
}
|
||||
}
|
||||
waresParams.setProductGroup(jsonArray);
|
||||
waresParamsList.add(waresParams);
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(waresParamsList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询团队配置是否展示该商品
|
||||
*
|
||||
* @param pkWares
|
||||
* @return
|
||||
*/
|
||||
public ShowWaresDTO getShowWares(Integer pkWares, Long loginMember, String loginMemberCode, Map<Integer, List<BdWaresAuthority>> waresAuthorityMap) {
|
||||
ShowWaresDTO showWaresDTO = new ShowWaresDTO();
|
||||
showWaresDTO.setPkWares(pkWares);
|
||||
showWaresDTO.setLoginMember(loginMember);
|
||||
showWaresDTO.setLoginMemberCode(loginMemberCode);
|
||||
showWaresDTO.setWaresAuthorityList(waresAuthorityMap.get(pkWares));
|
||||
return showWaresDTO;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +0,0 @@
|
|||
package com.hzs.retail.wares.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 分享商品查询条件
|
||||
*/
|
||||
@Data
|
||||
public class WaresShareParam {
|
||||
|
||||
/**
|
||||
* 分享会员编号
|
||||
*/
|
||||
private String shareMemberCode;
|
||||
|
||||
/**
|
||||
* 所属专区
|
||||
*/
|
||||
private Integer specialArea;
|
||||
|
||||
/**
|
||||
* 商品类型
|
||||
*/
|
||||
private Integer isMakerGift;
|
||||
|
||||
/**
|
||||
* 国家
|
||||
*/
|
||||
private Integer pkCountry;
|
||||
|
||||
}
|
||||
|
|
@ -108,10 +108,6 @@ public class SaDeliverUnhandledController extends BaseController {
|
|||
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
||||
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
||||
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
||||
// 兼容调换货产品
|
||||
if (CollectionUtil.isEmpty(param.getPkWaresList())) {
|
||||
param.setPkWaresList(Collections.singletonList(0));
|
||||
}
|
||||
|
||||
startPage();
|
||||
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
||||
|
|
@ -155,10 +151,6 @@ public class SaDeliverUnhandledController extends BaseController {
|
|||
param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList());
|
||||
param.setVertexIdList(userAuthorityDTO.getVertexIdList());
|
||||
param.setTeamList(userAuthorityDTO.getUserTeamList());
|
||||
// 兼容调换货产品
|
||||
if (CollectionUtil.isEmpty(param.getPkWaresList())) {
|
||||
param.setPkWaresList(Collections.singletonList(0));
|
||||
}
|
||||
|
||||
List<DeliverUnhandledVO> resultList = iSaOrderItemsService.queryDeliverUnhandledList(param, pkCountry);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,68 +0,0 @@
|
|||
package com.hzs.sale.order.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海粉确认订单入参
|
||||
*/
|
||||
@Data
|
||||
public class FansConfirmOrderParam {
|
||||
|
||||
/***
|
||||
* 自然国
|
||||
*/
|
||||
private Integer pkCountry;
|
||||
|
||||
/**
|
||||
* 会员姓名
|
||||
*/
|
||||
private String memberName;
|
||||
|
||||
/**
|
||||
* 联系方式
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 收货人
|
||||
*/
|
||||
private String recName;
|
||||
|
||||
/**
|
||||
* 收货电话
|
||||
*/
|
||||
private String recPhone;
|
||||
|
||||
/**
|
||||
* 收货省
|
||||
*/
|
||||
private Integer recProvince;
|
||||
|
||||
/**
|
||||
* 收货市
|
||||
*/
|
||||
private Integer recCity;
|
||||
|
||||
/**
|
||||
* 收货县
|
||||
*/
|
||||
private Integer recCounty;
|
||||
|
||||
/**
|
||||
* 收货地址
|
||||
*/
|
||||
private String recAddress;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 商品列表
|
||||
*/
|
||||
private List<FansConfirmOrderWaresParam> waresList;
|
||||
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
package com.hzs.sale.order.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 海粉确认订单产品入参
|
||||
*/
|
||||
@Data
|
||||
public class FansConfirmOrderSkuParam {
|
||||
|
||||
/**
|
||||
* SKU ID
|
||||
*/
|
||||
private Long pkWaresSku;
|
||||
|
||||
/**
|
||||
* 产品数量
|
||||
*/
|
||||
private Integer quantity;
|
||||
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
package com.hzs.sale.order.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海粉确认订单商品入参
|
||||
*/
|
||||
@Data
|
||||
public class FansConfirmOrderWaresParam {
|
||||
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Integer pkWares;
|
||||
|
||||
/**
|
||||
* 商品数量
|
||||
*/
|
||||
private Integer quantity;
|
||||
|
||||
/**
|
||||
* 产品列表
|
||||
*/
|
||||
private List<FansConfirmOrderSkuParam> skuList;
|
||||
|
||||
}
|
||||
|
|
@ -4,15 +4,21 @@ import com.hzs.common.domain.sale.order.SaOrder;
|
|||
import com.hzs.system.sys.dto.LoginUser;
|
||||
|
||||
/**
|
||||
* 撤单的service
|
||||
* @Description: 撤单的service
|
||||
* @Author: sui q
|
||||
* @Time: 2022/10/27 10:49
|
||||
* @Classname: ISaOrderRevokeService
|
||||
* @PackageName: com.hzs.sale.order.service
|
||||
*/
|
||||
public interface ISaOrderRevokeService {
|
||||
|
||||
/**
|
||||
* 撤销订单
|
||||
*
|
||||
* @param saOrder 需要销售的订单信息
|
||||
* @param saOrder 需要销售的订单信息
|
||||
* @param loginUser 登录用户
|
||||
*/
|
||||
* @return: void
|
||||
* @Author: sui q
|
||||
* @Date: 2022/10/27 10:51
|
||||
*/
|
||||
void revokeSaOrder(SaOrder saOrder, LoginUser loginUser);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -573,12 +573,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 查询订单信息
|
||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||
if (null == saOrder) {
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
}
|
||||
// 订单支付日期 < 当前日期-7天
|
||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
||||
}
|
||||
|
||||
// 操作日志内容
|
||||
|
|
@ -644,14 +644,16 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
return "订单已经发货,不能进行调换货物";
|
||||
}
|
||||
|
||||
|
||||
// 是否扣款
|
||||
boolean orderCostFlag = false;
|
||||
// 修改前的订单金额 + 邮费
|
||||
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 修改后的订单金额 + 邮费
|
||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||
// 对比修改前后订单价格处理是否补差价
|
||||
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||
// 修改前后金额不相同则进行处理
|
||||
orderCostFlag = true;
|
||||
}
|
||||
|
||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||
|
|
@ -660,7 +662,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
changeIdList, noChangeIdList,
|
||||
userId, pkCountry, nowDate);
|
||||
|
||||
if (null != dto) {
|
||||
if (orderCostFlag) {
|
||||
// 订单调换货物扣费处理
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto);
|
||||
if (!resultR.isSuccess()) {
|
||||
throw new BaseException(resultR.getMsg());
|
||||
}
|
||||
} else if (null != dto) {
|
||||
// 订单总价未变化,但是需要手续费
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
||||
if (!resultR.isSuccess()) {
|
||||
|
|
@ -693,12 +701,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 查询订单收货地址信息
|
||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||
if (null == saOrder) {
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
}
|
||||
// 订单支付日期 < 当前日期-7天
|
||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
||||
}
|
||||
|
||||
// 涉及会员ID列表
|
||||
|
|
@ -743,9 +751,24 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 修改后的订单金额 + 邮费
|
||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||
// 对比修改前后订单价格处理是否补差价
|
||||
if (beforeAmount.compareTo(afterAmount) < 0) {
|
||||
// 存在差额
|
||||
// 封装订单数据
|
||||
SaOrder updateOrder = BeanUtil.copyProperties(saOrder, SaOrder.class);
|
||||
updateOrder.setPkId(saOrder.getPkId());
|
||||
updateOrder.setOrderAmount(afterData.getOrderAmount());
|
||||
updateOrder.setOrderAchieve(afterData.getOrderAchieve());
|
||||
updateOrder.setOrderAssAchieve(afterData.getOrderAssAchieve());
|
||||
updateOrder.setPostage(param.getPostage());
|
||||
updateOrder.setPkModified(userId);
|
||||
updateOrder.setModifiedTime(nowDate);
|
||||
|
||||
// 校验订单支付金额是否足够
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder);
|
||||
if (!resultR.isSuccess()) {
|
||||
return resultR.getMsg();
|
||||
}
|
||||
}
|
||||
|
||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||
|
|
@ -759,7 +782,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
}
|
||||
return submitStr;
|
||||
}
|
||||
return CommonMsgConstants.OPERATION_FAILED;
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package com.hzs.sale.order.service.impl;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.hzs.common.core.enums.EApprovalBusiness;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.sale.order.service.ISaOrderRevokeService;
|
||||
import com.hzs.system.sys.IApprovalServiceApi;
|
||||
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
|
||||
|
|
@ -11,13 +13,17 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 撤单逻辑类
|
||||
* @Description: 撤单逻辑类
|
||||
* @Author: sui q
|
||||
* @Time: 2022/10/27 10:50
|
||||
* @Classname: SaOrderRevokeServiceImpl
|
||||
* @PackageName: com.hzs.sale.order.service.impl
|
||||
*/
|
||||
@Service
|
||||
public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService {
|
||||
|
||||
@DubboReference
|
||||
IApprovalServiceApi iApprovalServiceApi;
|
||||
private IApprovalServiceApi approvalServiceApi;
|
||||
|
||||
@Override
|
||||
public void revokeSaOrder(SaOrder saOrder, LoginUser loginUser) {
|
||||
|
|
@ -26,6 +32,6 @@ public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService {
|
|||
.businessCode(saOrder.getOrderCode())
|
||||
.businessData(JSONUtil.toJsonStr(saOrder))
|
||||
.build();
|
||||
iApprovalServiceApi.submit(approvalSubmitDTO, loginUser);
|
||||
approvalServiceApi.submit(approvalSubmitDTO, loginUser);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.hzs.sale.wares.controller.api;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.codec.Base64Decoder;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
|
@ -28,7 +27,6 @@ import com.hzs.common.security.utils.SecurityUtils;
|
|||
import com.hzs.common.util.TransactionUtils;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.member.base.dto.ShowWaresDTO;
|
||||
import com.hzs.retail.wares.param.WaresShareParam;
|
||||
import com.hzs.sale.order.service.ISaOrderService;
|
||||
import com.hzs.sale.shopping.service.IShoppingCartService;
|
||||
import com.hzs.sale.shopping.vo.WaresItemWaresInfo;
|
||||
|
|
@ -89,133 +87,6 @@ public class ApiBdWaresController extends BaseController {
|
|||
@Autowired
|
||||
protected StringRedisTemplate redisTemplate;
|
||||
|
||||
/**
|
||||
* 188分享专区商品列表
|
||||
*/
|
||||
@GetMapping("/list-wares-share")
|
||||
public AjaxResult listWaresShare(WaresShareParam param) {
|
||||
param.setSpecialArea(ESpecialArea.RETAIL_REGISTER.getValue());
|
||||
param.setIsMakerGift(EWaresType.ORDINARY.getValue());
|
||||
param.setPkCountry(CountryConstants.CHINA_COUNTRY);
|
||||
|
||||
// 返回数据
|
||||
List<CuWaresParams> waresParamsList = new ArrayList<>();
|
||||
|
||||
// 查询商品列表
|
||||
List<BdWaresExt> bdWaresExtList = iBdWaresService.listWaresShare(param.getSpecialArea(), param.getIsMakerGift(), param.getPkCountry());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bdWaresExtList)) {
|
||||
// 商品主键列表
|
||||
List<Integer> waresIdList = bdWaresExtList.stream().map(BdWares::getPkId).collect(Collectors.toList());
|
||||
|
||||
if (StringUtils.isNotEmpty(param.getShareMemberCode())) {
|
||||
// 分享人ID
|
||||
Long pkMember = Long.parseLong(new String(Base64Decoder.decode(param.getShareMemberCode())));
|
||||
CuMember cuMember = iSaOrderService.getCuMemberByKey(pkMember);
|
||||
// 当前会员编号
|
||||
String memberCode = cuMember.getMemberCode();
|
||||
|
||||
// 检验商品团队信息
|
||||
Map<Integer, List<BdWaresAuthority>> waresAuthorityMap = iBdWaresService.getWaresAuthority(waresIdList);
|
||||
List<ShowWaresDTO> showWaresList = bdWaresExtList.stream().map(we -> getShowWares(we.getPkId(), pkMember, memberCode, waresAuthorityMap)).collect(Collectors.toList());
|
||||
R<Map<Integer, Boolean>> waresShowMapDto = iMemberServiceApi.checkIsShowWares(showWaresList);
|
||||
Map<Integer, Boolean> waresShowMap = waresShowMapDto.getData();
|
||||
|
||||
// 商品标签列表
|
||||
BdWaresLabel waresLabel = new BdWaresLabel();
|
||||
waresLabel.setPkIdList(waresIdList);
|
||||
List<BdLabelExt> list = iBdWaresLabelService.selectByList(waresLabel);
|
||||
// 标签
|
||||
for (BdWaresExt bdWaresExt : bdWaresExtList) {
|
||||
// 保证标签
|
||||
List<BdLabel> ensureLabelList = new ArrayList<>();
|
||||
// 卖点标签
|
||||
List<BdLabel> sellingLabelList = new ArrayList<>();
|
||||
|
||||
for (BdLabelExt bdLabel : list) {
|
||||
if (ELabelType.PREFIX.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 前缀标签
|
||||
bdWaresExt.setPrefixLabelTarget(bdLabel);
|
||||
}
|
||||
if (ELabelType.COOL.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 酷炫标签
|
||||
bdWaresExt.setCoolLabelTarget(bdLabel);
|
||||
}
|
||||
if (ELabelType.ENSURE.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 保证标签
|
||||
ensureLabelList.add(bdLabel);
|
||||
}
|
||||
if (ELabelType.SELLING.getValue() == bdLabel.getLabelType() && bdLabel.getPkWares().equals(bdWaresExt.getPkId())) {
|
||||
// 卖点标签
|
||||
sellingLabelList.add(bdLabel);
|
||||
}
|
||||
}
|
||||
bdWaresExt.setEnsureLabelList(ensureLabelList.stream().filter(DistinctByKeyUtil.distinctByKey(BdLabel::getPkId)).collect(Collectors.toList()));
|
||||
bdWaresExt.setSellingLabelList(sellingLabelList.stream().filter(DistinctByKeyUtil.distinctByKey(BdLabel::getPkId)).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
// 查询商品sku 最小值 和数量
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSkuArray = iBdWaresSpecsSkuService.selectByMinWaresSpecsSkuByPkWaresList(waresIdList);
|
||||
Map<Integer, List<BdWaresSpecsSkuExt>> waresSpecsSkuMap = waresSpecsSkuArray.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getPkWares));
|
||||
|
||||
// 查询默认规格
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSkuList = iBdWaresSpecsSkuService.selectByWaresSpecsSku(waresIdList);
|
||||
|
||||
for (BdWaresExt waresExt : bdWaresExtList) {
|
||||
// 校验团队信息
|
||||
Boolean isShowWares = waresShowMap.get(waresExt.getPkId());
|
||||
if (null == isShowWares || !isShowWares) {
|
||||
continue;
|
||||
}
|
||||
|
||||
CuWaresParams waresParams = BeanUtil.copyProperties(waresExt, CuWaresParams.class);
|
||||
// 价格
|
||||
BigDecimal waresPrice = BigDecimal.ZERO;
|
||||
// 业绩
|
||||
BigDecimal waresAchieve = BigDecimal.ZERO;
|
||||
|
||||
List<BdWaresSpecsSkuExt> waresSpecsSku = waresSpecsSkuMap.get(waresExt.getPkId());
|
||||
waresSpecsSku = waresSpecsSku.stream().peek(a -> a.setProductGift(a.getPkProduct() + "" + a.getIsGift())).collect(Collectors.toList());
|
||||
Map<String, List<BdWaresSpecsSkuExt>> col = waresSpecsSku.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getProductGift));
|
||||
for (Map.Entry<String, List<BdWaresSpecsSkuExt>> integerListEntry : col.entrySet()) {
|
||||
// 取得每一个商品价格最小值
|
||||
Optional<BdWaresSpecsSkuExt> minBdWaresSpecsSkuExt = integerListEntry.getValue().stream().filter(Objects::nonNull).min(Comparator.comparing(BdWaresSpecsSkuExt::getPrice));
|
||||
BdWaresSpecsSkuExt bdWaresSpecsSkuExt = minBdWaresSpecsSkuExt.get();
|
||||
waresPrice = waresPrice.add(bdWaresSpecsSkuExt.getPrice().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
|
||||
waresAchieve = waresAchieve.add(bdWaresSpecsSkuExt.getAchieve().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
|
||||
}
|
||||
|
||||
// 计算商品列表价格和业绩最小值
|
||||
waresParams.setWaresPrice(waresPrice);
|
||||
waresParams.setWaresAchieve(waresAchieve);
|
||||
// 商品业绩计算汇率
|
||||
if (waresParams.getWaresAchieve() != null) {
|
||||
waresParams.setWaresAchieve(waresParams.getWaresAchieve());
|
||||
waresParams.setWaresPrice(waresParams.getWaresPrice());
|
||||
} else {
|
||||
waresParams.setWaresAchieve(BigDecimal.ZERO);
|
||||
waresParams.setWaresPrice(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
// 查询默认规格
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
List<BdWaresSpecsSkuExt> collect = waresSpecsSkuList.stream().filter(DistinctByKeyUtil.distinctByKey(BdWaresSpecsSku::getPkWaresDetail)).collect(Collectors.toList());
|
||||
for (BdWaresSpecsSkuExt bdWaresSpecsSku : collect) {
|
||||
if (bdWaresSpecsSku.getPkWares().equals(waresExt.getPkId())) {
|
||||
JSONObject js = new JSONObject();
|
||||
js.put("pkProduct", bdWaresSpecsSku.getPkProduct());
|
||||
js.put("pkSkuId", bdWaresSpecsSku.getPkId());
|
||||
js.put("quantity", bdWaresSpecsSku.getQuantity());
|
||||
jsonArray.add(js);
|
||||
}
|
||||
}
|
||||
waresParams.setProductGroup(jsonArray);
|
||||
waresParamsList.add(waresParams);
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success(waresParamsList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据专区查找专区的商品
|
||||
|
|
|
|||
|
|
@ -129,7 +129,6 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
|
|||
*/
|
||||
List<BdWaresExt> listRetailWaresByCondition(@Param("param") RetailWaresParam param);
|
||||
|
||||
|
||||
/**
|
||||
* 查询非在售商品
|
||||
*
|
||||
|
|
@ -138,16 +137,4 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
|
|||
*/
|
||||
List<BdWaresExt> listWaresNoSale(@Param("param") WaresNoSaleParam param);
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
* @param specialArea 专区
|
||||
* @param specialArea 专区
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
*/
|
||||
List<BdWaresExt> listWaresShare(@Param("specialArea") Integer specialArea,
|
||||
@Param("isMakerGift") Integer isMakerGift,
|
||||
@Param("pkCountry") Integer pkCountry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,12 +109,4 @@ public interface BdWaresSpecsSkuMapper extends BaseMapper<BdWaresSpecsSku> {
|
|||
*/
|
||||
List<BdWaresSpecsSkuExt> selectByMinWaresSpecsSkuByPkWaresList(@Param("pkWaresIds") List<Integer> pkWaresIds);
|
||||
|
||||
|
||||
/**
|
||||
* 查询SKU价格等信息
|
||||
*
|
||||
* @param skuIdList skuID列表
|
||||
* @return
|
||||
*/
|
||||
List<BdWaresSpecsSkuExt> queryWaresSpecsSkuList(@Param("skuIdList") List<Long> skuIdList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -203,14 +203,4 @@ public interface IBdWaresService extends IService<BdWares> {
|
|||
*/
|
||||
List<BdWaresExt> listWaresNoSale(WaresNoSaleParam param);
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件查询商品信息
|
||||
*
|
||||
* @param specialArea 专区
|
||||
* @param specialArea 专区
|
||||
* @param pkCountry 所属国家
|
||||
* @return: List<BdWaresExt>
|
||||
*/
|
||||
List<BdWaresExt> listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import com.hzs.sale.wares.param.CuWaresParams;
|
|||
import com.hzs.sale.wares.param.SpecsSkuParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 规格sku表 服务类
|
||||
|
|
@ -108,12 +107,4 @@ public interface IBdWaresSpecsSkuService extends IService<BdWaresSpecsSku> {
|
|||
*/
|
||||
RetailWaresDetailVO queryWaresDetail(RetailWaresDetailParam param, Integer pkGrade);
|
||||
|
||||
|
||||
/**
|
||||
* 查询SKU价格等信息
|
||||
*
|
||||
* @param skuIdList skuID列表
|
||||
* @return
|
||||
*/
|
||||
Map<Long, BdWaresSpecsSkuExt> queryWaresSpecsSkuList(List<Long> skuIdList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1161,9 +1161,4 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
|
|||
return baseMapper.listWaresNoSale(param);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<BdWaresExt> listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry) {
|
||||
return baseMapper.listWaresShare(specialArea, isMakerGift, pkCountry);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -578,15 +578,4 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl<BdWaresSpecsSkuMappe
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Map<Long, BdWaresSpecsSkuExt> queryWaresSpecsSkuList(List<Long> skuIdList) {
|
||||
Map<Long, BdWaresSpecsSkuExt> resultMap = new HashMap<>();
|
||||
|
||||
List<BdWaresSpecsSkuExt> list = baseMapper.queryWaresSpecsSkuList(skuIdList);
|
||||
for (BdWaresSpecsSkuExt waresSpecsSku : list) {
|
||||
resultMap.put(waresSpecsSku.getPkId().longValue(), waresSpecsSku);
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -471,35 +471,4 @@
|
|||
order by bw.wares_name
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 分享商品列表 -->
|
||||
<select id="listWaresShare" resultMap="BaseResultMap">
|
||||
select bw.PK_COUNTRY, bw.PK_ID, be.pk_id PK_WARES_EXTEND,
|
||||
be.IS_MAKER_GIFT, bw.WARES_CODE, bw.WARES_NAME,
|
||||
PK_AREA_CLASSIFY, COVER, COVER1, COVER2,
|
||||
bw.WARES_PRICE, bw.WARES_ACHIEVE,
|
||||
SORT, SPECIAL_AREA,
|
||||
IS_PUT_ON, PRE_SALE_STATUS,
|
||||
PREFIX_LABEL, COOL_LABEL, S_LABEL,
|
||||
SALES, IS_SALE, ARRIVAL_TIME, WARN_MESSAGE,
|
||||
be.PK_SPECIAL_CURRENCY
|
||||
from bd_wares bw
|
||||
inner join bd_wares_extend be
|
||||
on bw.pk_id = be.pk_wares
|
||||
where bw.del_flag = 0
|
||||
and be.del_flag = 0
|
||||
and be.is_put_on = 0
|
||||
<!-- 商品必须通过审核后才能显示 -->
|
||||
and bw.wares_status = 5
|
||||
<if test="specialArea != null">
|
||||
and bw.special_area = #{specialArea}
|
||||
</if>
|
||||
<if test="isMakerGift != null">
|
||||
and be.is_maker_gift = #{isMakerGift}
|
||||
</if>
|
||||
<if test="pkCountry != null">
|
||||
and bw.pk_country = #{pkCountry}
|
||||
</if>
|
||||
order by bw.SORT_STATUS desc , bw.sort desc, bw.WARES_PRICE ,bw.CREATION_TIME desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -357,23 +357,4 @@
|
|||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 查询SKU价格等信息 -->
|
||||
<select id="queryWaresSpecsSkuList" resultType="com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt">
|
||||
select bwss.pk_id,
|
||||
bwd.pk_product,
|
||||
bwss.pk_wares_detail,
|
||||
bwss.price,
|
||||
bwss.achieve,
|
||||
bwss.ass_achieve
|
||||
from bd_wares_specs_sku bwss
|
||||
left join BD_WARES_DETAIL bwd
|
||||
on bwd.del_flag = 0
|
||||
and bwd.pk_id = bwss.pk_wares_detail
|
||||
where bwss.del_flag = 0
|
||||
and bwss.pk_id in
|
||||
<foreach collection="skuIdList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,12 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 交易配置
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/8/18 11:14
|
||||
* @Classname: BdTradeConfigVO
|
||||
* @Package_name: com.hzs.system.config.vo
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
|
@ -36,6 +42,7 @@ public class BdTradeConfigVO implements Serializable {
|
|||
/**
|
||||
* 1:提现 2:转账 (来源枚举EBusinessModule)
|
||||
*/
|
||||
@Transaction(transactionKey = EnumsPrefixConstants.BUSINESS_MODULE)
|
||||
private Integer businessModule;
|
||||
|
||||
private String businessModuleVal;
|
||||
|
|
|
|||
|
|
@ -2305,6 +2305,15 @@ public class EnumsController extends BaseController {
|
|||
return AjaxResult.success(enumEntityList);
|
||||
}
|
||||
|
||||
@GetMapping("/get-grant-way")
|
||||
public AjaxResult getGrantWay() {
|
||||
List<EnumEntity> enumEntityList = new ArrayList<>();
|
||||
for (EGrantWay value : EGrantWay.values()) {
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.GRANT_WAY_TYPE));
|
||||
}
|
||||
return AjaxResult.success(enumEntityList);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 数据类型(安置)
|
||||
|
|
@ -2401,7 +2410,7 @@ public class EnumsController extends BaseController {
|
|||
public AjaxResult businessModule() {
|
||||
List<EnumEntity> enumEntityList = new ArrayList<>();
|
||||
for (EBusinessModule value : EBusinessModule.values()) {
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel()));
|
||||
enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.BUSINESS_MODULE));
|
||||
}
|
||||
return AjaxResult.success(enumEntityList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -576,6 +576,11 @@ public class EnumsInitController {
|
|||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
}
|
||||
|
||||
// 交易配置 业务类型
|
||||
for (EBusinessModule value : EBusinessModule.values()) {
|
||||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
}
|
||||
|
||||
// 点位状态
|
||||
for (EPointStatus value : EPointStatus.values()) {
|
||||
initList.add(this.createData(value.getKey(), value.getLabel()));
|
||||
|
|
|
|||
|
|
@ -2,4 +2,27 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.hzs.system.config.mapper.BdWithdrawalAutoMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.config.BdWithdrawalAuto">
|
||||
<id column="PK_ID" property="pkId" />
|
||||
<result column="DEL_FLAG" property="delFlag" />
|
||||
<result column="PK_COUNTRY" property="pkCountry" />
|
||||
<result column="PK_CREATOR" property="pkCreator" />
|
||||
<result column="CREATION_TIME" property="creationTime" />
|
||||
<result column="PK_MODIFIED" property="pkModified" />
|
||||
<result column="MODIFIED_TIME" property="modifiedTime" />
|
||||
<result column="PK_WITHDRAWAL" property="pkWithdrawal" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
DEL_FLAG,
|
||||
PK_COUNTRY,
|
||||
PK_CREATOR,
|
||||
CREATION_TIME,
|
||||
PK_MODIFIED,
|
||||
MODIFIED_TIME,
|
||||
PK_ID, PK_WITHDRAWAL, LOWER_BOUND, UPPER_BOUND
|
||||
</sql>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,11 @@ import java.util.Map;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 防止表单重复提交处理
|
||||
* @Description: 防止表单重复提交处理
|
||||
* @Author: jiang chao
|
||||
* @Time: 2023/6/15 9:24
|
||||
* @Classname: RepeatSubmitOldAspectAdvice
|
||||
* @PackageName: com.hzs.common.core.aspect
|
||||
*/
|
||||
@Slf4j
|
||||
@Aspect
|
||||
|
|
@ -63,7 +67,7 @@ public class RepeatSubmitSimpleAspectAdvice {
|
|||
|
||||
Map<String, Object> nowDataMap = new HashMap<>();
|
||||
nowDataMap.put(REPEAT_PARAMS, nowParams);
|
||||
nowDataMap.put(REPEAT_TIME, System.currentTimeMillis() / 1000);
|
||||
nowDataMap.put(REPEAT_TIME, System.currentTimeMillis());
|
||||
|
||||
// 请求地址(作为存放cache的key值)
|
||||
String url = request.getRequestURI();
|
||||
|
|
|
|||
|
|
@ -24,18 +24,18 @@ public class BdConfig {
|
|||
* PC地址
|
||||
*/
|
||||
private static String pc;
|
||||
/**
|
||||
* 公众号地址
|
||||
*/
|
||||
private static String gzh;
|
||||
/**
|
||||
* IOS地址
|
||||
*/
|
||||
private static String ios;
|
||||
/**
|
||||
* android地址
|
||||
*/
|
||||
private static String android;
|
||||
// /**
|
||||
// * 公众号地址
|
||||
// */
|
||||
// private static String gzh;
|
||||
// /**
|
||||
// * IOS地址
|
||||
// */
|
||||
// private static String ios;
|
||||
// /**
|
||||
// * android地址
|
||||
// */
|
||||
// private static String android;
|
||||
|
||||
/**
|
||||
* 商品同步是否开启(0=开启,1=不开启)
|
||||
|
|
@ -70,30 +70,29 @@ public class BdConfig {
|
|||
BdConfig.pc = pc;
|
||||
}
|
||||
|
||||
|
||||
public static String getGzh() {
|
||||
return gzh;
|
||||
}
|
||||
|
||||
public void setGzh(String gzh) {
|
||||
BdConfig.gzh = gzh;
|
||||
}
|
||||
|
||||
public static String getIos() {
|
||||
return ios;
|
||||
}
|
||||
|
||||
public void setIos(String ios) {
|
||||
BdConfig.ios = ios;
|
||||
}
|
||||
|
||||
public static String getAndroid() {
|
||||
return android;
|
||||
}
|
||||
|
||||
public void setAndroid(String android) {
|
||||
BdConfig.android = android;
|
||||
}
|
||||
// public static String getGzh() {
|
||||
// return gzh;
|
||||
// }
|
||||
//
|
||||
// public void setGzh(String gzh) {
|
||||
// HzsConfig.gzh = gzh;
|
||||
// }
|
||||
//
|
||||
// public static String getIos() {
|
||||
// return ios;
|
||||
// }
|
||||
//
|
||||
// public void setIos(String ios) {
|
||||
// HzsConfig.ios = ios;
|
||||
// }
|
||||
//
|
||||
// public static String getAndroid() {
|
||||
// return android;
|
||||
// }
|
||||
//
|
||||
// public void setAndroid(String android) {
|
||||
// HzsConfig.android = android;
|
||||
// }
|
||||
|
||||
public static Integer getProductSync() {
|
||||
return productSync;
|
||||
|
|
|
|||
|
|
@ -816,6 +816,11 @@ public class EnumsPrefixConstants {
|
|||
*/
|
||||
public static final String RATIO_TYPE = "ENU_R_T_";
|
||||
|
||||
/**
|
||||
* 抽奖奖品发放方式
|
||||
*/
|
||||
public static final String GRANT_WAY_TYPE = "GRANT_WAY_TYPE_";
|
||||
|
||||
/**
|
||||
* 数据类型(业绩查询)
|
||||
*/
|
||||
|
|
@ -826,6 +831,11 @@ public class EnumsPrefixConstants {
|
|||
*/
|
||||
public static final String RECOMMEND_DADA_TYPE = "ENU_R_D_T_";
|
||||
|
||||
/**
|
||||
* 交易配置 业务类型
|
||||
*/
|
||||
public static final String BUSINESS_MODULE = "ENU_B_M_";
|
||||
|
||||
/**
|
||||
* 点位状态
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -9,11 +9,6 @@ import java.util.List;
|
|||
*/
|
||||
public class SysConstants {
|
||||
|
||||
|
||||
/**
|
||||
* 嗨粉前缀
|
||||
*/
|
||||
public static final String HAI_FUN_PREFIX = "HF";
|
||||
/**
|
||||
* 众康系统前缀
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -31,13 +31,14 @@ public class TableNameConstants {
|
|||
public static final String CU_MEMBER_SETTLE = "cu_member_settle";
|
||||
|
||||
/**
|
||||
* 会员结算表
|
||||
* 会员级差计算表
|
||||
*/
|
||||
public static final String CU_MEMBER_RANGE = "CU_MEMBER_RANGE";
|
||||
|
||||
/**
|
||||
* 会员级差计算表
|
||||
*/
|
||||
public static final String CU_MEMBER_RETAIL_RANGE = "CU_MEMBER_RETAIL";
|
||||
/**
|
||||
* 会员结算明细表
|
||||
*/
|
||||
public static final String CU_MEMBER_RETAIL_RANGE_DETAIL = "CU_MEMBER_RETAIL_DETAIL";
|
||||
|
||||
/**
|
||||
* 会员结算秒结表
|
||||
|
|
|
|||
|
|
@ -125,6 +125,11 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String RECHAGER_IMPOR_CODE_ERROR = "编号导入有误,请核对!";
|
||||
|
||||
/**
|
||||
* 导入的编号未支付,请核对! -- 导入的编号未支付,请核对!
|
||||
*/
|
||||
public static final String RECHAGER_NO_PAY = "导入的编号未支付,请核对!";
|
||||
|
||||
/**
|
||||
* 钱包明细导出 -- 钱包明细导出
|
||||
*/
|
||||
|
|
@ -193,16 +198,56 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String CONFIGURE_WITHDRAWAL_INFO = "请配置提现信息";
|
||||
|
||||
/**
|
||||
* 请绑定银行卡 -- 请绑定银行卡
|
||||
*/
|
||||
public static final String BIND_BANK_CARD = "请绑定银行卡";
|
||||
|
||||
/**
|
||||
* 暂时不请允许提现,请先升级 -- 暂时不请允许提现,请先升级
|
||||
*/
|
||||
public static final String NOT_WITHDRAWAL_UPGRADE = "暂时不请允许提现,请先升级";
|
||||
|
||||
/**
|
||||
* 请选择提现账户 -- 请选择提现账户
|
||||
*/
|
||||
public static final String SELECT_WITHDRAWAL_ACCOUNT = "请选择提现账户";
|
||||
|
||||
/**
|
||||
* 不允许提现 -- 不允许提现
|
||||
*/
|
||||
public static final String NOT_ALLOWED_WITHDRAWAL = "不允许提现";
|
||||
|
||||
/**
|
||||
* 超过提现次数 -- 超过提现次数
|
||||
*/
|
||||
public static final String EXCEEDING_WITHDRAWALS_NUMBER = "超过提现次数";
|
||||
|
||||
/**
|
||||
* 请配置提现金额限制 -- 请配置提现金额限制
|
||||
*/
|
||||
public static final String CONFIGURE_WITHDRAWAL_AMOUNT_LIMIT = "请配置提现金额限制";
|
||||
|
||||
/**
|
||||
* 请输入提现金额 -- 请输入提现金额
|
||||
*/
|
||||
public static final String ENTER_WITHDRAWAL_AMOUNT = "请输入提现金额";
|
||||
|
||||
/**
|
||||
* 请输入整数值 -- 请输入整数值
|
||||
*/
|
||||
public static final String ENTER_INTEGER_VALUE = "请输入整数值";
|
||||
|
||||
/**
|
||||
* 提现金额必须大于最低提现金额 -- 提现金额必须大于最低提现金额
|
||||
*/
|
||||
public static final String WITHDRAWAL_AMOUNT_GREATER_MINIMUM_AMOUNT = "提现金额必须大于最低提现金额";
|
||||
|
||||
/**
|
||||
* 提现金额必须小于最高提现金额 -- 提现金额必须小于最高提现金额
|
||||
*/
|
||||
public static final String WITHDRAWAL_AMOUNT_LESS_MAXIMUM_AMOUNT = "提现金额必须小于最高提现金额";
|
||||
|
||||
/**
|
||||
* 余额不足 -- 余额不足
|
||||
*/
|
||||
|
|
@ -218,6 +263,11 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String TRANSFER_OUT_ACCOUNT_NOT_EMPTY = "请选择要转出的账户";
|
||||
|
||||
/**
|
||||
* 转账金额有误 -- 转账金额有误
|
||||
*/
|
||||
public static final String INCORRECT_TRANSFER_AMOUNT = "转账金额有误";
|
||||
|
||||
|
||||
/**
|
||||
* 转账金额不能低于0且小数位数最多只能有2位
|
||||
|
|
@ -243,6 +293,11 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String NOT_ALLOWED_TRANSFER = "该账号不允许转账";
|
||||
|
||||
/**
|
||||
* 请先实名认证 -- 请先实名认证
|
||||
*/
|
||||
public static final String REAL_NAME_NOT_EXIST = "请先实名认证";
|
||||
|
||||
/**
|
||||
* 实名认证的真实姓名与营业执照的法人姓名是不一致 -- 法人姓名与实名认证的真实姓名不一致
|
||||
*/
|
||||
|
|
@ -276,11 +331,26 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String RECHARGE_DETAILS_EXPORT = "充值明细导出";
|
||||
|
||||
/**
|
||||
* 银行卡号不能为空 -- 银行卡号不能为空!
|
||||
*/
|
||||
public static final String BANK_CARD_CANNOT_EMPTY = "银行卡号不能为空!";
|
||||
|
||||
/**
|
||||
* 开户名不能为空 -- 开户名不能为空!
|
||||
*/
|
||||
public static final String ACCOUNT_NAME_CANNOT_EMPTY = "开户名不能为空!";
|
||||
|
||||
/**
|
||||
* 验证码不能为空 -- 验证码不能为空!
|
||||
*/
|
||||
public static final String VERIFICATION_CODE_CANNOT_EMPTY = "验证码不能为空!";
|
||||
|
||||
/**
|
||||
* 开户支行不能为空 -- 开户支行不能为空!
|
||||
*/
|
||||
public static final String OPENING_BRANCH_CANNOT_EMPTY = "开户支行不能为空!";
|
||||
|
||||
/**
|
||||
* 开户支行不能为空 -- 真实姓名不能为空!
|
||||
*/
|
||||
|
|
@ -374,6 +444,16 @@ public class FinanceMsgConstants {
|
|||
*/
|
||||
public static final String BUSINESS_LICENSE_REFUSE_RESET = "营业执照审核未通过,请勿操作重置";
|
||||
|
||||
/**
|
||||
* 提现正在审批中,请稍后再试 -- 提现正在审批中,请稍后再试
|
||||
*/
|
||||
public static final String WITHDRAWAL_APPROVAL = "提现正在审批中,请稍后再试";
|
||||
|
||||
/**
|
||||
* 提现金额必须为100的整数倍
|
||||
*/
|
||||
public static final String WITHDRAW_AMOUNT_MULTIPLE = "提现金额必须为100的整数倍";
|
||||
|
||||
/**
|
||||
* 身份证的图片地址不能为空
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -172,9 +172,5 @@ public class SaOrderMsgConstants {
|
|||
* 商品预售数量不足
|
||||
*/
|
||||
public static final String WARES_PRE_SALE_QUANTITY_LACK = "商品预售数量不足";
|
||||
/**
|
||||
* 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换
|
||||
*/
|
||||
public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同";
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,12 @@ import lombok.Getter;
|
|||
|
||||
/**
|
||||
* 银行卡默认状态
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/2/9 15:14
|
||||
* @Classname: EBankCardStatus
|
||||
* @Package_name: com.hzs.common.core.enums
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
|
|
|||
|
|
@ -1,10 +1,17 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 交易配置 业务类型
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/8/18 10:01
|
||||
* @Classname: EBusinessModule
|
||||
* @Package_name: com.hzs.common.core.enums
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
|
|
@ -13,11 +20,11 @@ public enum EBusinessModule {
|
|||
/**
|
||||
* 1=提现
|
||||
*/
|
||||
WITHDRAWAL(1, "提现", 0),
|
||||
WITHDRAWAL(1, "提现", 0, EnumsPrefixConstants.BUSINESS_MODULE + "1"),
|
||||
/**
|
||||
* 2=转账
|
||||
*/
|
||||
TRANSFER_ACCOUNTS(2, "转账", 0),
|
||||
TRANSFER_ACCOUNTS(2, "转账", 0, EnumsPrefixConstants.BUSINESS_MODULE + "2"),
|
||||
|
||||
;
|
||||
|
||||
|
|
@ -33,5 +40,9 @@ public enum EBusinessModule {
|
|||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @Author: yuhui
|
||||
* @Time: 2023/5/15 10:57
|
||||
* @Classname: EGrantWay
|
||||
* @PackageName: com.hzs.common.core.enums
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum EGrantWay {
|
||||
/**
|
||||
* 商品展示
|
||||
*/
|
||||
TYPE_0(0, "实物", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "0"),
|
||||
|
||||
TYPE_1(1, "消费账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "1"),
|
||||
|
||||
TYPE_2(2, "现金账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "2"),
|
||||
|
||||
TYPE_6(6, "积分账户", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "6"),
|
||||
|
||||
TYPE_8(8, "复购券", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "8"),
|
||||
|
||||
TYPE_11(11, "直播代金券", 0, EnumsPrefixConstants.GRANT_WAY_TYPE + "11");
|
||||
|
||||
|
||||
/**
|
||||
* 实际值
|
||||
*/
|
||||
private final int value;
|
||||
/**
|
||||
* 显示标签
|
||||
*/
|
||||
private final String label;
|
||||
/**
|
||||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 订单扩展类型枚举类
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum EOrderTypeExtend {
|
||||
|
||||
/**
|
||||
* 正常
|
||||
*/
|
||||
NORMAL(0, "正常", 0),
|
||||
|
||||
/**
|
||||
* 注册转复购
|
||||
*/
|
||||
REG_REP(1, "注册转复购", 0),
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
* 实际值
|
||||
*/
|
||||
private final int value;
|
||||
/**
|
||||
* 显示标签
|
||||
*/
|
||||
private final String label;
|
||||
/**
|
||||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
|
||||
}
|
||||
|
|
@ -19,11 +19,6 @@ public enum EShareType {
|
|||
*/
|
||||
SHARE(1, "分享注册"),
|
||||
|
||||
/**
|
||||
* 188注册
|
||||
*/
|
||||
FANS(2, "188注册"),
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -11,7 +11,12 @@ import lombok.experimental.Accessors;
|
|||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员信息-银行卡信息
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -1,255 +0,0 @@
|
|||
package com.hzs.common.domain.member.achieve;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.hzs.common.core.annotation.Excel;
|
||||
import com.hzs.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 日结算阶段表
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Accessors(chain = true)
|
||||
@KeySequence("CU_MEMBER_RETAIL_DETAIL_SEQ")
|
||||
@TableName("CU_MEMBER_RETAIL_DETAIL")
|
||||
public class CuMemberRetailDetail extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId("PK_ID")
|
||||
private Long pkId;
|
||||
|
||||
/**
|
||||
* 会员ID
|
||||
*/
|
||||
@TableField("PK_MEMBER")
|
||||
private Long pkMember;
|
||||
|
||||
/**
|
||||
* 会员子节点
|
||||
*/
|
||||
@TableField("CHILD_NODE")
|
||||
private Integer childNode;
|
||||
|
||||
/**
|
||||
* 推荐人
|
||||
*/
|
||||
@TableField("PK_PARENT")
|
||||
private Long pkParent;
|
||||
|
||||
/**
|
||||
* 三个阶段(1、2、3)
|
||||
*/
|
||||
@TableField("STAGE")
|
||||
private Integer stage;
|
||||
|
||||
/**
|
||||
* 阶段状态(0=已完成,1=未完成)
|
||||
*/
|
||||
@TableField("STAGE_STATUS")
|
||||
private Integer stageStatus;
|
||||
|
||||
/**
|
||||
* 阶段完成时间
|
||||
*/
|
||||
@TableField("STAGE_DATE")
|
||||
private Date stageDate;
|
||||
|
||||
/**
|
||||
* 点位1-1
|
||||
*/
|
||||
@TableField("POINT_11")
|
||||
private Long point11;
|
||||
|
||||
/**
|
||||
* 点位1-2
|
||||
*/
|
||||
@TableField("POINT_12")
|
||||
private Long point12;
|
||||
|
||||
/**
|
||||
* 点位2-1
|
||||
*/
|
||||
@TableField("POINT_21")
|
||||
private Long point21;
|
||||
|
||||
/**
|
||||
* 点位2-2
|
||||
*/
|
||||
@TableField("POINT_22")
|
||||
private Long point22;
|
||||
|
||||
/**
|
||||
* 点位2-3
|
||||
*/
|
||||
@TableField("POINT_23")
|
||||
private Long point23;
|
||||
|
||||
/**
|
||||
* 点位2-4
|
||||
*/
|
||||
@TableField("POINT_24")
|
||||
private Long point24;
|
||||
|
||||
/**
|
||||
* 点位3-1
|
||||
*/
|
||||
@TableField("POINT_31")
|
||||
private Long point31;
|
||||
|
||||
/**
|
||||
* 点位3-2
|
||||
*/
|
||||
@TableField("POINT_32")
|
||||
private Long point32;
|
||||
|
||||
/**
|
||||
* 点位3-3
|
||||
*/
|
||||
@TableField("POINT_33")
|
||||
private Long point33;
|
||||
|
||||
/**
|
||||
* 点位3-4
|
||||
*/
|
||||
@TableField("POINT_34")
|
||||
private Long point34;
|
||||
|
||||
/**
|
||||
* 点位3-5
|
||||
*/
|
||||
@TableField("POINT_35")
|
||||
private Long point35;
|
||||
|
||||
/**
|
||||
* 点位3-6
|
||||
*/
|
||||
@TableField("POINT_36")
|
||||
private Long point36;
|
||||
|
||||
/**
|
||||
* 点位3-7
|
||||
*/
|
||||
@TableField("POINT_37")
|
||||
private Long point37;
|
||||
|
||||
/**
|
||||
* 点位3-8
|
||||
*/
|
||||
@TableField("POINT_38")
|
||||
private Long point38;
|
||||
|
||||
/**
|
||||
* 点位1-1会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_11")
|
||||
private Long pointMember11;
|
||||
|
||||
/**
|
||||
* 点位1-2会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_12")
|
||||
private Long pointMember12;
|
||||
|
||||
/**
|
||||
* 点位2-1会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_21")
|
||||
private Long pointMember21;
|
||||
|
||||
/**
|
||||
* 点位2-2会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_22")
|
||||
private Long pointMember22;
|
||||
|
||||
/**
|
||||
* 点位2-3会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_23")
|
||||
private Long pointMember23;
|
||||
|
||||
/**
|
||||
* 点位2-4会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_24")
|
||||
private Long pointMember24;
|
||||
|
||||
/**
|
||||
* 点位3-1会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_31")
|
||||
private Long pointMember31;
|
||||
|
||||
/**
|
||||
* 点位3-2会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_32")
|
||||
private Long pointMember32;
|
||||
|
||||
/**
|
||||
* 点位3-3会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_33")
|
||||
private Long pointMember33;
|
||||
|
||||
/**
|
||||
* 点位3-4会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_34")
|
||||
private Long pointMember34;
|
||||
|
||||
/**
|
||||
* 点位3-5会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_35")
|
||||
private Long pointMember35;
|
||||
|
||||
/**
|
||||
* 点位3-6会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_36")
|
||||
private Long pointMember36;
|
||||
|
||||
/**
|
||||
* 点位3-7会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_37")
|
||||
private Long pointMember37;
|
||||
|
||||
/**
|
||||
* 点位3-8会员
|
||||
*/
|
||||
@TableField("POINT_MEMBER_38")
|
||||
private Long pointMember38;
|
||||
|
||||
/**
|
||||
* 点位类型(0=普通,1=赠送点位)
|
||||
*/
|
||||
@TableField("POINT_TYPE")
|
||||
private Integer pointType;
|
||||
|
||||
/**
|
||||
* 赠点数量(三阶段走完赠送几个点位)
|
||||
*/
|
||||
@TableField("POINT_GIFT")
|
||||
private Integer pointGift;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@TableField("CREATION_TIME")
|
||||
private Date creationTime;
|
||||
|
||||
}
|
||||
|
|
@ -107,6 +107,12 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
@TableField("PK_RATE")
|
||||
private Integer pkRate;
|
||||
|
||||
/**
|
||||
* 系统类型(2=新零售)
|
||||
*/
|
||||
@TableField("SYSTEM_TYPE")
|
||||
private Integer systemType;
|
||||
|
||||
/**
|
||||
* 本人当天新消费pv
|
||||
*/
|
||||
|
|
@ -167,6 +173,12 @@ public class CuMemberRetailRange extends BaseEntity {
|
|||
@TableField("TEAM_NUM")
|
||||
private Integer teamNum;
|
||||
|
||||
/**
|
||||
* 县级区域地址
|
||||
*/
|
||||
@TableField("REGION_ADDRESS")
|
||||
private Integer regionAddress;
|
||||
|
||||
@TableField("big_team_pv")
|
||||
private BigDecimal bigTeamPv;
|
||||
|
||||
|
|
|
|||
|
|
@ -72,6 +72,11 @@ public class CuMemberRetailRangeExt extends CuMemberRetailRange {
|
|||
*/
|
||||
private BigDecimal coachRatio;
|
||||
|
||||
/**
|
||||
* 县级名称
|
||||
*/
|
||||
private String countryName;
|
||||
|
||||
/**
|
||||
* 团队累计消费pv(不管激活,全累计) -- 日结使用
|
||||
*/
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue