forked from angelo/java-retail-app
Compare commits
No commits in common. "ac1f7bc81d5c1ebc9ad7cfad9892ce62b0ee49c7" and "96c4ebaf102a95244ba3ec6dde805694f6b23160" have entirely different histories.
ac1f7bc81d
...
96c4ebaf10
|
|
@ -386,13 +386,4 @@ public interface IMemberServiceApi {
|
||||||
*/
|
*/
|
||||||
R<Map<Integer, CuMemberRetailRegion>> listEffectiveRegion(Date queryDate);
|
R<Map<Integer, CuMemberRetailRegion>> listEffectiveRegion(Date queryDate);
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验手机号必须唯一
|
|
||||||
*
|
|
||||||
* @param phone 联系方式
|
|
||||||
* @param parentCode 推荐编号
|
|
||||||
* @return 返回为null则正常,否则则错误信息
|
|
||||||
*/
|
|
||||||
R<String> checkRegisterRelation(String phone, String parentCode);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@ package com.hzs.sale.order;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
|
||||||
|
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
|
||||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||||
|
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||||
import com.hzs.sale.order.dto.*;
|
import com.hzs.sale.order.dto.*;
|
||||||
|
|
@ -73,6 +75,15 @@ public interface ISaOrderServiceApi {
|
||||||
**/
|
**/
|
||||||
R<List<SaOrderExt>> selfAddressOrderList(String orderCode, Integer editType, Long memberId, Integer pkCountry);
|
R<List<SaOrderExt>> selfAddressOrderList(String orderCode, Integer editType, Long memberId, Integer pkCountry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量保存订单
|
||||||
|
*
|
||||||
|
* @param orderList 订单列表(需要pk_id)
|
||||||
|
* @param orderItemsList 订单明细列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
R<?> saveOrderBatch(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询注册订单数量
|
* 查询注册订单数量
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@ package com.hzs.system.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||||
|
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
|
||||||
|
import com.hzs.common.domain.system.sys.SysCorp;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
@ -42,6 +45,19 @@ public interface ICurrencyServiceApi {
|
||||||
*/
|
*/
|
||||||
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
|
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据省查询对应的发货仓库
|
||||||
|
*/
|
||||||
|
R<BdStorehouse> queryBdStorehouseById(Integer pkId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据省查询对应的发货仓库
|
||||||
|
*
|
||||||
|
* @param provinceList 省列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
R<List<BdStorehouse>> queryBdStorehouseMapByProvince(Collection<Integer> provinceList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id 查询所属历史币种
|
* 根据id 查询所属历史币种
|
||||||
*
|
*
|
||||||
|
|
@ -54,4 +70,23 @@ public interface ICurrencyServiceApi {
|
||||||
*/
|
*/
|
||||||
R<List<CurrencyDTO>> findAll();
|
R<List<CurrencyDTO>> findAll();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提供查询供应商的dubbo调用
|
||||||
|
*/
|
||||||
|
R<BdCubasdocExt> queryBdCubasdocById(Integer pkId, Integer pkCountry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提供查询供应商的dubbo调用
|
||||||
|
*/
|
||||||
|
R<BdCubasdocExt> queryBdCustomerById(Integer pkId, Integer pkCountry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提供查询采购组织的dubbo调用
|
||||||
|
*/
|
||||||
|
R<SysCorp> querySysCorp(Integer pkId, Integer pkCountry);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据仓库主键查询仓库
|
||||||
|
*/
|
||||||
|
R<List<BdStorehouse>> queryStorehouseByIds(Set<Integer> storehouseIdSet, Integer pkCountry, Integer pkCorp);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -283,19 +283,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
@Param("checkEmpty") Boolean checkEmpty,
|
@Param("checkEmpty") Boolean checkEmpty,
|
||||||
@Param("excludeMemberEmpty") Long excludeMemberEmpty);
|
@Param("excludeMemberEmpty") Long excludeMemberEmpty);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验会员编号是否存在
|
|
||||||
*
|
|
||||||
* @param phoneList 会员联系方式列表
|
|
||||||
* @param checkEmpty 是否需要校验批量空单数据
|
|
||||||
* @param excludeMemberEmpty 排除的批次
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<MemberCountDTO> checkMemberPhoneExist(@Param("phoneList") Collection<String> phoneList,
|
|
||||||
@Param("checkEmpty") Boolean checkEmpty,
|
|
||||||
@Param("excludeMemberEmpty") Long excludeMemberEmpty);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询全部用户
|
* 查询全部用户
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -376,9 +376,4 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
||||||
return R.ok(regionMap);
|
return R.ok(regionMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public R<String> checkRegisterRelation(String phone, String parentCode) {
|
|
||||||
return R.ok(iCuMemberService.checkRegisterRelation(phone, parentCode));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -488,16 +488,6 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
*/
|
*/
|
||||||
Map<String, Integer> checkMemberCodeExist(Collection<String> codeList, Boolean checkEmpty, Long excludeMemberEmpty);
|
Map<String, Integer> checkMemberCodeExist(Collection<String> codeList, Boolean checkEmpty, Long excludeMemberEmpty);
|
||||||
|
|
||||||
/**
|
|
||||||
* 校验会员联系方式是否存在
|
|
||||||
*
|
|
||||||
* @param phoneList 会员联系方式列表
|
|
||||||
* @param checkEmpty 是否需要校验批量空单数据
|
|
||||||
* @param excludeMemberEmpty 排除的批次
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
Map<String, Integer> checkMemberPhoneExist(Collection<String> phoneList, Boolean checkEmpty, Long excludeMemberEmpty);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询全部用户
|
* 查询全部用户
|
||||||
*
|
*
|
||||||
|
|
@ -799,6 +789,8 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
CuMember getRetailTopMember(Long pkMember, String memberCode, Long topPkMember, String topMemberCode);
|
CuMember getRetailTopMember(Long pkMember, String memberCode, Long topPkMember, String topMemberCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* 校验注册关系(是否跨团队)
|
||||||
|
* 2024.12.24 修改为校验手机号必须唯一(9035)
|
||||||
* 根据推荐人编号,校验手机号必须唯一
|
* 根据推荐人编号,校验手机号必须唯一
|
||||||
*
|
*
|
||||||
* @param phone 联系方式
|
* @param phone 联系方式
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.sale.order.SaOrder;
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
|
import com.hzs.common.domain.system.config.BdGrade;
|
||||||
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
|
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
|
||||||
import com.hzs.common.security.service.UserTokenService;
|
import com.hzs.common.security.service.UserTokenService;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
|
|
@ -76,6 +77,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
@ -132,7 +134,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
private IMemberServiceApi memberServiceApi;
|
private IMemberServiceApi memberServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
private IGradeServiceApi gradeService;
|
private IGradeServiceApi gradeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean saveMember(CuMember cuMember) {
|
public Boolean saveMember(CuMember cuMember) {
|
||||||
boolean save = false;
|
boolean save = false;
|
||||||
|
|
@ -1382,7 +1383,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
// 新上级 uc.getEditNewPlaceMemberCode()
|
// 新上级 uc.getEditNewPlaceMemberCode()
|
||||||
// 旧上级 getMemberById(uc.getPkParent()).getMemberCode()
|
// 旧上级 getMemberById(uc.getPkParent()).getMemberCode()
|
||||||
// 关闭直推修改等级逻辑
|
// 关闭直推修改等级逻辑
|
||||||
if (1 == 2) {
|
if(1 == 2){
|
||||||
CuMember newMember = memberServiceApi.getMember(uc.getEditNewPlaceMemberCode()).getData();
|
CuMember newMember = memberServiceApi.getMember(uc.getEditNewPlaceMemberCode()).getData();
|
||||||
CuMember oldMember = getMemberById(uc.getPkParent());
|
CuMember oldMember = getMemberById(uc.getPkParent());
|
||||||
CuMember mainMember = getMember(uc.getPkMember());
|
CuMember mainMember = getMember(uc.getPkMember());
|
||||||
|
|
@ -1396,7 +1397,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void validateGrade(CuMember mainMember, CuMember oldMember, CuMember newMember) {
|
public void validateGrade(CuMember mainMember, CuMember oldMember, CuMember newMember){
|
||||||
Integer mainGradeValue = gradeService.getGrade(mainMember.getPkSettleGrade()).getData().getGradeValue();
|
Integer mainGradeValue = gradeService.getGrade(mainMember.getPkSettleGrade()).getData().getGradeValue();
|
||||||
Integer oldGradeValue = gradeService.getGrade(oldMember.getPkSettleGrade()).getData().getGradeValue();
|
Integer oldGradeValue = gradeService.getGrade(oldMember.getPkSettleGrade()).getData().getGradeValue();
|
||||||
Integer newGradeValue = gradeService.getGrade(newMember.getPkSettleGrade()).getData().getGradeValue();
|
Integer newGradeValue = gradeService.getGrade(newMember.getPkSettleGrade()).getData().getGradeValue();
|
||||||
|
|
@ -1406,10 +1407,10 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
queryWrapper.isNotNull(CuMemberLevel::getPkOrder);
|
queryWrapper.isNotNull(CuMemberLevel::getPkOrder);
|
||||||
queryWrapper.orderByDesc(CuMemberLevel::getUpgradeTime);
|
queryWrapper.orderByDesc(CuMemberLevel::getUpgradeTime);
|
||||||
CuMemberLevel lastUpgrade = cuMemberLevelServiceImpl.getOne(queryWrapper, false);
|
CuMemberLevel lastUpgrade = cuMemberLevelServiceImpl.getOne(queryWrapper, false);
|
||||||
if (mainGradeValue.equals(EGrade.VIP.getValue())) {
|
if(mainGradeValue.equals(EGrade.VIP.getValue())){
|
||||||
// old 直推是否还有EGrade.VIP 没有则掉等级
|
// old 直推是否还有EGrade.VIP 没有则掉等级
|
||||||
int subUserCount = baseMapper.getMemberCountWithGradeAndParent(oldMember.getPkId(), EGrade.VIP.getValue());
|
int subUserCount = baseMapper.getMemberCountWithGradeAndParent(oldMember.getPkId(), EGrade.VIP.getValue());
|
||||||
if (subUserCount < 1) {
|
if(subUserCount < 1){
|
||||||
// 掉等级
|
// 掉等级
|
||||||
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.VIP.getValue(), SecurityUtils.getPkCountry()).getData();
|
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.VIP.getValue(), SecurityUtils.getPkCountry()).getData();
|
||||||
oldMember.setPkSettleGradeValue(targetGrade.getPkId());
|
oldMember.setPkSettleGradeValue(targetGrade.getPkId());
|
||||||
|
|
@ -1420,7 +1421,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateById(oldMember);
|
baseMapper.updateById(oldMember);
|
||||||
cuMemberLevelServiceImpl.remove(removeWrapper);
|
cuMemberLevelServiceImpl.remove(removeWrapper);
|
||||||
}
|
}
|
||||||
if (newGradeValue.equals(EGrade.VIP.getValue())) {
|
if(newGradeValue.equals(EGrade.VIP.getValue())){
|
||||||
// 升等级
|
// 升等级
|
||||||
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.S_VIP.getValue(), SecurityUtils.getPkCountry()).getData();
|
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.S_VIP.getValue(), SecurityUtils.getPkCountry()).getData();
|
||||||
newMember.setPkSettleGradeValue(targetGrade.getPkId());
|
newMember.setPkSettleGradeValue(targetGrade.getPkId());
|
||||||
|
|
@ -1438,10 +1439,10 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateById(newMember);
|
baseMapper.updateById(newMember);
|
||||||
}
|
}
|
||||||
// new 是否为EGrade.VIP 如果是则升等级
|
// new 是否为EGrade.VIP 如果是则升等级
|
||||||
} else if (mainGradeValue.equals(EGrade.REGION.getValue())) {
|
}else if(mainGradeValue.equals(EGrade.REGION.getValue())){
|
||||||
// old 直推是否还有EGrade.REGION 没有则掉等级
|
// old 直推是否还有EGrade.REGION 没有则掉等级
|
||||||
int subUserCount = baseMapper.getMemberCountWithGradeAndParent(oldMember.getPkId(), EGrade.REGION.getValue());
|
int subUserCount = baseMapper.getMemberCountWithGradeAndParent(oldMember.getPkId(), EGrade.REGION.getValue());
|
||||||
if (subUserCount < 1) {
|
if(subUserCount < 1){
|
||||||
// 掉等级
|
// 掉等级
|
||||||
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.REGION.getValue(), SecurityUtils.getPkCountry()).getData();
|
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.REGION.getValue(), SecurityUtils.getPkCountry()).getData();
|
||||||
oldMember.setPkSettleGradeValue(targetGrade.getPkId());
|
oldMember.setPkSettleGradeValue(targetGrade.getPkId());
|
||||||
|
|
@ -1452,7 +1453,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
baseMapper.updateById(oldMember);
|
baseMapper.updateById(oldMember);
|
||||||
cuMemberLevelServiceImpl.remove(removeWrapper);
|
cuMemberLevelServiceImpl.remove(removeWrapper);
|
||||||
}
|
}
|
||||||
if (newGradeValue.equals(EGrade.REGION.getValue())) {
|
if(newGradeValue.equals(EGrade.REGION.getValue())){
|
||||||
// 升等级
|
// 升等级
|
||||||
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.DIRECTOR.getValue(), SecurityUtils.getPkCountry()).getData();
|
GradeDTO targetGrade = gradeService.getGradeByGradeValue(EGrade.DIRECTOR.getValue(), SecurityUtils.getPkCountry()).getData();
|
||||||
newMember.setPkSettleGradeValue(targetGrade.getPkId());
|
newMember.setPkSettleGradeValue(targetGrade.getPkId());
|
||||||
|
|
@ -2504,19 +2505,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<String, Integer> checkMemberPhoneExist(Collection<String> phoneList, Boolean checkEmpty, Long excludeMemberEmpty) {
|
|
||||||
Map<String, Integer> resultMap = new HashMap<>();
|
|
||||||
|
|
||||||
List<MemberCountDTO> list = baseMapper.checkMemberPhoneExist(phoneList, checkEmpty, excludeMemberEmpty);
|
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
|
||||||
for (MemberCountDTO memberCountDTO : list) {
|
|
||||||
resultMap.put(memberCountDTO.getPhone(), memberCountDTO.getMemberCount());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return resultMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberExt> findAll() {
|
public List<CuMemberExt> findAll() {
|
||||||
return baseMapper.findAll();
|
return baseMapper.findAll();
|
||||||
|
|
@ -3117,7 +3105,10 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
if (null == parentMember) {
|
if (null == parentMember) {
|
||||||
return "推荐人不存在";
|
return "推荐人不存在";
|
||||||
}
|
}
|
||||||
return this.checkRegisterRelation(phone, parentMember.getSystemType());
|
// 2025年6月9日 - 手机号不唯一,在此不做唯一校验 - start
|
||||||
|
// return this.checkRegisterRelation(phone, parentMember.getSystemType());
|
||||||
|
return null;
|
||||||
|
// 2025年6月9日 - 手机号不唯一,在此不做唯一校验 - end
|
||||||
} else {
|
} else {
|
||||||
return "推荐人不存在";
|
return "推荐人不存在";
|
||||||
}
|
}
|
||||||
|
|
@ -3131,15 +3122,17 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private String checkRegisterRelation(String phone, Integer systemType) {
|
private String checkRegisterRelation(String phone, Integer systemType) {
|
||||||
if (this.count(Wrappers.<CuMember>lambdaQuery()
|
// new 手机号可以重复,不需要进行是否重复校验
|
||||||
.eq(CuMember::getPhone, phone)
|
return null;
|
||||||
.eq(CuMember::getCategory, ECategory.NORMAL.getValue())
|
// if (this.count(Wrappers.<CuMember>lambdaQuery()
|
||||||
.eq(null != systemType, CuMember::getSystemType, systemType)
|
// .eq(CuMember::getPhone, phone)
|
||||||
) == 0) {
|
// .eq(CuMember::getCategory, ECategory.NORMAL.getValue())
|
||||||
// 手机号不存在,可以进行注册
|
// .eq(CuMember::getSystemType, systemType)
|
||||||
return null;
|
// ) == 0) {
|
||||||
}
|
// // 手机号不存在,可以进行注册
|
||||||
return "当前联系方式已经存在";
|
// return null;
|
||||||
|
// }
|
||||||
|
// return "注册信息已存在,请重新输入注册信息";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,11 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单生成会员编号控制器
|
* @Description: 空单生成会员编号控制器
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/8/29 11:14
|
||||||
|
* @Classname: CuMemberEmptyCodeController
|
||||||
|
* @PackageName: com.hzs.member.empty.controller.manage
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/manage/member-empty-code")
|
@RequestMapping("/manage/member-empty-code")
|
||||||
@RestController
|
@RestController
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,13 @@ import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
||||||
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductDTO;
|
||||||
import com.hzs.common.security.service.UserTokenService;
|
import com.hzs.common.security.service.UserTokenService;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.service.ITransactionCommonService;
|
import com.hzs.common.service.ITransactionCommonService;
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
||||||
|
import com.hzs.member.empty.dto.MemberEmptyProductDTO;
|
||||||
import com.hzs.member.empty.param.MemberEmptyAddParam;
|
import com.hzs.member.empty.param.MemberEmptyAddParam;
|
||||||
import com.hzs.member.empty.param.MemberEmptySignParam;
|
import com.hzs.member.empty.param.MemberEmptySignParam;
|
||||||
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
||||||
|
|
@ -218,6 +220,21 @@ public class CuMemberEmptyController extends BaseController {
|
||||||
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
|
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 选购产品,需要校验产品以及地址信息
|
||||||
|
if (EYesNo.YES.getIntValue() == detail.getProductFlag()) {
|
||||||
|
if (StringUtils.isAnyEmpty(detail.getRecName(), detail.getRecPhone(), detail.getRecAddress())
|
||||||
|
|| null == detail.getRecProvince() || null == detail.getRecCity() || CollectionUtil.isEmpty(detail.getProductList())) {
|
||||||
|
// 缺少参数
|
||||||
|
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
|
||||||
|
}
|
||||||
|
for (MemberEmptyProductDTO product : detail.getProductList()) {
|
||||||
|
if (StringUtils.isAnyEmpty(product.getSpecsName(), product.getSpecsNameId())
|
||||||
|
|| null == product.getPkProduct() || null == product.getQuantity()) {
|
||||||
|
// 缺少参数
|
||||||
|
return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iMemberEmptyService.updateDate(paramList, SecurityUtils.getUserId(), SecurityUtils.getPkCountry())) {
|
if (iMemberEmptyService.updateDate(paramList, SecurityUtils.getUserId(), SecurityUtils.getPkCountry())) {
|
||||||
|
|
@ -426,6 +443,10 @@ public class CuMemberEmptyController extends BaseController {
|
||||||
detailDTO.setPkCountryVal(emptyDetail.getCountryName());
|
detailDTO.setPkCountryVal(emptyDetail.getCountryName());
|
||||||
detailDTO.setPkSettleCountryVal(emptyDetail.getSettleCountryName());
|
detailDTO.setPkSettleCountryVal(emptyDetail.getSettleCountryName());
|
||||||
|
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
// 处理产品信息
|
||||||
|
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||||
|
}
|
||||||
dataList.add(detailDTO);
|
dataList.add(detailDTO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -475,8 +496,25 @@ public class CuMemberEmptyController extends BaseController {
|
||||||
detailDTO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + emptyDetail.getOrderType()));
|
detailDTO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + emptyDetail.getOrderType()));
|
||||||
detailDTO.setPointStatusVal(cacheMap.get(EnumsPrefixConstants.POINT_STATUS + emptyDetail.getPointStatus()));
|
detailDTO.setPointStatusVal(cacheMap.get(EnumsPrefixConstants.POINT_STATUS + emptyDetail.getPointStatus()));
|
||||||
detailDTO.setSettlementFlagVal(cacheMap.get(EnumsPrefixConstants.YES_NO + emptyDetail.getSettlementFlag()));
|
detailDTO.setSettlementFlagVal(cacheMap.get(EnumsPrefixConstants.YES_NO + emptyDetail.getSettlementFlag()));
|
||||||
|
detailDTO.setProductFlagVal(cacheMap.get(EnumsPrefixConstants.YES_NO + emptyDetail.getProductFlag()));
|
||||||
detailDTO.setAutoFlagVal(cacheMap.get(EnumsPrefixConstants.DEALER_YES_NO + emptyDetail.getAutoFlag()));
|
detailDTO.setAutoFlagVal(cacheMap.get(EnumsPrefixConstants.DEALER_YES_NO + emptyDetail.getAutoFlag()));
|
||||||
|
|
||||||
|
// 处理产品显示数据
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
// 产品信息拼接
|
||||||
|
StringBuilder productSb = new StringBuilder();
|
||||||
|
List<CuMemberEmptyProductDTO> productList = emptyDetail.getProductDTOList();
|
||||||
|
for (CuMemberEmptyProductDTO productDTO : productList) {
|
||||||
|
productSb.append(productDTO.getProductName())
|
||||||
|
.append("(")
|
||||||
|
.append(productDTO.getSpecsName())
|
||||||
|
.append(") * ")
|
||||||
|
.append(productDTO.getQuantity())
|
||||||
|
.append("; \n");
|
||||||
|
}
|
||||||
|
detailDTO.setProductStr(productSb.toString());
|
||||||
|
}
|
||||||
|
|
||||||
resultList.add(detailDTO);
|
resultList.add(detailDTO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -510,6 +548,11 @@ public class CuMemberEmptyController extends BaseController {
|
||||||
|
|
||||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||||
|
|
||||||
|
// 处理产品信息
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||||
|
}
|
||||||
paramList.add(detailDTO);
|
paramList.add(detailDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -557,6 +600,11 @@ public class CuMemberEmptyController extends BaseController {
|
||||||
|
|
||||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||||
|
|
||||||
|
// 处理产品信息
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||||
|
}
|
||||||
paramList.add(detailDTO);
|
paramList.add(detailDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,13 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
|
||||||
import com.hzs.common.core.web.controller.BaseController;
|
import com.hzs.common.core.web.controller.BaseController;
|
||||||
import com.hzs.common.core.web.page.TableDataInfo;
|
import com.hzs.common.core.web.page.TableDataInfo;
|
||||||
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductExt;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.service.ITransactionCommonService;
|
import com.hzs.common.service.ITransactionCommonService;
|
||||||
import com.hzs.member.empty.param.MemberEmptyRegisterQueryParam;
|
import com.hzs.member.empty.param.MemberEmptyRegisterQueryParam;
|
||||||
|
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
||||||
|
import com.hzs.member.empty.vo.MemberEmptyRegisterQueryProductVO;
|
||||||
import com.hzs.member.empty.vo.MemberEmptyRegisterQueryVO;
|
import com.hzs.member.empty.vo.MemberEmptyRegisterQueryVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
@ -24,9 +27,14 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单注册列表控制器
|
* @Description: 空单注册列表控制器
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/6 15:06
|
||||||
|
* @Classname: CuMemberEmptyRegisterController
|
||||||
|
* @PackageName: com.hzs.member.empty.controller.manage
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/manage/member-empty-register")
|
@RequestMapping("/manage/member-empty-register")
|
||||||
@RestController
|
@RestController
|
||||||
|
|
@ -35,6 +43,8 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberEmptyService iCuMemberEmptyService;
|
private ICuMemberEmptyService iCuMemberEmptyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||||
|
@Autowired
|
||||||
private ITransactionCommonService iTransactionCommonService;
|
private ITransactionCommonService iTransactionCommonService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -56,8 +66,19 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
||||||
startPage();
|
startPage();
|
||||||
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
if (CollectionUtil.isNotEmpty(list)) {
|
||||||
|
|
||||||
|
// 查询空单批次产品信息
|
||||||
|
Map<Long, List<CuMemberEmptyProductExt>> productMap = iCuMemberEmptyProductService.queryProductList(list.stream().map(CuMemberEmptyDetailExt::getPkId).collect(Collectors.toList()));
|
||||||
|
|
||||||
for (CuMemberEmptyDetailExt emptyDetailExt : list) {
|
for (CuMemberEmptyDetailExt emptyDetailExt : list) {
|
||||||
MemberEmptyRegisterQueryVO queryVO = BeanUtil.copyProperties(emptyDetailExt, MemberEmptyRegisterQueryVO.class);
|
MemberEmptyRegisterQueryVO queryVO = BeanUtil.copyProperties(emptyDetailExt, MemberEmptyRegisterQueryVO.class);
|
||||||
|
|
||||||
|
// 产品数据处理
|
||||||
|
List<CuMemberEmptyProductExt> emptyProductList = productMap.get(emptyDetailExt.getPkId());
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyProductList)) {
|
||||||
|
queryVO.setDetailList(BeanUtil.copyToList(emptyProductList, MemberEmptyRegisterQueryProductVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
resultList.add(queryVO);
|
resultList.add(queryVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -84,6 +105,10 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
||||||
|
|
||||||
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
||||||
if (CollectionUtil.isNotEmpty(list)) {
|
if (CollectionUtil.isNotEmpty(list)) {
|
||||||
|
|
||||||
|
// 查询空单批次产品信息
|
||||||
|
Map<Long, List<CuMemberEmptyProductExt>> productMap = iCuMemberEmptyProductService.queryProductList(list.stream().map(CuMemberEmptyDetailExt::getPkId).collect(Collectors.toList()));
|
||||||
|
|
||||||
// 获取翻译内容
|
// 获取翻译内容
|
||||||
Map<String, String> cacheMap = iTransactionCommonService.exportEnumTransaction(EPlaceDept.values(), EOrderSource.values(), EOrderType.values(), EDealerYesNo.values());
|
Map<String, String> cacheMap = iTransactionCommonService.exportEnumTransaction(EPlaceDept.values(), EOrderSource.values(), EOrderType.values(), EDealerYesNo.values());
|
||||||
Map<Integer, String> dbMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
Map<Integer, String> dbMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||||
|
|
@ -98,6 +123,24 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
||||||
queryVO.setOrderSourceVal(cacheMap.get(EnumsPrefixConstants.ORDER_SOURCE + queryVO.getOrderSource()));
|
queryVO.setOrderSourceVal(cacheMap.get(EnumsPrefixConstants.ORDER_SOURCE + queryVO.getOrderSource()));
|
||||||
queryVO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + queryVO.getOrderType()));
|
queryVO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + queryVO.getOrderType()));
|
||||||
queryVO.setSettlementFlagVal(cacheMap.get(EnumsPrefixConstants.DEALER_YES_NO + queryVO.getSettlementFlag()));
|
queryVO.setSettlementFlagVal(cacheMap.get(EnumsPrefixConstants.DEALER_YES_NO + queryVO.getSettlementFlag()));
|
||||||
|
queryVO.setProductFlagVal(cacheMap.get(EnumsPrefixConstants.DEALER_YES_NO + queryVO.getProductFlag()));
|
||||||
|
|
||||||
|
// 产品信息拼接
|
||||||
|
StringBuilder productSb = new StringBuilder();
|
||||||
|
// 产品信息
|
||||||
|
List<CuMemberEmptyProductExt> emptyProductList = productMap.get(emptyDetailExt.getPkId());
|
||||||
|
if (CollectionUtil.isNotEmpty(emptyProductList)) {
|
||||||
|
for (CuMemberEmptyProductExt emptyProduct : emptyProductList) {
|
||||||
|
productSb.append(emptyProduct.getProductName())
|
||||||
|
.append("(")
|
||||||
|
.append(emptyProduct.getSpecsName())
|
||||||
|
.append(") * ")
|
||||||
|
.append(emptyProduct.getQuantity())
|
||||||
|
.append("; \n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
queryVO.setProductStr(productSb.toString());
|
||||||
|
|
||||||
resultList.add(queryVO);
|
resultList.add(queryVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.hzs.member.empty.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description:
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/4 11:36
|
||||||
|
* @Classname: CuMemberPhoneDTO
|
||||||
|
* @PackageName: com.hzs.member.empty.dto
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
public class EmptyMemberDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系方式
|
||||||
|
*/
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算国家
|
||||||
|
*/
|
||||||
|
private Integer pkSettleCountry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 明细数据
|
||||||
|
*/
|
||||||
|
private List<EmptyMemberDetailDTO> detailList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.hzs.member.empty.dto;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 查询会员明细DTO
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/4 11:36
|
||||||
|
* @Classname: CuMemberPhoneDetailDTO
|
||||||
|
* @PackageName: com.hzs.member.empty.dto
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
public class EmptyMemberDetailDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
private String memberCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员名称
|
||||||
|
*/
|
||||||
|
private String memberName;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -6,6 +6,7 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单注册明细DTO
|
* 空单注册明细DTO
|
||||||
|
|
@ -172,6 +173,71 @@ public class MemberEmptyDetailDTO {
|
||||||
@Excel(name = "上传业绩")
|
@Excel(name = "上传业绩")
|
||||||
private BigDecimal transferAchieve;
|
private BigDecimal transferAchieve;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选购产品(0=是,1=否)
|
||||||
|
*/
|
||||||
|
@Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
|
||||||
|
private Integer productFlag;
|
||||||
|
/**
|
||||||
|
* 选购产品显示
|
||||||
|
*/
|
||||||
|
@Excel(name = "选购产品")
|
||||||
|
private String productFlagVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品拼装(导出使用)
|
||||||
|
*/
|
||||||
|
@Excel(name = "产品信息")
|
||||||
|
private String productStr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
@Excel(name = "收货人")
|
||||||
|
private String recName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系方式
|
||||||
|
*/
|
||||||
|
@Excel(name = "联系方式")
|
||||||
|
private String recPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
private Integer recProvince;
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
@Excel(name = "省")
|
||||||
|
private String recProvinceVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
private Integer recCity;
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
@Excel(name = "市")
|
||||||
|
private String recCityVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 县
|
||||||
|
*/
|
||||||
|
private Integer recCounty;
|
||||||
|
/**
|
||||||
|
* 县
|
||||||
|
*/
|
||||||
|
@Excel(name = "县")
|
||||||
|
private String recCountyVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详细地址
|
||||||
|
*/
|
||||||
|
@Excel(name = "详细地址")
|
||||||
|
private String recAddress;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否激活标记(0=是,1=否)
|
* 是否激活标记(0=是,1=否)
|
||||||
*/
|
*/
|
||||||
|
|
@ -205,4 +271,9 @@ public class MemberEmptyDetailDTO {
|
||||||
@Excel(name = "生成备注")
|
@Excel(name = "生成备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品列表
|
||||||
|
*/
|
||||||
|
private List<MemberEmptyProductDTO> productList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.hzs.member.empty.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 空单产品DTO
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/6/19 14:45
|
||||||
|
* @Classname: CuMemberEmptyProductDTO
|
||||||
|
* @PackageName: com.hzs.member.empty.dto
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class MemberEmptyProductDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品ID
|
||||||
|
*/
|
||||||
|
private Integer pkProduct;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品编号
|
||||||
|
*/
|
||||||
|
private String productCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名称
|
||||||
|
*/
|
||||||
|
private String productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品规格
|
||||||
|
*/
|
||||||
|
private String specsName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品规格ID
|
||||||
|
*/
|
||||||
|
private String specsNameId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品数量
|
||||||
|
*/
|
||||||
|
private Integer quantity;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,9 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次 Mapper 接口
|
* 空单批次 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
public interface CuMemberEmptyMapper extends BaseMapper<CuMemberEmpty> {
|
public interface CuMemberEmptyMapper extends BaseMapper<CuMemberEmpty> {
|
||||||
|
|
||||||
|
|
@ -42,4 +45,5 @@ public interface CuMemberEmptyMapper extends BaseMapper<CuMemberEmpty> {
|
||||||
*/
|
*/
|
||||||
String queryLastCode();
|
String queryLastCode();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,46 @@ package com.hzs.member.empty.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductExt;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细产品 Mapper 接口
|
* 空单批次明细产品 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-08-28
|
||||||
*/
|
*/
|
||||||
public interface CuMemberEmptyProductMapper extends BaseMapper<CuMemberEmptyProduct> {
|
public interface CuMemberEmptyProductMapper extends BaseMapper<CuMemberEmptyProduct> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除会员空单产品
|
||||||
|
*
|
||||||
|
* @param emptyProductList 空单产品数据
|
||||||
|
* @param pkMemberEmpty 空单批次ID
|
||||||
|
* @param userId 当前会员
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int deleteBatch(@Param("emptyProductList") List<CuMemberEmptyProduct> emptyProductList,
|
||||||
|
@Param("pkMemberEmpty") Long pkMemberEmpty,
|
||||||
|
@Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入会员空单产品
|
||||||
|
*
|
||||||
|
* @param emptyProductList 空单产品数据
|
||||||
|
* @param userId 当前会员
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insertOrUpdateBatch(@Param("emptyProductList") List<CuMemberEmptyProduct> emptyProductList, @Param("userId") Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询空单明细产品信息列表
|
||||||
|
*
|
||||||
|
* @param emptyDetailIdList 空单明细ID列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<CuMemberEmptyProductExt> queryProductList(@Param("emptyDetailIdList") List<Long> emptyDetailIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,9 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细 服务类
|
* 空单批次明细 服务类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberEmptyDetailService extends IService<CuMemberEmptyDetail> {
|
public interface ICuMemberEmptyDetailService extends IService<CuMemberEmptyDetail> {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,44 @@ package com.hzs.member.empty.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductExt;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细产品 服务类
|
* 空单批次明细产品 服务类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-08-28
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberEmptyProductService extends IService<CuMemberEmptyProduct> {
|
public interface ICuMemberEmptyProductService extends IService<CuMemberEmptyProduct> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除会员空单产品
|
||||||
|
*
|
||||||
|
* @param emptyProductList 空单产品数据
|
||||||
|
* @param pkMemberEmpty 空单批次ID
|
||||||
|
* @param userId 当前会员
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int deleteBatch(List<CuMemberEmptyProduct> emptyProductList, Long pkMemberEmpty, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入会员空单产品
|
||||||
|
*
|
||||||
|
* @param emptyProductList 空单产品数据
|
||||||
|
* @param userId 当前会员
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insertOrUpdateBatch(List<CuMemberEmptyProduct> emptyProductList, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询空单明细产品信息列表
|
||||||
|
*
|
||||||
|
* @param emptyDetailIdList 空单明细ID列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Map<Long, List<CuMemberEmptyProductExt>> queryProductList(List<Long> emptyDetailIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,11 @@ import com.hzs.system.sys.dto.LoginUser;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单处理服务
|
* @Description: 空单处理服务
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/6/17 14:07
|
||||||
|
* @Classname: IMemberEMptyService
|
||||||
|
* @PackageName: com.hzs.member.empty.service
|
||||||
*/
|
*/
|
||||||
public interface IMemberEmptyService {
|
public interface IMemberEmptyService {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,14 @@ import com.hzs.common.core.enums.EDelFlag;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyCode;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyCode;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
||||||
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
||||||
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
||||||
import com.hzs.member.empty.mapper.CuMemberEmptyDetailMapper;
|
import com.hzs.member.empty.mapper.CuMemberEmptyDetailMapper;
|
||||||
import com.hzs.member.empty.param.MemberEmptyAddParam;
|
import com.hzs.member.empty.param.MemberEmptyAddParam;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
||||||
|
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -23,6 +25,9 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细 服务实现类
|
* 空单批次明细 服务实现类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDetailMapper, CuMemberEmptyDetail> implements ICuMemberEmptyDetailService {
|
public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDetailMapper, CuMemberEmptyDetail> implements ICuMemberEmptyDetailService {
|
||||||
|
|
@ -31,6 +36,8 @@ public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDet
|
||||||
private ICuMemberEmptyService iCuMemberEmptyService;
|
private ICuMemberEmptyService iCuMemberEmptyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -85,6 +92,15 @@ public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDet
|
||||||
codeUpdateWrapper.set(CuMemberEmptyCode::getModifiedTime, nowDate);
|
codeUpdateWrapper.set(CuMemberEmptyCode::getModifiedTime, nowDate);
|
||||||
iCuMemberEmptyCodeService.update(codeUpdateWrapper);
|
iCuMemberEmptyCodeService.update(codeUpdateWrapper);
|
||||||
|
|
||||||
|
// 删除空单明细产品
|
||||||
|
LambdaUpdateWrapper<CuMemberEmptyProduct> productUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
productUpdateWrapper.in(CuMemberEmptyProduct::getPkMemberEmptyDetail, detailIdList);
|
||||||
|
productUpdateWrapper.eq(CuMemberEmptyProduct::getDelFlag, EDelFlag.UN_DELETE.getValue());
|
||||||
|
productUpdateWrapper.set(CuMemberEmptyProduct::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
|
productUpdateWrapper.set(CuMemberEmptyProduct::getPkModified, userId);
|
||||||
|
productUpdateWrapper.set(CuMemberEmptyProduct::getModifiedTime, nowDate);
|
||||||
|
iCuMemberEmptyProductService.update(productUpdateWrapper);
|
||||||
|
|
||||||
// 删除空单明细
|
// 删除空单明细
|
||||||
LambdaUpdateWrapper<CuMemberEmptyDetail> detailUpdateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberEmptyDetail> detailUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
detailUpdateWrapper.in(CuMemberEmptyDetail::getPkId, detailIdList);
|
detailUpdateWrapper.in(CuMemberEmptyDetail::getPkId, detailIdList);
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,48 @@
|
||||||
package com.hzs.member.empty.service.impl;
|
package com.hzs.member.empty.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductExt;
|
||||||
import com.hzs.member.empty.mapper.CuMemberEmptyProductMapper;
|
import com.hzs.member.empty.mapper.CuMemberEmptyProductMapper;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细产品 服务实现类
|
* 空单批次明细产品 服务实现类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-08-28
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberEmptyProductServiceImpl extends ServiceImpl<CuMemberEmptyProductMapper, CuMemberEmptyProduct> implements ICuMemberEmptyProductService {
|
public class CuMemberEmptyProductServiceImpl extends ServiceImpl<CuMemberEmptyProductMapper, CuMemberEmptyProduct> implements ICuMemberEmptyProductService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteBatch(List<CuMemberEmptyProduct> emptyProductList, Long pkMemberEmpty, Long userId) {
|
||||||
|
return baseMapper.deleteBatch(emptyProductList, pkMemberEmpty, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insertOrUpdateBatch(List<CuMemberEmptyProduct> emptyProductList, Long userId) {
|
||||||
|
return baseMapper.insertOrUpdateBatch(emptyProductList, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Long, List<CuMemberEmptyProductExt>> queryProductList(List<Long> emptyDetailIdList) {
|
||||||
|
Map<Long, List<CuMemberEmptyProductExt>> resultMap = new HashMap<>();
|
||||||
|
|
||||||
|
List<CuMemberEmptyProductExt> resultList = baseMapper.queryProductList(emptyDetailIdList);
|
||||||
|
if (CollectionUtil.isNotEmpty(resultList)) {
|
||||||
|
for (CuMemberEmptyProductExt productExt : resultList) {
|
||||||
|
resultMap.computeIfAbsent(productExt.getPkMemberEmptyDetail(), k -> new ArrayList<>()).add(productExt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ import com.hzs.common.core.enums.EDelFlag;
|
||||||
import com.hzs.common.core.enums.EOrderPrefix;
|
import com.hzs.common.core.enums.EOrderPrefix;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||||
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
||||||
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
||||||
import com.hzs.member.empty.mapper.CuMemberEmptyMapper;
|
import com.hzs.member.empty.mapper.CuMemberEmptyMapper;
|
||||||
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
||||||
import com.hzs.member.empty.param.MemberEmptyRegisterQueryParam;
|
import com.hzs.member.empty.param.MemberEmptyRegisterQueryParam;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
||||||
|
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||||
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -21,12 +23,17 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次 服务实现类
|
* 空单批次 服务实现类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class CuMemberEmptyServiceImpl extends ServiceImpl<CuMemberEmptyMapper, CuMemberEmpty> implements ICuMemberEmptyService {
|
public class CuMemberEmptyServiceImpl extends ServiceImpl<CuMemberEmptyMapper, CuMemberEmpty> implements ICuMemberEmptyService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberEmptyDetailService iCuMemberEmptyDetailService;
|
private ICuMemberEmptyDetailService iCuMemberEmptyDetailService;
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CuMemberEmpty> queryList(MemberEmptyQueryParam param, Integer pkCountry, Integer systemType) {
|
public List<CuMemberEmpty> queryList(MemberEmptyQueryParam param, Integer pkCountry, Integer systemType) {
|
||||||
|
|
@ -55,6 +62,14 @@ public class CuMemberEmptyServiceImpl extends ServiceImpl<CuMemberEmptyMapper, C
|
||||||
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getPkModified, userId);
|
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getPkModified, userId);
|
||||||
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getModifiedTime, nowDate);
|
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getModifiedTime, nowDate);
|
||||||
iCuMemberEmptyDetailService.update(emptyDetailUpdateWrapper);
|
iCuMemberEmptyDetailService.update(emptyDetailUpdateWrapper);
|
||||||
|
|
||||||
|
// 删除空单产品明细
|
||||||
|
LambdaUpdateWrapper<CuMemberEmptyProduct> emptyProductUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
emptyProductUpdateWrapper.in(CuMemberEmptyProduct::getPkMemberEmpty, pkIdList);
|
||||||
|
emptyProductUpdateWrapper.set(CuMemberEmptyProduct::getDelFlag, EDelFlag.DELETE.getValue());
|
||||||
|
emptyProductUpdateWrapper.set(CuMemberEmptyProduct::getPkModified, userId);
|
||||||
|
emptyProductUpdateWrapper.set(CuMemberEmptyProduct::getModifiedTime, nowDate);
|
||||||
|
iCuMemberEmptyProductService.update(emptyProductUpdateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.hzs.common.core.constant.CacheConstants;
|
||||||
import com.hzs.common.core.constant.RabbitMqConstants;
|
import com.hzs.common.core.constant.RabbitMqConstants;
|
||||||
import com.hzs.common.core.constant.SysConstants;
|
import com.hzs.common.core.constant.SysConstants;
|
||||||
import com.hzs.common.core.constant.msg.CommonMsgConstants;
|
import com.hzs.common.core.constant.msg.CommonMsgConstants;
|
||||||
|
|
@ -13,6 +14,7 @@ import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.exception.ServiceException;
|
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.CommonUtil;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
|
|
@ -24,6 +26,11 @@ import com.hzs.common.domain.member.detail.CuMemberGrade;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||||
import com.hzs.common.domain.member.empty.*;
|
import com.hzs.common.domain.member.empty.*;
|
||||||
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyDetailExt;
|
||||||
|
import com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductDTO;
|
||||||
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
|
import com.hzs.common.domain.sale.order.SaOrder;
|
||||||
|
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||||
|
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||||
import com.hzs.common.domain.system.config.BdAccount;
|
import com.hzs.common.domain.system.config.BdAccount;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
|
|
@ -34,8 +41,10 @@ import com.hzs.member.base.service.ICuMemberRegisterService;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
import com.hzs.member.detail.service.ICuMemberLevelService;
|
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||||
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
import com.hzs.member.empty.dto.MemberEmptyDetailDTO;
|
||||||
|
import com.hzs.member.empty.dto.MemberEmptyProductDTO;
|
||||||
import com.hzs.member.empty.param.MemberEmptySignParam;
|
import com.hzs.member.empty.param.MemberEmptySignParam;
|
||||||
import com.hzs.member.empty.service.*;
|
import com.hzs.member.empty.service.*;
|
||||||
|
import com.hzs.sale.order.ISaOrderServiceApi;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
import com.hzs.system.config.IAccountServiceApi;
|
import com.hzs.system.config.IAccountServiceApi;
|
||||||
|
|
@ -69,6 +78,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||||
|
@Autowired
|
||||||
private ICuMemberEmptyLogService iCuMemberEmptyLogService;
|
private ICuMemberEmptyLogService iCuMemberEmptyLogService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberService iCuMemberService;
|
private ICuMemberService iCuMemberService;
|
||||||
|
|
@ -90,8 +101,13 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IAccountServiceApi iAccountServiceApi;
|
IAccountServiceApi iAccountServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
|
ISaOrderServiceApi iSaOrderServiceApi;
|
||||||
|
@DubboReference
|
||||||
IApprovalServiceApi iApprovalServiceApi;
|
IApprovalServiceApi iApprovalServiceApi;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void importTemplate(List<MemberEmptyDetailDTO> resultList) {
|
public void importTemplate(List<MemberEmptyDetailDTO> resultList) {
|
||||||
// 会员编号列表(导入会员编号去重)
|
// 会员编号列表(导入会员编号去重)
|
||||||
|
|
@ -171,6 +187,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
CuMemberEmpty memberEmpty = new CuMemberEmpty();
|
CuMemberEmpty memberEmpty = new CuMemberEmpty();
|
||||||
// 空单明细数据
|
// 空单明细数据
|
||||||
List<CuMemberEmptyDetail> detailList = new ArrayList<>();
|
List<CuMemberEmptyDetail> detailList = new ArrayList<>();
|
||||||
|
// 空单明细产品数据
|
||||||
|
List<CuMemberEmptyProduct> productList = new ArrayList<>();
|
||||||
|
|
||||||
// 空单数据
|
// 空单数据
|
||||||
MemberEmptyDetailDTO tmpDetail = resultList.get(0);
|
MemberEmptyDetailDTO tmpDetail = resultList.get(0);
|
||||||
|
|
@ -182,12 +200,34 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
// 空单明细数据
|
// 空单明细数据
|
||||||
for (MemberEmptyDetailDTO detailDTO : resultList) {
|
for (MemberEmptyDetailDTO detailDTO : resultList) {
|
||||||
detailList.add(BeanUtil.copyProperties(detailDTO, CuMemberEmptyDetail.class));
|
detailList.add(BeanUtil.copyProperties(detailDTO, CuMemberEmptyDetail.class));
|
||||||
|
|
||||||
|
// 产品列表数据
|
||||||
|
List<MemberEmptyProductDTO> tmpProductList = detailDTO.getProductList();
|
||||||
|
if (CollectionUtil.isNotEmpty(tmpProductList)) {
|
||||||
|
for (MemberEmptyProductDTO productDTO : tmpProductList) {
|
||||||
|
CuMemberEmptyProduct cuMemberEmptyProduct = new CuMemberEmptyProduct();
|
||||||
|
cuMemberEmptyProduct.setPkMemberEmpty(detailDTO.getPkMemberEmpty());
|
||||||
|
cuMemberEmptyProduct.setPkMemberEmptyDetail(detailDTO.getPkId());
|
||||||
|
cuMemberEmptyProduct.setPkProduct(productDTO.getPkProduct());
|
||||||
|
cuMemberEmptyProduct.setQuantity(productDTO.getQuantity());
|
||||||
|
cuMemberEmptyProduct.setSpecsName(productDTO.getSpecsName());
|
||||||
|
cuMemberEmptyProduct.setSpecsNameId(productDTO.getSpecsNameId());
|
||||||
|
cuMemberEmptyProduct.setPkCountry(pkCountry);
|
||||||
|
productList.add(cuMemberEmptyProduct);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改空单批次
|
// 修改空单批次
|
||||||
iCuMemberEmptyService.updateById(memberEmpty);
|
iCuMemberEmptyService.updateById(memberEmpty);
|
||||||
// 更新空单批次明细
|
// 更新空单批次明细
|
||||||
iCuMemberEmptyDetailService.updateBatch(detailList, userId);
|
iCuMemberEmptyDetailService.updateBatch(detailList, userId);
|
||||||
|
// 删除部分空单产品数据
|
||||||
|
iCuMemberEmptyProductService.deleteBatch(productList, userId, tmpDetail.getPkMemberEmpty());
|
||||||
|
if (CollectionUtil.isNotEmpty(productList)) {
|
||||||
|
// 插入或更新空间批次产品
|
||||||
|
iCuMemberEmptyProductService.insertOrUpdateBatch(productList, userId);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -224,8 +264,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
|
|
||||||
// 查询会员编号是否存在
|
// 查询会员编号是否存在
|
||||||
Map<String, Integer> checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty);
|
Map<String, Integer> checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty);
|
||||||
// 查询联系方式是否存在
|
// // 查询联系方式是否存在
|
||||||
Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty);
|
// Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType);
|
||||||
|
|
||||||
// 查询推荐编号是否存在(在本次推荐数据中的直接排除掉)
|
// 查询推荐编号是否存在(在本次推荐数据中的直接排除掉)
|
||||||
final Map<String, Integer> checkParentCodeMap = new HashMap<>();
|
final Map<String, Integer> checkParentCodeMap = new HashMap<>();
|
||||||
|
|
@ -244,15 +284,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
bool[0] = false;
|
bool[0] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (checkPhoneMap.size() > 0) {
|
|
||||||
if (null != checkPhoneMap.get(detail.getPhone()) && checkPhoneMap.get(detail.getPhone()) >= 1) {
|
|
||||||
// 导入的会员联系方式已经存在数据库中,异常状态
|
|
||||||
detail.setPointStatus(EPointStatus.ABNORMAL.getValue());
|
|
||||||
// 会员联系方式存在重复
|
|
||||||
detail.setContentAbstract(detail.getContentAbstract().replace(TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT), "") + TransactionUtils.getContent(MemberMsgConstants.EMPTY_PHONE_NOT) + ";");
|
|
||||||
bool[0] = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 处理校验推荐编号是否存在
|
// 处理校验推荐编号是否存在
|
||||||
if (!checkMemberList.contains(detail.getParentCode()) && checkParentCodeMap.get(detail.getParentCode()) == null) {
|
if (!checkMemberList.contains(detail.getParentCode()) && checkParentCodeMap.get(detail.getParentCode()) == null) {
|
||||||
// 推荐编号不在本次导入的会员中,也不在数据库中,异常状态
|
// 推荐编号不在本次导入的会员中,也不在数据库中,异常状态
|
||||||
|
|
@ -282,6 +313,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
Map<String, Long> memberAccountSeqMap = new HashMap<>();
|
Map<String, Long> memberAccountSeqMap = new HashMap<>();
|
||||||
// 需要查询汇率数据
|
// 需要查询汇率数据
|
||||||
Set<Integer> queryRateSet = new HashSet<>();
|
Set<Integer> queryRateSet = new HashSet<>();
|
||||||
|
// 需要查询仓库数据
|
||||||
|
Set<Integer> queryStoreHouseSet = new HashSet<>();
|
||||||
// 需要查询奖金账户数据
|
// 需要查询奖金账户数据
|
||||||
Set<Integer> queryAccountSet = new HashSet<>();
|
Set<Integer> queryAccountSet = new HashSet<>();
|
||||||
|
|
||||||
|
|
@ -290,6 +323,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
// 生成需要入库的会员账户ID列表
|
// 生成需要入库的会员账户ID列表
|
||||||
List<Long> memberAccountSeqList = iCuMemberAccountService.querySeqList(detailList.size());
|
List<Long> memberAccountSeqList = iCuMemberAccountService.querySeqList(detailList.size());
|
||||||
|
|
||||||
|
// 订单需要生成seq的数量
|
||||||
|
int orderSeqCount = 0;
|
||||||
// 遍历空单明细数据,提取准备的数据
|
// 遍历空单明细数据,提取准备的数据
|
||||||
for (int i = 0; i < detailList.size(); i++) {
|
for (int i = 0; i < detailList.size(); i++) {
|
||||||
CuMemberEmptyDetailExt emptyDetail = detailList.get(i);
|
CuMemberEmptyDetailExt emptyDetail = detailList.get(i);
|
||||||
|
|
@ -304,6 +339,14 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
// 需要查库的汇率数据
|
// 需要查库的汇率数据
|
||||||
queryRateSet.add(emptyDetail.getPkSettleCountry());
|
queryRateSet.add(emptyDetail.getPkSettleCountry());
|
||||||
|
|
||||||
|
// 如果选购产品并且存在产品信息
|
||||||
|
if (EYesNo.YES.getIntValue() == emptyDetail.getProductFlag() && CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
// 累计订单数量
|
||||||
|
orderSeqCount++;
|
||||||
|
// 记录查询仓库数据
|
||||||
|
queryStoreHouseSet.add(emptyDetail.getRecProvince());
|
||||||
|
}
|
||||||
|
|
||||||
if (null != emptyDetail.getBackAmount() && emptyDetail.getBackAmount().compareTo(BigDecimal.ZERO) > 0) {
|
if (null != emptyDetail.getBackAmount() && emptyDetail.getBackAmount().compareTo(BigDecimal.ZERO) > 0) {
|
||||||
// 回调金额大于0,记录查询账户国家
|
// 回调金额大于0,记录查询账户国家
|
||||||
queryAccountSet.add(emptyDetail.getPkSettleCountry());
|
queryAccountSet.add(emptyDetail.getPkSettleCountry());
|
||||||
|
|
@ -335,6 +378,18 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 省对应发货仓库(key: 省ID,value: 仓库ID)
|
||||||
|
Map<Integer, Integer> storehouseMap = new HashMap<>();
|
||||||
|
if (CollectionUtil.isNotEmpty(queryStoreHouseSet)) {
|
||||||
|
// 查询省对应仓库
|
||||||
|
List<BdStorehouse> storehouseList = iCurrencyServiceApi.queryBdStorehouseMapByProvince(queryStoreHouseSet).getData();
|
||||||
|
if (CollectionUtil.isNotEmpty(storehouseList)) {
|
||||||
|
for (BdStorehouse storehouse : storehouseList) {
|
||||||
|
storehouseMap.put(storehouse.getProvince(), storehouse.getPkId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 回填金额账户数据(key: 国家ID,value: 账户ID)
|
// 回填金额账户数据(key: 国家ID,value: 账户ID)
|
||||||
Map<Integer, Integer> accountMap = new HashMap<>();
|
Map<Integer, Integer> accountMap = new HashMap<>();
|
||||||
if (CollectionUtil.isNotEmpty(queryAccountSet)) {
|
if (CollectionUtil.isNotEmpty(queryAccountSet)) {
|
||||||
|
|
@ -347,6 +402,14 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 生成订单seq数据
|
||||||
|
List<Long> orderSeqList = new ArrayList<>(orderSeqCount);
|
||||||
|
if (0 != orderSeqCount) {
|
||||||
|
orderSeqList = iSaOrderServiceApi.querySeqList(orderSeqCount).getData();
|
||||||
|
}
|
||||||
|
// 订单seq数据下标
|
||||||
|
int orderSeqInt = 0;
|
||||||
|
|
||||||
////////// 封装入口相关数据开始 //////////
|
////////// 封装入口相关数据开始 //////////
|
||||||
|
|
||||||
// 当前时间
|
// 当前时间
|
||||||
|
|
@ -359,6 +422,10 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
List<CuMemberRegister> registerMemberList = new ArrayList<>(detailList.size());
|
List<CuMemberRegister> registerMemberList = new ArrayList<>(detailList.size());
|
||||||
// 入库会员账户流水列表
|
// 入库会员账户流水列表
|
||||||
List<CuMemberTrade> saveMemberTradeList = new ArrayList<>();
|
List<CuMemberTrade> saveMemberTradeList = new ArrayList<>();
|
||||||
|
// 入库订单列表
|
||||||
|
List<SaOrder> saveOrderList = new ArrayList<>();
|
||||||
|
// 入库订单明细列表
|
||||||
|
List<SaOrderItems> saveOrderItemList = new ArrayList<>();
|
||||||
|
|
||||||
// 查询批次下推荐架构顶点
|
// 查询批次下推荐架构顶点
|
||||||
List<CuMemberEmptyDetailExt> placeTopList = iCuMemberEmptyDetailService.queryPlaceParentTopAndProduct(pkMemberEmpty);
|
List<CuMemberEmptyDetailExt> placeTopList = iCuMemberEmptyDetailService.queryPlaceParentTopAndProduct(pkMemberEmpty);
|
||||||
|
|
@ -377,6 +444,15 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
||||||
memberSeqMap, memberMap, memberAccountSeqMap, treeDetail,
|
memberSeqMap, memberMap, memberAccountSeqMap, treeDetail,
|
||||||
accountMap.get(pkSettleCountry), currencyMap.get(pkSettleCountry), userId, nowDate, systemType);
|
accountMap.get(pkSettleCountry), currencyMap.get(pkSettleCountry), userId, nowDate, systemType);
|
||||||
|
|
||||||
|
// 如果选购产品并且存在产品信息
|
||||||
|
if (EYesNo.YES.getIntValue() == treeDetail.getProductFlag() && CollectionUtil.isNotEmpty(treeDetail.getProductDTOList())) {
|
||||||
|
// 获取订单ID
|
||||||
|
Long pkOrder = orderSeqList.get(orderSeqInt++);
|
||||||
|
this.createOrder(saveOrderList, saveOrderItemList, treeDetail, cuMember,
|
||||||
|
currencyMap.get(pkSettleCountry), storehouseMap.get(treeDetail.getRecCounty()),
|
||||||
|
pkOrder, userId, nowDate, systemType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -391,6 +467,15 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
||||||
memberSeqMap, memberMap, memberAccountSeqMap, topDetail,
|
memberSeqMap, memberMap, memberAccountSeqMap, topDetail,
|
||||||
accountMap.get(pkSettleCountry), currencyMap.get(pkSettleCountry), userId, nowDate, systemType);
|
accountMap.get(pkSettleCountry), currencyMap.get(pkSettleCountry), userId, nowDate, systemType);
|
||||||
|
|
||||||
|
// 如果选购产品并且存在产品信息
|
||||||
|
if (EYesNo.YES.getIntValue() == topDetail.getProductFlag() && CollectionUtil.isNotEmpty(topDetail.getProductDTOList())) {
|
||||||
|
// 获取订单ID
|
||||||
|
Long pkOrder = orderSeqList.get(orderSeqInt++);
|
||||||
|
this.createOrder(saveOrderList, saveOrderItemList, topDetail, cuMember,
|
||||||
|
currencyMap.get(pkSettleCountry), storehouseMap.get(topDetail.getRecCounty()),
|
||||||
|
pkOrder, userId, nowDate, systemType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("空单注册处理异常", e);
|
log.error("空单注册处理异常", e);
|
||||||
|
|
@ -444,6 +529,14 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
memberEmptyUpdateWrapper.set(CuMemberEmpty::getModifiedTime, nowDate);
|
memberEmptyUpdateWrapper.set(CuMemberEmpty::getModifiedTime, nowDate);
|
||||||
iCuMemberEmptyService.update(memberEmptyUpdateWrapper);
|
iCuMemberEmptyService.update(memberEmptyUpdateWrapper);
|
||||||
|
|
||||||
|
// 购买产品,订单以及订单明细入库
|
||||||
|
if (CollectionUtil.isNotEmpty(saveOrderList)) {
|
||||||
|
R<?> orderResult = iSaOrderServiceApi.saveOrderBatch(saveOrderList, saveOrderItemList);
|
||||||
|
if (!orderResult.isSuccess()) {
|
||||||
|
throw new ServiceException("空单注册生成订单异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (pushLogFlag) {
|
if (pushLogFlag) {
|
||||||
// 推送业务操作日志
|
// 推送业务操作日志
|
||||||
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singletonList(logDTO));
|
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singletonList(logDTO));
|
||||||
|
|
@ -617,6 +710,108 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
return cuMember;
|
return cuMember;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 封装订单以及订单详情数据
|
||||||
|
*
|
||||||
|
* @param saveOrderList 入库订单列表
|
||||||
|
* @param saveOrderItemList 入库订单明细列表
|
||||||
|
* @param emptyDetail 空单明细数据
|
||||||
|
* @param cuMember 新会员数据
|
||||||
|
* @param pkRate 汇率ID
|
||||||
|
* @param pkStoreHouse 仓库ID
|
||||||
|
* @param pkOrder 订单ID
|
||||||
|
* @param userId 当前会员
|
||||||
|
* @param nowDate 当前时间
|
||||||
|
*/
|
||||||
|
private void createOrder(List<SaOrder> saveOrderList, List<SaOrderItems> saveOrderItemList,
|
||||||
|
CuMemberEmptyDetailExt emptyDetail, CuMember cuMember,
|
||||||
|
Integer pkRate, Integer pkStoreHouse,
|
||||||
|
Long pkOrder, Long userId, Date nowDate, Integer systemType) {
|
||||||
|
// 封装订单信息
|
||||||
|
SaOrder saOrder = SaOrder.builder()
|
||||||
|
.pkId(pkOrder)
|
||||||
|
.orderCode(CommonUtil.createSerialNumber(EOrderPrefix.ORDER_CODE))
|
||||||
|
.orderType(EOrderType.REGISTER_ORDER.getValue())
|
||||||
|
.pkRate(pkRate)
|
||||||
|
.orderAmount(BigDecimal.ZERO)
|
||||||
|
.orderAchieve(null != emptyDetail.getSettlementAchieve() ? emptyDetail.getSettlementAchieve() : BigDecimal.ZERO)
|
||||||
|
.uploadAchieve(null != emptyDetail.getTransferAchieve() ? emptyDetail.getTransferAchieve() : BigDecimal.ZERO)
|
||||||
|
.recName(emptyDetail.getRecName())
|
||||||
|
.recPhone(emptyDetail.getRecPhone())
|
||||||
|
.recProvince(emptyDetail.getRecProvince())
|
||||||
|
.recCity(emptyDetail.getRecCity())
|
||||||
|
.recCounty(emptyDetail.getRecCounty())
|
||||||
|
.recAddress(emptyDetail.getRecAddress())
|
||||||
|
.payTime(nowDate)
|
||||||
|
.payType(EOrderPayType.WALLET.getValue())
|
||||||
|
.orderStatus(EPayStatus.PAID.getValue())
|
||||||
|
.pkMember(emptyDetail.getPkId())
|
||||||
|
.pkReference(cuMember.getPkParent())
|
||||||
|
.pkPlacement(cuMember.getPkPlaceParent())
|
||||||
|
.pkVertex(cuMember.getPkVertex())
|
||||||
|
.pkStorehouse(pkStoreHouse)
|
||||||
|
.systemType(systemType)
|
||||||
|
.build();
|
||||||
|
saOrder.setPkCountry(emptyDetail.getPkSettleCountry());
|
||||||
|
saOrder.setPkCreator(userId);
|
||||||
|
saOrder.setCreationTime(nowDate);
|
||||||
|
saveOrderList.add(saOrder);
|
||||||
|
|
||||||
|
// 产品信息
|
||||||
|
List<CuMemberEmptyProductDTO> productDTOList = emptyDetail.getProductDTOList();
|
||||||
|
if (CollectionUtil.isNotEmpty(productDTOList)) {
|
||||||
|
for (CuMemberEmptyProductDTO productDTO : productDTOList) {
|
||||||
|
// 封装订单明细停放上
|
||||||
|
SaOrderItems saOrderItems = SaOrderItems.builder()
|
||||||
|
.pkOrder(pkOrder)
|
||||||
|
.pkProduct(productDTO.getPkProduct())
|
||||||
|
.pkRate(pkRate)
|
||||||
|
.quantity(productDTO.getQuantity())
|
||||||
|
.pkGrade(cuMember.getPkSettleGrade())
|
||||||
|
.pkAwards(cuMember.getPkAwards())
|
||||||
|
.orderStatus(EOrderStatus.PAY.getValue())
|
||||||
|
.specsName(productDTO.getSpecsName())
|
||||||
|
.specsNameId(productDTO.getSpecsNameId())
|
||||||
|
.waresQuantity(productDTO.getQuantity())
|
||||||
|
.pkStorehouse(pkStoreHouse)
|
||||||
|
.build();
|
||||||
|
saOrderItems.setPkCountry(emptyDetail.getPkSettleCountry());
|
||||||
|
saOrderItems.setPkCreator(userId);
|
||||||
|
saOrderItems.setCreationTime(nowDate);
|
||||||
|
saveOrderItemList.add(saOrderItems);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 安置位置验证以及锁定
|
||||||
|
*
|
||||||
|
* @param emptyDetail 空单明细数据
|
||||||
|
* @param redisLockList redis锁定列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Long placeLock(CuMemberEmptyDetail emptyDetail, List<String> redisLockList) {
|
||||||
|
// 查询最末安置人
|
||||||
|
CuMemberExt cuMemberExt = iCuMemberService.queryLastPlaceByMemberCode(emptyDetail.getPlaceParentCode(), emptyDetail.getPlaceDept());
|
||||||
|
if (null == cuMemberExt) {
|
||||||
|
cuMemberExt = iCuMemberService.getMemberByCode(emptyDetail.getPlaceParentCode());
|
||||||
|
}
|
||||||
|
// 需要锁安置位置
|
||||||
|
String redisLock = CacheConstants.POSITION + cuMemberExt.getPkId() + emptyDetail.getPlaceDept();
|
||||||
|
if (redisService.lockKeyOnce(redisLock)) {
|
||||||
|
redisLockList.add(redisLock);
|
||||||
|
|
||||||
|
return cuMemberExt.getPkId();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Thread.sleep(200);
|
||||||
|
return this.placeLock(emptyDetail, redisLockList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("空单注册锁定安置异常", e);
|
||||||
|
throw new ServiceException("空单注册锁定安置异常");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public String submit(MemberEmptySignParam param, List<CuMemberEmptyDetailExt> detailList, LoginUser loginUser) {
|
public String submit(MemberEmptySignParam param, List<CuMemberEmptyDetailExt> detailList, LoginUser loginUser) {
|
||||||
|
|
@ -706,6 +901,11 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
||||||
|
|
||||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||||
|
|
||||||
|
if (StringUtils.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||||
|
// 处理产品信息
|
||||||
|
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||||
|
}
|
||||||
paramList.add(detailDTO);
|
paramList.add(detailDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.hzs.member.empty.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 空单注册列表产品查询VO
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/6 17:30
|
||||||
|
* @Classname: MemberEmptyRegisterQueryProductVO
|
||||||
|
* @PackageName: com.hzs.member.empty.vo
|
||||||
|
*/
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@Data
|
||||||
|
public class MemberEmptyRegisterQueryProductVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名称
|
||||||
|
*/
|
||||||
|
private String productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品规格名称
|
||||||
|
*/
|
||||||
|
private String specsName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品数量
|
||||||
|
*/
|
||||||
|
private Integer quantity;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -6,9 +6,14 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单注册列表查询VO
|
* @Description: 空单注册列表查询VO
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/6 16:02
|
||||||
|
* @Classname: MemberEmptyRegisterQueryVO
|
||||||
|
* @PackageName: com.hzs.member.empty.vo
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class MemberEmptyRegisterQueryVO {
|
public class MemberEmptyRegisterQueryVO {
|
||||||
|
|
@ -37,6 +42,14 @@ public class MemberEmptyRegisterQueryVO {
|
||||||
@Excel(name = "联系方式")
|
@Excel(name = "联系方式")
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 隶属体系
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 隶属团队
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐编号
|
* 推荐编号
|
||||||
*/
|
*/
|
||||||
|
|
@ -150,4 +163,73 @@ public class MemberEmptyRegisterQueryVO {
|
||||||
@Excel(name = "上传业绩")
|
@Excel(name = "上传业绩")
|
||||||
private BigDecimal transferAchieve;
|
private BigDecimal transferAchieve;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选购产品
|
||||||
|
*/
|
||||||
|
@Transaction(transactionKey = EnumsPrefixConstants.DEALER_YES_NO)
|
||||||
|
private Integer productFlag;
|
||||||
|
/**
|
||||||
|
* 选购产品显示
|
||||||
|
*/
|
||||||
|
@Excel(name = "选购产品")
|
||||||
|
private String productFlagVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品信息VO
|
||||||
|
*/
|
||||||
|
private List<MemberEmptyRegisterQueryProductVO> detailList;
|
||||||
|
/**
|
||||||
|
* 产品信息
|
||||||
|
*/
|
||||||
|
@Excel(name = "产品信息")
|
||||||
|
private String productStr;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货人
|
||||||
|
*/
|
||||||
|
@Excel(name = "收货人")
|
||||||
|
private String recName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 收货电话
|
||||||
|
*/
|
||||||
|
@Excel(name = "收货电话")
|
||||||
|
private String recPhone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省
|
||||||
|
*/
|
||||||
|
private Integer recProvince;
|
||||||
|
/**
|
||||||
|
* 省显示
|
||||||
|
*/
|
||||||
|
@Excel(name = "省")
|
||||||
|
private String recProvinceVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 市
|
||||||
|
*/
|
||||||
|
private Integer recCity;
|
||||||
|
/**
|
||||||
|
* 市显示
|
||||||
|
*/
|
||||||
|
@Excel(name = "市")
|
||||||
|
private String recCityVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 县
|
||||||
|
*/
|
||||||
|
private Integer recCounty;
|
||||||
|
/**
|
||||||
|
* 县显示
|
||||||
|
*/
|
||||||
|
@Excel(name = "县")
|
||||||
|
private String recCountyVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 详细地址
|
||||||
|
*/
|
||||||
|
@Excel(name = "详细地址")
|
||||||
|
private String recAddress;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ public class ApiShareController extends BaseController {
|
||||||
return AjaxResult.error("请输入联系方式");
|
return AjaxResult.error("请输入联系方式");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验手机号必须唯一
|
// 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一(9035)
|
||||||
String relationStr = iCuMemberService.checkRegisterRelation(phone, Long.parseLong(new String(Base64Decoder.decode(parentCode))));
|
String relationStr = iCuMemberService.checkRegisterRelation(phone, Long.parseLong(new String(Base64Decoder.decode(parentCode))));
|
||||||
if (relationStr != null) {
|
if (relationStr != null) {
|
||||||
return AjaxResult.error(relationStr);
|
return AjaxResult.error(relationStr);
|
||||||
|
|
@ -140,11 +140,13 @@ public class ApiShareController extends BaseController {
|
||||||
return AjaxResult.error(checkSmsStr);
|
return AjaxResult.error(checkSmsStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验手机号必须唯一
|
// 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一(9035)
|
||||||
String relationStr = iCuMemberService.checkRegisterRelation(registerParam.getPhone(), parentMember.getPkId());
|
// 2025年6月9日 - 手机号不唯一,在此不做唯一校验 - start
|
||||||
if (relationStr != null) {
|
// String relationStr = iCuMemberService.checkRegisterRelation(registerParam.getPhone(), parentMember);
|
||||||
return AjaxResult.error(relationStr);
|
// if (relationStr != null) {
|
||||||
}
|
// return AjaxResult.error(relationStr);
|
||||||
|
// }
|
||||||
|
// 2025年6月9日 - 手机号不唯一,在此不做唯一校验 - start
|
||||||
|
|
||||||
CuMember newCuMember = iCuMemberService.shareRegisterMember(registerParam);
|
CuMember newCuMember = iCuMemberService.shareRegisterMember(registerParam);
|
||||||
if (null != newCuMember) {
|
if (null != newCuMember) {
|
||||||
|
|
|
||||||
|
|
@ -1534,47 +1534,6 @@
|
||||||
group by tmp.member_code
|
group by tmp.member_code
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 校验会员联系方式是否存在 -->
|
|
||||||
<select id="checkMemberPhoneExist" resultType="com.hzs.member.base.dto.MemberCountDTO">
|
|
||||||
select tmp.phone, count(tmp.phone) member_count
|
|
||||||
from (
|
|
||||||
select cm.phone
|
|
||||||
from cu_member cm
|
|
||||||
where cm.del_flag = 0
|
|
||||||
and (cm.phone in ('0'
|
|
||||||
<foreach collection="phoneList" item="item" close=")" index="index">
|
|
||||||
<choose>
|
|
||||||
<when test="index % 500 == 0">) or cm.phone in (#{item}</when>
|
|
||||||
<otherwise>, #{item}</otherwise>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
)
|
|
||||||
<if test="checkEmpty != null and checkEmpty">
|
|
||||||
<!-- 需要校验批量空单数据 -->
|
|
||||||
union all
|
|
||||||
select cmed.phone
|
|
||||||
from CU_MEMBER_EMPTY_DETAIL cmed
|
|
||||||
inner join CU_MEMBER_EMPTY cme
|
|
||||||
on cme.pk_id = cmed.pk_member_empty
|
|
||||||
and cme.status in (1, 2, 4)
|
|
||||||
and cme.del_flag = 0
|
|
||||||
where cmed.del_flag = 0
|
|
||||||
<if test="excludeMemberEmpty != null">
|
|
||||||
and cmed.pk_member_empty != #{excludeMemberEmpty}
|
|
||||||
</if>
|
|
||||||
and (cmed.phone in ('0'
|
|
||||||
<foreach collection="phoneList" item="item" close=")" index="index">
|
|
||||||
<choose>
|
|
||||||
<when test="index % 500 == 0">) or cmed.phone in (#{item}</when>
|
|
||||||
<otherwise>, #{item}</otherwise>
|
|
||||||
</choose>
|
|
||||||
</foreach>
|
|
||||||
)
|
|
||||||
</if>
|
|
||||||
) tmp
|
|
||||||
group by tmp.phone
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="findAll" resultMap="MemberResultMap">
|
<select id="findAll" resultMap="MemberResultMap">
|
||||||
select *
|
select *
|
||||||
from cu_member
|
from cu_member
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,18 @@
|
||||||
<result column="settle_country_name" property="settleCountryName"/>
|
<result column="settle_country_name" property="settleCountryName"/>
|
||||||
<result column="pk_grade_key" property="pkGradeKey"/>
|
<result column="pk_grade_key" property="pkGradeKey"/>
|
||||||
<result column="pk_award_key" property="pkAwardKey"/>
|
<result column="pk_award_key" property="pkAwardKey"/>
|
||||||
|
<result column="rec_province_val" property="recProvinceVal"/>
|
||||||
|
<result column="rec_city_val" property="recCityVal"/>
|
||||||
|
<result column="rec_county_val" property="recCountyVal"/>
|
||||||
<result column="remark" property="remark"/>
|
<result column="remark" property="remark"/>
|
||||||
|
<collection property="productDTOList" ofType="com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductDTO">
|
||||||
|
<result column="pk_product" property="pkProduct"/>
|
||||||
|
<result column="product_code" property="productCode"/>
|
||||||
|
<result column="product_name" property="productName"/>
|
||||||
|
<result column="specs_name" property="specsName"/>
|
||||||
|
<result column="specs_name_id" property="specsNameId"/>
|
||||||
|
<result column="quantity" property="quantity"/>
|
||||||
|
</collection>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 查询指定数量SEQ -->
|
<!-- 查询指定数量SEQ -->
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,117 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.member.empty.mapper.CuMemberEmptyProductMapper">
|
<mapper namespace="com.hzs.member.empty.mapper.CuMemberEmptyProductMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.hzs.common.domain.member.empty.CuMemberEmptyProduct">
|
||||||
|
<id column="PK_ID" property="pkId"/>
|
||||||
|
<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="DEL_FLAG" property="delFlag"/>
|
||||||
|
<result column="PK_MEMBER_EMPTY" property="pkMemberEmpty"/>
|
||||||
|
<result column="PK_MEMBER_EMPTY_DETAIL" property="pkMemberEmptyDetail"/>
|
||||||
|
<result column="PK_PRODUCT" property="pkProduct"/>
|
||||||
|
<result column="QUANTITY" property="quantity"/>
|
||||||
|
<result column="SPECS_NAME" property="specsName"/>
|
||||||
|
<result column="SPECS_NAME_ID" property="specsNameId"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 批量删除会员空单产品 -->
|
||||||
|
<update id="deleteBatch">
|
||||||
|
update cu_member_empty_product cmep
|
||||||
|
set cmep.del_flag = 0,
|
||||||
|
cmep.pk_modified = #{userId},
|
||||||
|
cmep.modified_time = sysdate
|
||||||
|
where cmep.del_flag = 0
|
||||||
|
and cmep.pk_member_empty = #{pkMemberEmpty}
|
||||||
|
and cmep.pk_id in
|
||||||
|
(select cmep.pk_id
|
||||||
|
from cu_member_empty_product cmep
|
||||||
|
where cmep.del_flag = 0
|
||||||
|
and cmep.pk_member_empty = #{pkMemberEmpty}
|
||||||
|
<if test="emptyProductList != null and emptyProductList.size > 0">
|
||||||
|
and (
|
||||||
|
<foreach collection="emptyProductList" item="item" separator=" or ">
|
||||||
|
(
|
||||||
|
cmep.pk_member_empty_detail = #{item.pkMemberEmptyDetail}
|
||||||
|
and cmep.pk_product = #{item.pkProduct}
|
||||||
|
and cmep.specs_name_id = #{item.specsNameId}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
)
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 批量插入会员空单产品 -->
|
||||||
|
<insert id="insertOrUpdateBatch">
|
||||||
|
merge into CU_MEMBER_EMPTY_PRODUCT cmep
|
||||||
|
using (
|
||||||
|
<foreach collection="emptyProductList" item="item" separator=" union ">
|
||||||
|
select
|
||||||
|
#{item.pkMemberEmpty} PK_MEMBER_EMPTY,
|
||||||
|
#{item.pkMemberEmptyDetail} PK_MEMBER_EMPTY_DETAIL,
|
||||||
|
#{item.pkProduct} PK_PRODUCT,
|
||||||
|
#{item.quantity} QUANTITY,
|
||||||
|
#{item.specsName} SPECS_NAME,
|
||||||
|
#{item.specsNameId} SPECS_NAME_ID,
|
||||||
|
#{item.pkCountry} PK_COUNTRY
|
||||||
|
from dual
|
||||||
|
</foreach>
|
||||||
|
) tmp
|
||||||
|
on (
|
||||||
|
cmep.DEL_FLAG = 0
|
||||||
|
and tmp.PK_MEMBER_EMPTY = cmep.PK_MEMBER_EMPTY
|
||||||
|
and tmp.PK_MEMBER_EMPTY_DETAIL = cmep.PK_MEMBER_EMPTY_DETAIL
|
||||||
|
and tmp.PK_PRODUCT = cmep.PK_PRODUCT
|
||||||
|
and tmp.SPECS_NAME_ID = cmep.SPECS_NAME_ID
|
||||||
|
)
|
||||||
|
WHEN MATCHED THEN
|
||||||
|
update set
|
||||||
|
cmep.QUANTITY = tmp.QUANTITY,
|
||||||
|
cmep.SPECS_NAME = tmp.SPECS_NAME,
|
||||||
|
cmep.PK_MODIFIED = #{userId},
|
||||||
|
cmep.MODIFIED_TIME = sysdate
|
||||||
|
WHEN NOT MATCHED THEN
|
||||||
|
insert (
|
||||||
|
pk_id,
|
||||||
|
PK_MEMBER_EMPTY,
|
||||||
|
PK_MEMBER_EMPTY_DETAIL,
|
||||||
|
PK_PRODUCT,
|
||||||
|
QUANTITY,
|
||||||
|
SPECS_NAME,
|
||||||
|
SPECS_NAME_ID,
|
||||||
|
PK_COUNTRY,
|
||||||
|
PK_CREATOR
|
||||||
|
)
|
||||||
|
values (
|
||||||
|
CU_MEMBER_EMPTY_PRODUCT.Nextval,
|
||||||
|
tmp.PK_MEMBER_EMPTY,
|
||||||
|
tmp.PK_MEMBER_EMPTY_DETAIL,
|
||||||
|
tmp.PK_PRODUCT,
|
||||||
|
tmp.QUANTITY,
|
||||||
|
tmp.SPECS_NAME,
|
||||||
|
tmp.SPECS_NAME_ID,
|
||||||
|
tmp.PK_COUNTRY,
|
||||||
|
#{userId}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 查询空单明细产品信息列表 -->
|
||||||
|
<select id="queryProductList" resultType="com.hzs.common.domain.member.empty.ext.CuMemberEmptyProductExt">
|
||||||
|
select cmep.*, bp.product_name, bp.product_code
|
||||||
|
from cu_member_empty_product cmep
|
||||||
|
left join bd_product bp
|
||||||
|
on bp.pk_id = cmep.pk_product
|
||||||
|
and bp.del_flag = 0
|
||||||
|
where cmep.del_flag = 0
|
||||||
|
and cmep.pk_member_empty_detail in
|
||||||
|
<foreach collection="emptyDetailIdList" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
order by cmep.pk_member_empty_detail desc
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -148,10 +148,11 @@ public class ApiRetailOrderController {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/valid-relation")
|
@PostMapping("/valid-relation")
|
||||||
public AjaxResult validRelation(@Valid @RequestBody RetailOrderRelationParam relationParam) {
|
public AjaxResult validRelation(@Valid @RequestBody RetailOrderRelationParam relationParam) {
|
||||||
String relationStr = iMemberServiceApi.checkRegisterRelation(relationParam.getPhone(), relationParam.getParentCode()).getData();
|
// new 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||||
if (relationStr != null) {
|
// String relationStr = iMemberServiceApi.checkRegisterRelation(relationParam.getPhone(), relationParam.getParentCode()).getData();
|
||||||
return AjaxResult.error(relationStr);
|
// if (relationStr != null) {
|
||||||
}
|
// return AjaxResult.error(relationStr);
|
||||||
|
// }
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -231,11 +232,12 @@ public class ApiRetailOrderController {
|
||||||
// return AjaxResult.error(checkStr);
|
// return AjaxResult.error(checkStr);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 校验手机号必须唯一
|
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||||
String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||||
if (relationStr != null) {
|
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
||||||
return AjaxResult.error(relationStr);
|
// if (relationStr != null) {
|
||||||
}
|
// return AjaxResult.error(relationStr);
|
||||||
|
// }
|
||||||
|
|
||||||
// 购物车中获取商品信息
|
// 购物车中获取商品信息
|
||||||
registerParam.setOrderItemsParams(convertShoppingCarToSku(registerParam.getPkCreator(), registerParam.getShopList()));
|
registerParam.setOrderItemsParams(convertShoppingCarToSku(registerParam.getPkCreator(), registerParam.getShopList()));
|
||||||
|
|
@ -280,11 +282,12 @@ public class ApiRetailOrderController {
|
||||||
// return AjaxResult.error(checkStr);
|
// return AjaxResult.error(checkStr);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 校验手机号必须唯一
|
// 手机号可以重复,不需要进行是否重复校验 -- 已经跳过,此处可以不需要当前判断
|
||||||
String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
// // 校验注册关系(是否跨团队) -- 2024.12.24 修改为校验手机号必须唯一
|
||||||
if (relationStr != null) {
|
// String relationStr = iMemberServiceApi.checkRegisterRelation(registerParam.getPhone(), registerParam.getParentCode()).getData();
|
||||||
return AjaxResult.error(relationStr);
|
// if (relationStr != null) {
|
||||||
}
|
// return AjaxResult.error(relationStr);
|
||||||
|
// }
|
||||||
|
|
||||||
// 支付入参
|
// 支付入参
|
||||||
registerParam.setIsPay(EYesNo.YES.getIntValue());
|
registerParam.setIsPay(EYesNo.YES.getIntValue());
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,15 @@ package com.hzs.retail.sale.param;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新零售关系校验入参
|
* @Description: 新零售关系校验入参
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2024/12/19 11:52
|
||||||
|
* @Classname: RetailOrderRelationParam
|
||||||
|
* @PackageName: com.hzs.retail.sale.param
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class RetailOrderRelationParam implements Serializable {
|
public class RetailOrderRelationParam implements Serializable {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 销售订单-明细表 Mapper 接口
|
* 销售订单-明细表 Mapper 接口
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2022-08-31
|
||||||
*/
|
*/
|
||||||
public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
|
|
||||||
|
|
@ -116,15 +119,33 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
* 更新订单明细表,将订单明细更改为删除
|
* 更新订单明细表,将订单明细更改为删除
|
||||||
*
|
*
|
||||||
* @param saOrder 订单
|
* @param saOrder 订单
|
||||||
|
* @return: Boolean
|
||||||
|
* @Author: sui q
|
||||||
|
* @Date: 2022/10/24 20:48
|
||||||
*/
|
*/
|
||||||
Integer updateOrderItems(SaOrder saOrder);
|
Integer updateOrderItems(SaOrder saOrder);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
* @description:
|
||||||
|
* @author: sui q
|
||||||
|
* @date: 2023/7/27 16:16
|
||||||
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
void updateOrderItemsByMemberList(@Param("memberList") List<Long> memberList, @Param("pkApprove") Long pkApprove,
|
void updateOrderItemsByMemberList(@Param("memberList") List<Long> memberList, @Param("pkApprove") Long pkApprove,
|
||||||
@Param("currentDateTime") Date currentDateTime);
|
@Param("currentDateTime") Date currentDateTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据主键列表更新订单明细,删除部分退的订单
|
||||||
|
*
|
||||||
|
* @param pkOrderItemsId 订单明细
|
||||||
|
* @param pkApprove 审核人
|
||||||
|
* @param currentDate 更新时间
|
||||||
|
* @return: Boolean
|
||||||
|
* @Author: sui q
|
||||||
|
* @Date: 2023/3/28 11:25
|
||||||
|
*/
|
||||||
|
Integer updateOrderItemsById(@Param("pkOrderItemsId") List<Long> pkOrderItemsId, @Param("pkApprove") Long pkApprove, @Param("currentDate") Date currentDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询订单明细列表(前台使用,尽量只查能用到的)
|
* 根据订单ID查询订单明细列表(前台使用,尽量只查能用到的)
|
||||||
*
|
*
|
||||||
|
|
@ -134,7 +155,11 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
List<SaOrderItemsExt> queryListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
List<SaOrderItemsExt> queryListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询订单商品明细列表
|
* @description: 根据订单ID查询订单商品明细列表
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/29 15:38
|
||||||
|
* @param: [orderIdList, tOrderIdList]
|
||||||
|
* @return: java.util.List<com.hzs.common.domain.sale.ext.SaOrderItemsExt>
|
||||||
**/
|
**/
|
||||||
List<WaresOrderVo> waresListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
List<WaresOrderVo> waresListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
||||||
|
|
||||||
|
|
@ -146,6 +171,7 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
*/
|
*/
|
||||||
List<WaresOrderVo> queryWaresListByOrderId(@Param("orderId") Long orderId);
|
List<WaresOrderVo> queryWaresListByOrderId(@Param("orderId") Long orderId);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单明细ID查询订单明细列表
|
* 根据订单明细ID查询订单明细列表
|
||||||
*
|
*
|
||||||
|
|
@ -180,7 +206,11 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
List<SaOrderItemsExt> selectByList(@Param("pkOrder") Long pkOrder);
|
List<SaOrderItemsExt> selectByList(@Param("pkOrder") Long pkOrder);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询商品
|
* @description: 根据订单ID查询商品
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/4/21 18:02
|
||||||
|
* @param: [canApplyOrderVO]
|
||||||
|
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
|
||||||
**/
|
**/
|
||||||
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
||||||
|
|
||||||
|
|
@ -192,6 +222,14 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
*/
|
*/
|
||||||
List<SaOrderItems> queryDeliverByOrder(@Param("pkOrder") Long pkOrder);
|
List<SaOrderItems> queryDeliverByOrder(@Param("pkOrder") Long pkOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入订单明细数据
|
||||||
|
*
|
||||||
|
* @param orderItemsList 订单明细数据
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insertBach(@Param("orderItemsList") List<SaOrderItems> orderItemsList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验订单商品是否下架
|
* 校验订单商品是否下架
|
||||||
*
|
*
|
||||||
|
|
@ -222,6 +260,22 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||||
*/
|
*/
|
||||||
List<OrderItemsParam> selectByWaresCodeList(@Param("orderCode") String orderCode);
|
List<OrderItemsParam> selectByWaresCodeList(@Param("orderCode") String orderCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询新零售购买指定商品数量
|
||||||
|
*
|
||||||
|
* @param pkMember 会员ID
|
||||||
|
* @param waresCodeList 商品编号列表
|
||||||
|
* @param payTime 支付时间(可为null)
|
||||||
|
* @param orderTypeList 订单类型列表
|
||||||
|
* @param systemType 系统类型(可为null)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getRetailWaresQuantity(@Param("pkMember") Long pkMember,
|
||||||
|
@Param("waresCodeList") List<String> waresCodeList,
|
||||||
|
@Param("payTime") Date payTime,
|
||||||
|
@Param("orderTypeList") List<Integer> orderTypeList,
|
||||||
|
@Param("systemType") Integer systemType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新零售购买指定商品数量(新)
|
* 查询新零售购买指定商品数量(新)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,18 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi {
|
||||||
return R.ok(iSaOrderService.selfAddressOrderList(param, memberId, pkCountry));
|
return R.ok(iSaOrderService.selfAddressOrderList(param, memberId, pkCountry));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<?> saveOrderBatch(List<SaOrder> orderList, List<SaOrderItems> orderItemsList) {
|
||||||
|
try {
|
||||||
|
if (iSaOrderService.insertBach(orderList, orderItemsList) > 0) {
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("批量插入订单和订单明细异常", e);
|
||||||
|
}
|
||||||
|
return R.fail();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MemberFirstOrderDTO> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
public List<MemberFirstOrderDTO> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
||||||
List<MemberFirstOrderVo> memberFirstOrderVos = iSaOrderService.checkMemberIsFirstOrder(memberCodeList);
|
List<MemberFirstOrderVo> memberFirstOrderVos = iSaOrderService.checkMemberIsFirstOrder(memberCodeList);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,9 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 销售订单-明细表 服务类
|
* 销售订单-明细表 服务类
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2022-08-31
|
||||||
*/
|
*/
|
||||||
public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
|
|
||||||
|
|
@ -73,14 +76,32 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
* 更新订单明细表,将订单明细更改为删除
|
* 更新订单明细表,将订单明细更改为删除
|
||||||
*
|
*
|
||||||
* @param saOrder
|
* @param saOrder
|
||||||
|
* @return: Boolean
|
||||||
|
* @Author: sui q
|
||||||
|
* @Date: 2022/10/24 20:48
|
||||||
*/
|
*/
|
||||||
Boolean updateOrderItems(SaOrder saOrder);
|
Boolean updateOrderItems(SaOrder saOrder);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
* @description:
|
||||||
|
* @author: sui q
|
||||||
|
* @date: 2023/7/27 16:16
|
||||||
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
void updateOrderItemsByMemberList(List<Long> memberList, Long pkApprove, Date currentDateTime);
|
void updateOrderItemsByMemberList(List<Long> memberList, Long pkApprove, Date currentDateTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据主键列表更新订单明细,删除部分退的订单
|
||||||
|
*
|
||||||
|
* @param pkOrderItemsId 订单明细
|
||||||
|
* @param pkApprove 审核人
|
||||||
|
* @param currentDate 更新时间
|
||||||
|
* @return: Boolean
|
||||||
|
* @Author: sui q
|
||||||
|
* @Date: 2023/3/28 11:25
|
||||||
|
*/
|
||||||
|
Boolean updateOrderItemsById(List<Long> pkOrderItemsId, Long pkApprove, Date currentDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询订单明细列表
|
* 根据订单ID查询订单明细列表
|
||||||
*
|
*
|
||||||
|
|
@ -90,7 +111,11 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList);
|
List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单id查询订单商品列表
|
* @description: 根据订单id查询订单商品列表
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/29 15:37
|
||||||
|
* @param: [orderIdList, tOrderIdList]
|
||||||
|
* @return: java.util.List<com.hzs.common.domain.sale.ext.SaOrderItemsExt>
|
||||||
**/
|
**/
|
||||||
List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList);
|
List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList);
|
||||||
|
|
||||||
|
|
@ -132,7 +157,11 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
List<SaOrderItemsExt> selectByList(Long pkOrder);
|
List<SaOrderItemsExt> selectByList(Long pkOrder);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询商品
|
* @description: 根据订单ID查询商品
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/4/21 18:02
|
||||||
|
* @param: [canApplyOrderVO]
|
||||||
|
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
|
||||||
**/
|
**/
|
||||||
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
||||||
|
|
||||||
|
|
@ -144,6 +173,14 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
*/
|
*/
|
||||||
List<SaOrderItems> queryDeliverByOrder(Long pkOrder);
|
List<SaOrderItems> queryDeliverByOrder(Long pkOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入订单明细数据
|
||||||
|
*
|
||||||
|
* @param orderItemsList 订单明细数据
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insertBach(List<SaOrderItems> orderItemsList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验订单商品是否下架
|
* 校验订单商品是否下架
|
||||||
*
|
*
|
||||||
|
|
@ -191,6 +228,18 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||||
*/
|
*/
|
||||||
List<OrderItemsParam> selectByWaresCodeList(String orderCode);
|
List<OrderItemsParam> selectByWaresCodeList(String orderCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询新零售购买指定商品数量
|
||||||
|
*
|
||||||
|
* @param pkMember 会员ID
|
||||||
|
* @param waresCodeList 商品编号列表
|
||||||
|
* @param payTime 支付时间(可为null)
|
||||||
|
* @param orderTypeList 订单类型列表
|
||||||
|
* @param systemType 系统类型(可为null)
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getRetailWaresQuantity(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新零售购买指定商品数量(新)
|
* 查询新零售购买指定商品数量(新)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -537,6 +537,14 @@ public interface ISaOrderService extends IService<SaOrder> {
|
||||||
*/
|
*/
|
||||||
List<Long> querySeqList(Integer param);
|
List<Long> querySeqList(Integer param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入订单数据
|
||||||
|
*
|
||||||
|
* @param orderList 订单列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int insertBach(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据编号查询会员首单
|
* 根据编号查询会员首单
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,11 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
baseMapper.updateOrderItemsByMemberList(memberList, pkApprove, currentDateTime);
|
baseMapper.updateOrderItemsByMemberList(memberList, pkApprove, currentDateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updateOrderItemsById(List<Long> pkOrderItemsId, Long pkApprove, Date currentDate) {
|
||||||
|
return baseMapper.updateOrderItemsById(pkOrderItemsId, pkApprove, currentDate) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList) {
|
public List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList) {
|
||||||
return baseMapper.queryListByOrderId(orderIdList);
|
return baseMapper.queryListByOrderId(orderIdList);
|
||||||
|
|
@ -89,16 +94,32 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
return baseMapper.selectByInvestmentList(waresOrderParam);
|
return baseMapper.selectByInvestmentList(waresOrderParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时关闭订单
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void closeOrder(Integer pkCountry, String data, Integer orderType) {
|
public void closeOrder(Integer pkCountry, String data, Integer orderType) {
|
||||||
baseMapper.closeOrder(pkCountry, data, orderType);
|
baseMapper.closeOrder(pkCountry, data, orderType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据订单主键查询信息
|
||||||
|
*
|
||||||
|
* @param pkOrder
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<SaOrderItemsExt> selectByList(Long pkOrder) {
|
public List<SaOrderItemsExt> selectByList(Long pkOrder) {
|
||||||
return baseMapper.selectByList(pkOrder);
|
return baseMapper.selectByList(pkOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 根据订单ID查询商品
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/4/21 18:02
|
||||||
|
* @param: [canApplyOrderVO]
|
||||||
|
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
|
||||||
|
**/
|
||||||
@Override
|
@Override
|
||||||
public List<OrderItemsParam> getOrderItemsParams(List<Long> orderIdList) {
|
public List<OrderItemsParam> getOrderItemsParams(List<Long> orderIdList) {
|
||||||
return baseMapper.getOrderItemsParams(orderIdList);
|
return baseMapper.getOrderItemsParams(orderIdList);
|
||||||
|
|
@ -109,6 +130,11 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
return baseMapper.queryDeliverByOrder(pkOrder);
|
return baseMapper.queryDeliverByOrder(pkOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insertBach(List<SaOrderItems> orderItemsList) {
|
||||||
|
return baseMapper.insertBach(orderItemsList);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int checkOrderItemsPutOn(String orderCode) {
|
public int checkOrderItemsPutOn(String orderCode) {
|
||||||
return baseMapper.checkOrderItemsPutOn(orderCode);
|
return baseMapper.checkOrderItemsPutOn(orderCode);
|
||||||
|
|
@ -149,11 +175,22 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
||||||
return baseMapper.copyDeductionItems(pkOrderOld, pkOrderNew, userId, nowDate);
|
return baseMapper.copyDeductionItems(pkOrderOld, pkOrderNew, userId, nowDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据订单编号查询订单项
|
||||||
|
*
|
||||||
|
* @param orderCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<OrderItemsParam> selectByWaresCodeList(String orderCode) {
|
public List<OrderItemsParam> selectByWaresCodeList(String orderCode) {
|
||||||
return baseMapper.selectByWaresCodeList(orderCode);
|
return baseMapper.selectByWaresCodeList(orderCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRetailWaresQuantity(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||||
|
return baseMapper.getRetailWaresQuantity(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
public BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||||
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||||
|
|
|
||||||
|
|
@ -1715,6 +1715,16 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
return baseMapper.querySeqList(param);
|
return baseMapper.querySeqList(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public int insertBach(List<SaOrder> orderList, List<SaOrderItems> orderItemsList) {
|
||||||
|
int i = baseMapper.insertBach(orderList);
|
||||||
|
if (i > 0 && CollectionUtil.isNotEmpty(orderItemsList)) {
|
||||||
|
iSaOrderItemsService.insertBach(orderItemsList);
|
||||||
|
}
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MemberFirstOrderVo> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
public List<MemberFirstOrderVo> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
||||||
return baseMapper.checkMemberIsFirstOrder(memberCodeList);
|
return baseMapper.checkMemberIsFirstOrder(memberCodeList);
|
||||||
|
|
|
||||||
|
|
@ -660,6 +660,16 @@
|
||||||
and pk_order = #{pkId}
|
and pk_order = #{pkId}
|
||||||
and del_flag = 0
|
and del_flag = 0
|
||||||
</update>
|
</update>
|
||||||
|
<update id="updateOrderItemsById">
|
||||||
|
update SA_ORDER_ITEMS
|
||||||
|
set del_flag = 1,
|
||||||
|
pk_modified=#{pkApprove},
|
||||||
|
modified_time=#{currentDate}
|
||||||
|
where del_flag = 0 and pk_id in
|
||||||
|
<foreach collection="pkOrderItemsId" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
<!-- 根据订单ID查询订单明细列表(前台使用,尽量只查能用到的) -->
|
<!-- 根据订单ID查询订单明细列表(前台使用,尽量只查能用到的) -->
|
||||||
<select id="queryListByOrderId" resultType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
<select id="queryListByOrderId" resultType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||||
|
|
@ -1011,6 +1021,26 @@
|
||||||
and soi.pk_order = #{pkOrder}
|
and soi.pk_order = #{pkOrder}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 批量插入订单明细数据 -->
|
||||||
|
<insert id="insertBach">
|
||||||
|
INSERT ALL
|
||||||
|
<foreach collection="orderItemsList" item="item" separator=" ">
|
||||||
|
into SA_ORDER_ITEMS (
|
||||||
|
PK_ORDER, PK_PRODUCT, QUANTITY, PK_RATE,
|
||||||
|
PK_GRADE, PK_AWARDS, ORDER_STATUS,
|
||||||
|
SPECS_NAME, SPECS_NAME_ID, WARES_QUANTITY,
|
||||||
|
PK_CREATOR, CREATION_TIME, PK_COUNTRY
|
||||||
|
)
|
||||||
|
values (
|
||||||
|
#{item.pkOrder}, #{item.pkProduct}, #{item.quantity}, #{item.pkRate, jdbcType=NUMERIC},
|
||||||
|
#{item.pkGrade}, #{item.pkAwards}, #{item.orderStatus},
|
||||||
|
#{item.specsName}, #{item.specsNameId}, #{item.waresQuantity},
|
||||||
|
#{item.pkCreator}, #{item.creationTime}, #{item.pkCountry}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
SELECT 1 FROM dual
|
||||||
|
</insert>
|
||||||
|
|
||||||
<!-- 校验订单商品是否下架 -->
|
<!-- 校验订单商品是否下架 -->
|
||||||
<select id="checkOrderItemsPutOn" resultType="int">
|
<select id="checkOrderItemsPutOn" resultType="int">
|
||||||
select count(1)
|
select count(1)
|
||||||
|
|
@ -1100,6 +1130,35 @@
|
||||||
and so.ORDER_CODE = #{orderCode}
|
and so.ORDER_CODE = #{orderCode}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询新零售购买指定商品数量 -->
|
||||||
|
<select id="getRetailWaresQuantity" resultType="int">
|
||||||
|
select nvl(sum(soi.wares_quantity), 0) wares_quantity
|
||||||
|
from sa_order so
|
||||||
|
left join sa_order_items soi
|
||||||
|
on soi.pk_order = so.pk_id
|
||||||
|
and soi.del_flag = 0
|
||||||
|
and soi.is_gift = 1
|
||||||
|
left join bd_wares bw
|
||||||
|
on bw.pk_id = soi.pk_wares
|
||||||
|
where so.del_flag = 0
|
||||||
|
and so.order_status = 1
|
||||||
|
and so.pk_member = #{pkMember}
|
||||||
|
<if test="systemType != null">
|
||||||
|
and so.system_type = #{systemType}
|
||||||
|
</if>
|
||||||
|
and so.order_type in
|
||||||
|
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
and bw.wares_code in
|
||||||
|
<foreach collection="waresCodeList" item="items" open="(" close=")" separator=",">
|
||||||
|
#{items}
|
||||||
|
</foreach>
|
||||||
|
<if test="payTime != null">
|
||||||
|
and so.pay_time > #{payTime}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 查询新零售购买指定商品数量(新) -->
|
<!-- 查询新零售购买指定商品数量(新) -->
|
||||||
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
<select id="getRetailWaresQuantityNew" resultType="decimal">
|
||||||
select sum(so.box_num) wares_quantity
|
select sum(so.box_num) wares_quantity
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,42 @@ import com.hzs.common.domain.system.base.BdStorehouseAreaMiddle;
|
||||||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <p>
|
||||||
* 仓库地区中间表 Mapper 接口
|
* 仓库地区中间表 Mapper 接口
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-05-05
|
||||||
*/
|
*/
|
||||||
public interface BdStorehouseAreaMiddleMapper extends BaseMapper<BdStorehouseAreaMiddle> {
|
public interface BdStorehouseAreaMiddleMapper extends BaseMapper<BdStorehouseAreaMiddle> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询地区绑定仓库列表
|
* @description: 查询地区绑定仓库列表
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:09
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: java.util.List<com.hzs.system.base.vo.BdStorehouseAreaMiddleVO>
|
||||||
**/
|
**/
|
||||||
List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 根据省查询对应的发货仓库
|
* @description: 根据省查询对应的发货仓库
|
||||||
|
* @author: sui q
|
||||||
|
* @date: 2023/5/8 14:22
|
||||||
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
List<BdStorehouse> queryBdStorehouseByProvince(@Param("province") Integer province, @Param("type") Integer type);
|
List<BdStorehouse> queryBdStorehouseByProvince(@Param("province") Integer province, @Param("type") Integer type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询省对应仓库列表
|
||||||
|
*
|
||||||
|
* @param provinceList 省列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BdStorehouse> queryStorehouseListByProvince(@Param("provinceList") Collection<Integer> provinceList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
package com.hzs.system.base.provider;
|
package com.hzs.system.base.provider;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.system.base.BdCurrency;
|
import com.hzs.common.domain.system.base.BdCurrency;
|
||||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||||
|
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
|
||||||
|
import com.hzs.common.domain.system.sys.SysCorp;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
import com.hzs.system.base.dto.CurrencyDTO;
|
||||||
|
import com.hzs.system.base.param.BdCubasdocParam;
|
||||||
|
import com.hzs.system.base.service.IBdCubasdocService;
|
||||||
import com.hzs.system.base.service.IBdCurrencyService;
|
import com.hzs.system.base.service.IBdCurrencyService;
|
||||||
import com.hzs.system.base.service.IBdStorehouseAreaMiddleService;
|
import com.hzs.system.base.service.IBdStorehouseAreaMiddleService;
|
||||||
|
import com.hzs.system.base.service.IBdStorehouseService;
|
||||||
|
import com.hzs.system.sys.service.ISysCorpService;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
|
@ -21,6 +28,12 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
||||||
private IBdCurrencyService currencyService;
|
private IBdCurrencyService currencyService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdStorehouseAreaMiddleService storehouseAreaMiddleService;
|
private IBdStorehouseAreaMiddleService storehouseAreaMiddleService;
|
||||||
|
@Autowired
|
||||||
|
private IBdCubasdocService bdCubasdocService;
|
||||||
|
@Autowired
|
||||||
|
private ISysCorpService sysCorpService;
|
||||||
|
@Autowired
|
||||||
|
private IBdStorehouseService storehouseService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<CurrencyDTO> getCurrency(Integer pkCountry) {
|
public R<CurrencyDTO> getCurrency(Integer pkCountry) {
|
||||||
|
|
@ -63,6 +76,16 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
||||||
return R.ok(storehouseAreaMiddleService.queryBdStorehouseByProvince(province, storeType));
|
return R.ok(storehouseAreaMiddleService.queryBdStorehouseByProvince(province, storeType));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<BdStorehouse> queryBdStorehouseById(Integer pkId) {
|
||||||
|
return R.ok(storehouseService.getById(pkId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<List<BdStorehouse>> queryBdStorehouseMapByProvince(Collection<Integer> provinceList) {
|
||||||
|
return R.ok(storehouseAreaMiddleService.queryStorehouseListByProvince(provinceList));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<CurrencyDTO> getByHistoryPkId(Integer currencyId) {
|
public R<CurrencyDTO> getByHistoryPkId(Integer currencyId) {
|
||||||
BdCurrency bdCurrency = currencyService.getByHistoryPkid(currencyId);
|
BdCurrency bdCurrency = currencyService.getByHistoryPkid(currencyId);
|
||||||
|
|
@ -76,4 +99,39 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
||||||
return R.ok(currencyDtoList);
|
return R.ok(currencyDtoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<BdCubasdocExt> queryBdCubasdocById(Integer pkId, Integer pkCountry) {
|
||||||
|
BdCubasdocParam cubasdocParam = BdCubasdocParam.builder()
|
||||||
|
.pkCountry(pkCountry)
|
||||||
|
.pkId(pkId)
|
||||||
|
.build();
|
||||||
|
List<BdCubasdocExt> bdCubasdocList = bdCubasdocService.querySupplierByCondition(cubasdocParam);
|
||||||
|
if (CollectionUtil.isNotEmpty(bdCubasdocList)) {
|
||||||
|
return R.ok(bdCubasdocList.get(0));
|
||||||
|
}
|
||||||
|
return R.ok(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<BdCubasdocExt> queryBdCustomerById(Integer pkId, Integer pkCountry) {
|
||||||
|
BdCubasdocParam customerParam = BdCubasdocParam.builder()
|
||||||
|
.pkCountry(pkCountry)
|
||||||
|
.pkId(pkId)
|
||||||
|
.build();
|
||||||
|
List<BdCubasdocExt> bdCubasdocList = bdCubasdocService.queryCustomerByCondition(customerParam);
|
||||||
|
if (CollectionUtil.isNotEmpty(bdCubasdocList)) {
|
||||||
|
return R.ok(bdCubasdocList.get(0));
|
||||||
|
}
|
||||||
|
return R.ok(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<SysCorp> querySysCorp(Integer pkId, Integer pkCountry) {
|
||||||
|
return R.ok(sysCorpService.getSysCorp(pkId, pkCountry));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<List<BdStorehouse>> queryStorehouseByIds(Set<Integer> storehouseIdSet, Integer pkCountry, Integer pkCorp) {
|
||||||
|
return R.ok(storehouseService.queryStorehouseByIds(storehouseIdSet, pkCountry, pkCorp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,65 @@
|
||||||
package com.hzs.system.base.service;
|
package com.hzs.system.base.service;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||||
import com.hzs.common.domain.system.base.BdStorehouseAreaMiddle;
|
import com.hzs.common.domain.system.base.BdStorehouseAreaMiddle;
|
||||||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <p>
|
||||||
* 仓库地区中间表 服务类
|
* 仓库地区中间表 服务类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-05-05
|
||||||
*/
|
*/
|
||||||
public interface IBdStorehouseAreaMiddleService extends IService<BdStorehouseAreaMiddle> {
|
public interface IBdStorehouseAreaMiddleService extends IService<BdStorehouseAreaMiddle> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询地区绑定仓库列表
|
* @description: 查询地区绑定仓库列表
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:09
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: java.util.List<com.hzs.system.base.vo.BdStorehouseAreaMiddleVO>
|
||||||
**/
|
**/
|
||||||
List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增地区仓库
|
* @description: 新增地区仓库
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:28
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: boolean
|
||||||
**/
|
**/
|
||||||
boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改地区仓库
|
* @description: 修改地区仓库
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:28
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: boolean
|
||||||
**/
|
**/
|
||||||
boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 根据省查询对应的发货仓库
|
* @description: 根据省查询对应的发货仓库
|
||||||
|
* @author: sui q
|
||||||
|
* @date: 2023/5/8 14:22
|
||||||
|
* @param: null null
|
||||||
**/
|
**/
|
||||||
BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type);
|
BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询省对应仓库列表
|
||||||
|
*
|
||||||
|
* @param provinceList 省列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<BdStorehouse> queryStorehouseListByProvince(Collection<Integer> provinceList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,34 +10,61 @@ import com.hzs.system.base.service.IBdStorehouseAreaMiddleService;
|
||||||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <p>
|
||||||
* 仓库地区中间表 服务实现类
|
* 仓库地区中间表 服务实现类
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-05-05
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class BdStorehouseAreaMiddleServiceImpl extends ServiceImpl<BdStorehouseAreaMiddleMapper, BdStorehouseAreaMiddle> implements IBdStorehouseAreaMiddleService {
|
public class BdStorehouseAreaMiddleServiceImpl extends ServiceImpl<BdStorehouseAreaMiddleMapper, BdStorehouseAreaMiddle> implements IBdStorehouseAreaMiddleService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 查询地区绑定仓库列表
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:09
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: java.util.List<com.hzs.system.base.vo.BdStorehouseAreaMiddleVO>
|
||||||
|
**/
|
||||||
@Override
|
@Override
|
||||||
public List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
public List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||||
return baseMapper.getBdStorehouseAreaMiddleList(storehouseAreaMiddleVO);
|
return baseMapper.getBdStorehouseAreaMiddleList(storehouseAreaMiddleVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 新增地区仓库
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:37
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: boolean
|
||||||
|
**/
|
||||||
@Override
|
@Override
|
||||||
public boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
public boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||||
BdStorehouseAreaMiddle sto = BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
BdStorehouseAreaMiddle sto= BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||||
for (Integer i : storehouseAreaMiddleVO.getProvinceList()) {
|
for(Integer i: storehouseAreaMiddleVO.getProvinceList()){
|
||||||
sto.setProvince(i);
|
sto.setProvince(i);
|
||||||
baseMapper.insert(sto);
|
baseMapper.insert(sto);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description: 修改地区仓库
|
||||||
|
* @author: zhang jing
|
||||||
|
* @date: 2023/5/5 20:37
|
||||||
|
* @param: [storehouseAreaMiddleVO]
|
||||||
|
* @return: boolean
|
||||||
|
**/
|
||||||
@Override
|
@Override
|
||||||
public boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
public boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||||
BdStorehouseAreaMiddle sto = BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
BdStorehouseAreaMiddle sto= BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||||
sto.setPkStorehouse(storehouseAreaMiddleVO.getPkStorehouse());
|
sto.setPkStorehouse(storehouseAreaMiddleVO.getPkStorehouse());
|
||||||
for (Integer i : storehouseAreaMiddleVO.getProvinceList()) {
|
for(Integer i: storehouseAreaMiddleVO.getProvinceList()){
|
||||||
sto.setProvince(i);
|
sto.setProvince(i);
|
||||||
baseMapper.updateById(sto);
|
baseMapper.updateById(sto);
|
||||||
}
|
}
|
||||||
|
|
@ -47,10 +74,15 @@ public class BdStorehouseAreaMiddleServiceImpl extends ServiceImpl<BdStorehouseA
|
||||||
@Override
|
@Override
|
||||||
public BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type) {
|
public BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type) {
|
||||||
List<BdStorehouse> bdStorehouseList = baseMapper.queryBdStorehouseByProvince(province, type);
|
List<BdStorehouse> bdStorehouseList = baseMapper.queryBdStorehouseByProvince(province, type);
|
||||||
if (CollectionUtil.isNotEmpty(bdStorehouseList)) {
|
if(CollectionUtil.isNotEmpty(bdStorehouseList)){
|
||||||
return bdStorehouseList.get(0);
|
return bdStorehouseList.get(0);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BdStorehouse> queryStorehouseListByProvince(Collection<Integer> provinceList) {
|
||||||
|
return baseMapper.queryStorehouseListByProvince(provinceList);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,19 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.hzs.system.base.mapper.BdStorehouseAreaMiddleMapper">
|
<mapper namespace="com.hzs.system.base.mapper.BdStorehouseAreaMiddleMapper">
|
||||||
|
|
||||||
|
<!-- 通用查询映射结果 -->
|
||||||
|
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.base.BdStorehouseAreaMiddle">
|
||||||
|
<id column="PK_ID" property="pkId"/>
|
||||||
|
<result column="CREATION_TIME" property="creationTime"/>
|
||||||
|
<result column="MODIFIED_TIME" property="modifiedTime"/>
|
||||||
|
<result column="DEL_FLAG" property="delFlag"/>
|
||||||
|
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||||
|
<result column="PK_CREATOR" property="pkCreator"/>
|
||||||
|
<result column="PK_MODIFIED" property="pkModified"/>
|
||||||
|
<result column="PK_STOREHOUSE" property="pkStorehouse"/>
|
||||||
|
<result column="PROVINCE" property="province"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="BdStorehouseAreaMiddleVO" type="com.hzs.system.base.vo.BdStorehouseAreaMiddleVO">
|
<resultMap id="BdStorehouseAreaMiddleVO" type="com.hzs.system.base.vo.BdStorehouseAreaMiddleVO">
|
||||||
<id column="PK_ID" property="pkId"/>
|
<id column="PK_ID" property="pkId"/>
|
||||||
<result column="CREATION_TIME" property="creationTime"/>
|
<result column="CREATION_TIME" property="creationTime"/>
|
||||||
|
|
@ -13,6 +26,7 @@
|
||||||
<result column="provinceVal" property="provinceVal"/>
|
<result column="provinceVal" property="provinceVal"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
<!--查询地区绑定仓库列表-->
|
<!--查询地区绑定仓库列表-->
|
||||||
<select id="getBdStorehouseAreaMiddleList" parameterType="com.hzs.system.base.vo.BdStorehouseAreaMiddleVO"
|
<select id="getBdStorehouseAreaMiddleList" parameterType="com.hzs.system.base.vo.BdStorehouseAreaMiddleVO"
|
||||||
resultMap="BdStorehouseAreaMiddleVO">
|
resultMap="BdStorehouseAreaMiddleVO">
|
||||||
|
|
@ -37,19 +51,33 @@
|
||||||
AND bse.NAME like '%' || #{name} || '%'
|
AND bse.NAME like '%' || #{name} || '%'
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryBdStorehouseByProvince" resultType="com.hzs.common.domain.system.base.BdStorehouse">
|
<select id="queryBdStorehouseByProvince" resultType="com.hzs.common.domain.system.base.BdStorehouse">
|
||||||
select bs.pk_id, bs.name, bs.code,bs.pk_corp
|
select bs.pk_id, bs.name, bs.code,bs.pk_corp
|
||||||
|
from bd_storehouse bs
|
||||||
|
inner join bd_storehouse_area_middle bm
|
||||||
|
on bs.pk_id = bm.pk_storehouse
|
||||||
|
where bs.del_flag = 0
|
||||||
|
and bm.del_flag = 0
|
||||||
|
and bs.enable_state = 0
|
||||||
|
and bm.province = #{province}
|
||||||
|
<if test="type != null">
|
||||||
|
and bs.store_type = #{type}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 批量查询省对应仓库列表 -->
|
||||||
|
<select id="queryStorehouseListByProvince" resultType="com.hzs.common.domain.system.base.BdStorehouse">
|
||||||
|
select bs.pk_id, bs.name, bs.code, bm.province
|
||||||
from bd_storehouse bs
|
from bd_storehouse bs
|
||||||
inner join bd_storehouse_area_middle bm
|
inner join bd_storehouse_area_middle bm
|
||||||
on bs.pk_id = bm.pk_storehouse
|
on bs.pk_id = bm.pk_storehouse
|
||||||
where bs.del_flag = 0
|
where bs.del_flag = 0
|
||||||
and bm.del_flag = 0
|
and bm.del_flag = 0
|
||||||
and bs.enable_state = 0
|
and bs.enable_state = 0
|
||||||
and bm.province = #{province}
|
and bm.province in
|
||||||
<if test="type != null">
|
<foreach collection="provinceList" item="item" open="(" close=")" separator=",">
|
||||||
and bs.store_type = #{type}
|
#{item}
|
||||||
</if>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -223,10 +223,6 @@ public class MemberMsgConstants {
|
||||||
* 空单注册,导入的会员编号中存在重复 -- 会员编号存在重复
|
* 空单注册,导入的会员编号中存在重复 -- 会员编号存在重复
|
||||||
*/
|
*/
|
||||||
public static final String EMPTY_MEMBER_REPEAT = "会员编号存在重复";
|
public static final String EMPTY_MEMBER_REPEAT = "会员编号存在重复";
|
||||||
/**
|
|
||||||
* 空单注册,导入的会员联系方式中存在重复 -- 联系方式存在重复
|
|
||||||
*/
|
|
||||||
public static final String EMPTY_PHONE_NOT = "联系方式存在重复";
|
|
||||||
/**
|
/**
|
||||||
* 空单注册,导入的会员编号中存在重复 -- 推荐编号不存在
|
* 空单注册,导入的会员编号中存在重复 -- 推荐编号不存在
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@ import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次
|
* 空单批次
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@ import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细产品
|
* 空单批次明细产品
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-08-28
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,14 @@ import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空单批次明细扩展类
|
* @Description: 空单批次明细扩展类
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/7/6 15:33
|
||||||
|
* @Classname: CuMemberEmptyDetailExt
|
||||||
|
* @PackageName: com.hzs.common.domain.member.empty.ext
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
|
@ -49,9 +55,27 @@ public class CuMemberEmptyDetailExt extends CuMemberEmptyDetail {
|
||||||
*/
|
*/
|
||||||
private String awardsVal;
|
private String awardsVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 省名称
|
||||||
|
*/
|
||||||
|
private String recProvinceVal;
|
||||||
|
/**
|
||||||
|
* 市名称
|
||||||
|
*/
|
||||||
|
private String recCityVal;
|
||||||
|
/**
|
||||||
|
* 县名称
|
||||||
|
*/
|
||||||
|
private String recCountyVal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成备注
|
* 生成备注
|
||||||
*/
|
*/
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 空单明细产品列表
|
||||||
|
*/
|
||||||
|
private List<CuMemberEmptyProductDTO> productDTOList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.hzs.common.domain.member.empty.ext;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 空单批次明细产品展示
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/8/30 10:44
|
||||||
|
* @Classname: CuMemberEmptyProductOther
|
||||||
|
* @PackageName: com.hzs.common.domain.member.empty.ext
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CuMemberEmptyProductDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品ID
|
||||||
|
*/
|
||||||
|
private Integer pkProduct;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品编号
|
||||||
|
*/
|
||||||
|
private String productCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名称
|
||||||
|
*/
|
||||||
|
private String productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品规格名称
|
||||||
|
*/
|
||||||
|
private String specsName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品规格ID
|
||||||
|
*/
|
||||||
|
private String specsNameId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品数量
|
||||||
|
*/
|
||||||
|
private Integer quantity;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.hzs.common.domain.member.empty.ext;
|
||||||
|
|
||||||
|
import com.hzs.common.domain.member.empty.CuMemberEmptyProduct;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 空单明细产品扩展
|
||||||
|
* @Author: jiang chao
|
||||||
|
* @Time: 2023/8/30 11:51
|
||||||
|
* @Classname: CuMemberEmptyProductExtt
|
||||||
|
* @PackageName: com.hzs.common.domain.member.empty.ext
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class CuMemberEmptyProductExt extends CuMemberEmptyProduct {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 2283368663097538169L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品名称
|
||||||
|
*/
|
||||||
|
private String productName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品编码
|
||||||
|
*/
|
||||||
|
private String productCode;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,12 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <p>
|
||||||
* 仓库地区中间表
|
* 仓库地区中间表
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author hzs
|
||||||
|
* @since 2023-05-05
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue