forked from angelo/java-retail-app
## 空单注册添加去掉产品信息;空单注册添加手机号唯一校验;
This commit is contained in:
parent
9cb2b44fac
commit
87a9d48bce
|
@ -2,9 +2,7 @@ package com.hzs.sale.order;
|
|||
|
||||
import com.hzs.common.core.domain.R;
|
||||
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.SaOrderItemsExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.common.domain.sale.order.SaOrderItems;
|
||||
import com.hzs.sale.order.dto.*;
|
||||
|
@ -75,15 +73,6 @@ public interface ISaOrderServiceApi {
|
|||
**/
|
||||
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,11 +2,8 @@ package com.hzs.system.base;
|
|||
|
||||
import com.hzs.common.core.domain.R;
|
||||
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 java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -45,19 +42,6 @@ public interface ICurrencyServiceApi {
|
|||
*/
|
||||
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
|
||||
|
||||
/**
|
||||
* 根据省查询对应的发货仓库
|
||||
*/
|
||||
R<BdStorehouse> queryBdStorehouseById(Integer pkId);
|
||||
|
||||
/**
|
||||
* 根据省查询对应的发货仓库
|
||||
*
|
||||
* @param provinceList 省列表
|
||||
* @return
|
||||
*/
|
||||
R<List<BdStorehouse>> queryBdStorehouseMapByProvince(Collection<Integer> provinceList);
|
||||
|
||||
/**
|
||||
* 根据id 查询所属历史币种
|
||||
*
|
||||
|
@ -70,23 +54,4 @@ public interface ICurrencyServiceApi {
|
|||
*/
|
||||
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,6 +283,19 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
|||
@Param("checkEmpty") Boolean checkEmpty,
|
||||
@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);
|
||||
|
||||
/**
|
||||
* 查询全部用户
|
||||
*
|
||||
|
|
|
@ -488,6 +488,16 @@ public interface ICuMemberService extends IService<CuMember> {
|
|||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
* 查询全部用户
|
||||
*
|
||||
|
|
|
@ -30,7 +30,6 @@ import com.hzs.common.domain.member.ext.CuMemberExt;
|
|||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
|
||||
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.security.service.UserTokenService;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
|
@ -77,7 +76,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
@ -2506,6 +2504,19 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
|||
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
|
||||
public List<CuMemberExt> findAll() {
|
||||
return baseMapper.findAll();
|
||||
|
|
|
@ -12,11 +12,7 @@ import java.util.ArrayList;
|
|||
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")
|
||||
@RestController
|
||||
|
|
|
@ -24,13 +24,11 @@ import com.hzs.common.core.web.page.TableDataInfo;
|
|||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||
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.CuMemberEmptyProductDTO;
|
||||
import com.hzs.common.security.service.UserTokenService;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.common.service.ITransactionCommonService;
|
||||
import com.hzs.common.util.TransactionUtils;
|
||||
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.MemberEmptySignParam;
|
||||
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
||||
|
@ -220,21 +218,6 @@ public class CuMemberEmptyController extends BaseController {
|
|||
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())) {
|
||||
|
@ -443,10 +426,6 @@ public class CuMemberEmptyController extends BaseController {
|
|||
detailDTO.setPkCountryVal(emptyDetail.getCountryName());
|
||||
detailDTO.setPkSettleCountryVal(emptyDetail.getSettleCountryName());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||
// 处理产品信息
|
||||
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||
}
|
||||
dataList.add(detailDTO);
|
||||
}
|
||||
}
|
||||
|
@ -496,25 +475,8 @@ public class CuMemberEmptyController extends BaseController {
|
|||
detailDTO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + emptyDetail.getOrderType()));
|
||||
detailDTO.setPointStatusVal(cacheMap.get(EnumsPrefixConstants.POINT_STATUS + emptyDetail.getPointStatus()));
|
||||
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()));
|
||||
|
||||
// 处理产品显示数据
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -548,11 +510,6 @@ public class CuMemberEmptyController extends BaseController {
|
|||
|
||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||
|
||||
// 处理产品信息
|
||||
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||
}
|
||||
paramList.add(detailDTO);
|
||||
}
|
||||
|
||||
|
@ -600,11 +557,6 @@ public class CuMemberEmptyController extends BaseController {
|
|||
|
||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||
|
||||
// 处理产品信息
|
||||
if (CollectionUtil.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||
}
|
||||
paramList.add(detailDTO);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,13 +11,10 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
|
|||
import com.hzs.common.core.web.controller.BaseController;
|
||||
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.CuMemberEmptyProductExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.common.service.ITransactionCommonService;
|
||||
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.vo.MemberEmptyRegisterQueryProductVO;
|
||||
import com.hzs.member.empty.vo.MemberEmptyRegisterQueryVO;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
@ -27,14 +24,9 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
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")
|
||||
@RestController
|
||||
|
@ -43,8 +35,6 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
|||
@Autowired
|
||||
private ICuMemberEmptyService iCuMemberEmptyService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||
@Autowired
|
||||
private ITransactionCommonService iTransactionCommonService;
|
||||
|
||||
/**
|
||||
|
@ -66,19 +56,8 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
|||
startPage();
|
||||
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
|
||||
// 查询空单批次产品信息
|
||||
Map<Long, List<CuMemberEmptyProductExt>> productMap = iCuMemberEmptyProductService.queryProductList(list.stream().map(CuMemberEmptyDetailExt::getPkId).collect(Collectors.toList()));
|
||||
|
||||
for (CuMemberEmptyDetailExt emptyDetailExt : list) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -105,10 +84,6 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
|||
|
||||
List<CuMemberEmptyDetailExt> list = iCuMemberEmptyService.emptyRegisterList(param, pkCountry);
|
||||
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<Integer, String> dbMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE, EnumsPrefixConstants.KEY_AWARD);
|
||||
|
@ -123,24 +98,6 @@ public class CuMemberEmptyRegisterController extends BaseController {
|
|||
queryVO.setOrderSourceVal(cacheMap.get(EnumsPrefixConstants.ORDER_SOURCE + queryVO.getOrderSource()));
|
||||
queryVO.setOrderTypeVal(cacheMap.get(EnumsPrefixConstants.ORDER_TYPE + queryVO.getOrderType()));
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
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;
|
||||
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
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,7 +6,6 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
|||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 空单注册明细DTO
|
||||
|
@ -173,71 +172,6 @@ public class MemberEmptyDetailDTO {
|
|||
@Excel(name = "上传业绩")
|
||||
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=否)
|
||||
*/
|
||||
|
@ -271,9 +205,4 @@ public class MemberEmptyDetailDTO {
|
|||
@Excel(name = "生成备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 产品列表
|
||||
*/
|
||||
private List<MemberEmptyProductDTO> productList;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
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,9 +11,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 空单批次 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-16
|
||||
*/
|
||||
public interface CuMemberEmptyMapper extends BaseMapper<CuMemberEmpty> {
|
||||
|
||||
|
@ -45,5 +42,4 @@ public interface CuMemberEmptyMapper extends BaseMapper<CuMemberEmpty> {
|
|||
*/
|
||||
String queryLastCode();
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,46 +2,10 @@ package com.hzs.member.empty.mapper;
|
|||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
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 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-08-28
|
||||
*/
|
||||
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,9 +10,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 空单批次明细 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-16
|
||||
*/
|
||||
public interface ICuMemberEmptyDetailService extends IService<CuMemberEmptyDetail> {
|
||||
|
||||
|
|
|
@ -2,44 +2,11 @@ package com.hzs.member.empty.service;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
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> {
|
||||
|
||||
/**
|
||||
* 批量删除会员空单产品
|
||||
*
|
||||
* @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,11 +9,7 @@ import com.hzs.system.sys.dto.LoginUser;
|
|||
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 {
|
||||
|
||||
|
|
|
@ -7,14 +7,12 @@ import com.hzs.common.core.enums.EDelFlag;
|
|||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||
import com.hzs.common.domain.member.empty.CuMemberEmptyCode;
|
||||
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.member.empty.dto.MemberEmptyDetailDTO;
|
||||
import com.hzs.member.empty.mapper.CuMemberEmptyDetailMapper;
|
||||
import com.hzs.member.empty.param.MemberEmptyAddParam;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyCodeService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -25,9 +23,6 @@ import java.util.stream.Collectors;
|
|||
|
||||
/**
|
||||
* 空单批次明细 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-16
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDetailMapper, CuMemberEmptyDetail> implements ICuMemberEmptyDetailService {
|
||||
|
@ -36,8 +31,6 @@ public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDet
|
|||
private ICuMemberEmptyService iCuMemberEmptyService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
|
@ -92,15 +85,6 @@ public class CuMemberEmptyDetailServiceImpl extends ServiceImpl<CuMemberEmptyDet
|
|||
codeUpdateWrapper.set(CuMemberEmptyCode::getModifiedTime, nowDate);
|
||||
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<>();
|
||||
detailUpdateWrapper.in(CuMemberEmptyDetail::getPkId, detailIdList);
|
||||
|
|
|
@ -1,48 +1,16 @@
|
|||
package com.hzs.member.empty.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
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.service.ICuMemberEmptyProductService;
|
||||
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
|
||||
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,13 +6,11 @@ import com.hzs.common.core.enums.EDelFlag;
|
|||
import com.hzs.common.core.enums.EOrderPrefix;
|
||||
import com.hzs.common.domain.member.empty.CuMemberEmpty;
|
||||
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.member.empty.mapper.CuMemberEmptyMapper;
|
||||
import com.hzs.member.empty.param.MemberEmptyQueryParam;
|
||||
import com.hzs.member.empty.param.MemberEmptyRegisterQueryParam;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyDetailService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyProductService;
|
||||
import com.hzs.member.empty.service.ICuMemberEmptyService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -23,17 +21,12 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 空单批次 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-16
|
||||
*/
|
||||
@Service
|
||||
public class CuMemberEmptyServiceImpl extends ServiceImpl<CuMemberEmptyMapper, CuMemberEmpty> implements ICuMemberEmptyService {
|
||||
|
||||
@Autowired
|
||||
private ICuMemberEmptyDetailService iCuMemberEmptyDetailService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||
|
||||
@Override
|
||||
public List<CuMemberEmpty> queryList(MemberEmptyQueryParam param, Integer pkCountry, Integer systemType) {
|
||||
|
@ -62,14 +55,6 @@ public class CuMemberEmptyServiceImpl extends ServiceImpl<CuMemberEmptyMapper, C
|
|||
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getPkModified, userId);
|
||||
emptyDetailUpdateWrapper.set(CuMemberEmptyDetail::getModifiedTime, nowDate);
|
||||
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
|
||||
|
|
|
@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.SysConstants;
|
||||
import com.hzs.common.core.constant.msg.CommonMsgConstants;
|
||||
|
@ -14,7 +13,6 @@ import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
|||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
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.DateUtils;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
@ -26,11 +24,6 @@ import com.hzs.common.domain.member.detail.CuMemberGrade;
|
|||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||
import com.hzs.common.domain.member.empty.*;
|
||||
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.security.utils.SecurityUtils;
|
||||
import com.hzs.common.util.TransactionUtils;
|
||||
|
@ -41,10 +34,8 @@ import com.hzs.member.base.service.ICuMemberRegisterService;
|
|||
import com.hzs.member.base.service.ICuMemberService;
|
||||
import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||
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.service.*;
|
||||
import com.hzs.sale.order.ISaOrderServiceApi;
|
||||
import com.hzs.system.base.ICurrencyServiceApi;
|
||||
import com.hzs.system.base.dto.CurrencyDTO;
|
||||
import com.hzs.system.config.IAccountServiceApi;
|
||||
|
@ -78,8 +69,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
@Autowired
|
||||
private ICuMemberEmptyCodeService iCuMemberEmptyCodeService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyProductService iCuMemberEmptyProductService;
|
||||
@Autowired
|
||||
private ICuMemberEmptyLogService iCuMemberEmptyLogService;
|
||||
@Autowired
|
||||
private ICuMemberService iCuMemberService;
|
||||
|
@ -101,13 +90,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
@DubboReference
|
||||
IAccountServiceApi iAccountServiceApi;
|
||||
@DubboReference
|
||||
ISaOrderServiceApi iSaOrderServiceApi;
|
||||
@DubboReference
|
||||
IApprovalServiceApi iApprovalServiceApi;
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Override
|
||||
public void importTemplate(List<MemberEmptyDetailDTO> resultList) {
|
||||
// 会员编号列表(导入会员编号去重)
|
||||
|
@ -187,8 +171,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
CuMemberEmpty memberEmpty = new CuMemberEmpty();
|
||||
// 空单明细数据
|
||||
List<CuMemberEmptyDetail> detailList = new ArrayList<>();
|
||||
// 空单明细产品数据
|
||||
List<CuMemberEmptyProduct> productList = new ArrayList<>();
|
||||
|
||||
// 空单数据
|
||||
MemberEmptyDetailDTO tmpDetail = resultList.get(0);
|
||||
|
@ -200,34 +182,12 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
// 空单明细数据
|
||||
for (MemberEmptyDetailDTO detailDTO : resultList) {
|
||||
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);
|
||||
// 更新空单批次明细
|
||||
iCuMemberEmptyDetailService.updateBatch(detailList, userId);
|
||||
// 删除部分空单产品数据
|
||||
iCuMemberEmptyProductService.deleteBatch(productList, userId, tmpDetail.getPkMemberEmpty());
|
||||
if (CollectionUtil.isNotEmpty(productList)) {
|
||||
// 插入或更新空间批次产品
|
||||
iCuMemberEmptyProductService.insertOrUpdateBatch(productList, userId);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -264,8 +224,8 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
|
||||
// 查询会员编号是否存在
|
||||
Map<String, Integer> checkCodeMap = iCuMemberService.checkMemberCodeExist(checkMemberList, true, pkMemberEmpty);
|
||||
// // 查询联系方式是否存在
|
||||
// Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty, systemType);
|
||||
// 查询联系方式是否存在
|
||||
Map<String, Integer> checkPhoneMap = iCuMemberService.checkMemberPhoneExist(checkPhoneList, true, pkMemberEmpty);
|
||||
|
||||
// 查询推荐编号是否存在(在本次推荐数据中的直接排除掉)
|
||||
final Map<String, Integer> checkParentCodeMap = new HashMap<>();
|
||||
|
@ -284,6 +244,15 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
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) {
|
||||
// 推荐编号不在本次导入的会员中,也不在数据库中,异常状态
|
||||
|
@ -313,8 +282,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
Map<String, Long> memberAccountSeqMap = new HashMap<>();
|
||||
// 需要查询汇率数据
|
||||
Set<Integer> queryRateSet = new HashSet<>();
|
||||
// 需要查询仓库数据
|
||||
Set<Integer> queryStoreHouseSet = new HashSet<>();
|
||||
// 需要查询奖金账户数据
|
||||
Set<Integer> queryAccountSet = new HashSet<>();
|
||||
|
||||
|
@ -323,8 +290,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
// 生成需要入库的会员账户ID列表
|
||||
List<Long> memberAccountSeqList = iCuMemberAccountService.querySeqList(detailList.size());
|
||||
|
||||
// 订单需要生成seq的数量
|
||||
int orderSeqCount = 0;
|
||||
// 遍历空单明细数据,提取准备的数据
|
||||
for (int i = 0; i < detailList.size(); i++) {
|
||||
CuMemberEmptyDetailExt emptyDetail = detailList.get(i);
|
||||
|
@ -339,14 +304,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
// 需要查库的汇率数据
|
||||
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) {
|
||||
// 回调金额大于0,记录查询账户国家
|
||||
queryAccountSet.add(emptyDetail.getPkSettleCountry());
|
||||
|
@ -378,18 +335,6 @@ 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)
|
||||
Map<Integer, Integer> accountMap = new HashMap<>();
|
||||
if (CollectionUtil.isNotEmpty(queryAccountSet)) {
|
||||
|
@ -402,14 +347,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
}
|
||||
}
|
||||
|
||||
// 生成订单seq数据
|
||||
List<Long> orderSeqList = new ArrayList<>(orderSeqCount);
|
||||
if (0 != orderSeqCount) {
|
||||
orderSeqList = iSaOrderServiceApi.querySeqList(orderSeqCount).getData();
|
||||
}
|
||||
// 订单seq数据下标
|
||||
int orderSeqInt = 0;
|
||||
|
||||
////////// 封装入口相关数据开始 //////////
|
||||
|
||||
// 当前时间
|
||||
|
@ -422,10 +359,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
List<CuMemberRegister> registerMemberList = new ArrayList<>(detailList.size());
|
||||
// 入库会员账户流水列表
|
||||
List<CuMemberTrade> saveMemberTradeList = new ArrayList<>();
|
||||
// 入库订单列表
|
||||
List<SaOrder> saveOrderList = new ArrayList<>();
|
||||
// 入库订单明细列表
|
||||
List<SaOrderItems> saveOrderItemList = new ArrayList<>();
|
||||
|
||||
// 查询批次下推荐架构顶点
|
||||
List<CuMemberEmptyDetailExt> placeTopList = iCuMemberEmptyDetailService.queryPlaceParentTopAndProduct(pkMemberEmpty);
|
||||
|
@ -444,15 +377,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
||||
memberSeqMap, memberMap, memberAccountSeqMap, treeDetail,
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -467,15 +391,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
CuMember cuMember = this.createMember(saveMemberList, saveMemberAccountList, registerMemberList, saveMemberTradeList,
|
||||
memberSeqMap, memberMap, memberAccountSeqMap, topDetail,
|
||||
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) {
|
||||
log.error("空单注册处理异常", e);
|
||||
|
@ -529,14 +444,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
memberEmptyUpdateWrapper.set(CuMemberEmpty::getModifiedTime, nowDate);
|
||||
iCuMemberEmptyService.update(memberEmptyUpdateWrapper);
|
||||
|
||||
// 购买产品,订单以及订单明细入库
|
||||
if (CollectionUtil.isNotEmpty(saveOrderList)) {
|
||||
R<?> orderResult = iSaOrderServiceApi.saveOrderBatch(saveOrderList, saveOrderItemList);
|
||||
if (!orderResult.isSuccess()) {
|
||||
throw new ServiceException("空单注册生成订单异常");
|
||||
}
|
||||
}
|
||||
|
||||
if (pushLogFlag) {
|
||||
// 推送业务操作日志
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singletonList(logDTO));
|
||||
|
@ -710,108 +617,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
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)
|
||||
@Override
|
||||
public String submit(MemberEmptySignParam param, List<CuMemberEmptyDetailExt> detailList, LoginUser loginUser) {
|
||||
|
@ -901,11 +706,6 @@ public class MemberEmptyServiceImpl implements IMemberEmptyService {
|
|||
|
||||
for (CuMemberEmptyDetailExt emptyDetail : detailList) {
|
||||
MemberEmptyDetailDTO detailDTO = BeanUtil.copyProperties(emptyDetail, MemberEmptyDetailDTO.class);
|
||||
|
||||
if (StringUtils.isNotEmpty(emptyDetail.getProductDTOList())) {
|
||||
// 处理产品信息
|
||||
detailDTO.setProductList(BeanUtil.copyToList(emptyDetail.getProductDTOList(), MemberEmptyProductDTO.class));
|
||||
}
|
||||
paramList.add(detailDTO);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
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,14 +6,9 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
|||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 空单注册列表查询VO
|
||||
* @Author: jiang chao
|
||||
* @Time: 2023/7/6 16:02
|
||||
* @Classname: MemberEmptyRegisterQueryVO
|
||||
* @PackageName: com.hzs.member.empty.vo
|
||||
* 空单注册列表查询VO
|
||||
*/
|
||||
@Data
|
||||
public class MemberEmptyRegisterQueryVO {
|
||||
|
@ -42,14 +37,6 @@ public class MemberEmptyRegisterQueryVO {
|
|||
@Excel(name = "联系方式")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 隶属体系
|
||||
*/
|
||||
|
||||
/**
|
||||
* 隶属团队
|
||||
*/
|
||||
|
||||
/**
|
||||
* 推荐编号
|
||||
*/
|
||||
|
@ -163,73 +150,4 @@ public class MemberEmptyRegisterQueryVO {
|
|||
@Excel(name = "上传业绩")
|
||||
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;
|
||||
|
||||
}
|
||||
|
|
|
@ -1534,6 +1534,47 @@
|
|||
group by tmp.member_code
|
||||
</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 *
|
||||
from cu_member
|
||||
|
|
|
@ -46,18 +46,7 @@
|
|||
<result column="settle_country_name" property="settleCountryName"/>
|
||||
<result column="pk_grade_key" property="pkGradeKey"/>
|
||||
<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"/>
|
||||
<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>
|
||||
|
||||
<!-- 查询指定数量SEQ -->
|
||||
|
|
|
@ -2,117 +2,4 @@
|
|||
<!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">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<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>
|
||||
|
|
|
@ -20,9 +20,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 销售订单-明细表 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
||||
|
||||
|
@ -119,33 +116,15 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
* 更新订单明细表,将订单明细更改为删除
|
||||
*
|
||||
* @param saOrder 订单
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2022/10/24 20:48
|
||||
*/
|
||||
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,
|
||||
@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查询订单明细列表(前台使用,尽量只查能用到的)
|
||||
*
|
||||
|
@ -155,11 +134,7 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
List<SaOrderItemsExt> queryListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
||||
|
||||
/**
|
||||
* @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>
|
||||
* 根据订单ID查询订单商品明细列表
|
||||
**/
|
||||
List<WaresOrderVo> waresListByOrderId(@Param("orderIdList") List<Long> orderIdList);
|
||||
|
||||
|
@ -171,7 +146,6 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
*/
|
||||
List<WaresOrderVo> queryWaresListByOrderId(@Param("orderId") Long orderId);
|
||||
|
||||
|
||||
/**
|
||||
* 根据订单明细ID查询订单明细列表
|
||||
*
|
||||
|
@ -206,11 +180,7 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
List<SaOrderItemsExt> selectByList(@Param("pkOrder") Long pkOrder);
|
||||
|
||||
/**
|
||||
* @description: 根据订单ID查询商品
|
||||
* @author: zhang jing
|
||||
* @date: 2023/4/21 18:02
|
||||
* @param: [canApplyOrderVO]
|
||||
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
|
||||
* 根据订单ID查询商品
|
||||
**/
|
||||
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
||||
|
||||
|
@ -222,14 +192,6 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
*/
|
||||
List<SaOrderItems> queryDeliverByOrder(@Param("pkOrder") Long pkOrder);
|
||||
|
||||
/**
|
||||
* 批量插入订单明细数据
|
||||
*
|
||||
* @param orderItemsList 订单明细数据
|
||||
* @return
|
||||
*/
|
||||
int insertBach(@Param("orderItemsList") List<SaOrderItems> orderItemsList);
|
||||
|
||||
/**
|
||||
* 校验订单商品是否下架
|
||||
*
|
||||
|
@ -260,22 +222,6 @@ public interface SaOrderItemsMapper extends BaseMapper<SaOrderItems> {
|
|||
*/
|
||||
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,18 +83,6 @@ public class SaOrderServiceProvider implements ISaOrderServiceApi {
|
|||
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
|
||||
public List<MemberFirstOrderDTO> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
||||
List<MemberFirstOrderVo> memberFirstOrderVos = iSaOrderService.checkMemberIsFirstOrder(memberCodeList);
|
||||
|
|
|
@ -20,9 +20,6 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 销售订单-明细表 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2022-08-31
|
||||
*/
|
||||
public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
||||
|
||||
|
@ -76,32 +73,14 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
* 更新订单明细表,将订单明细更改为删除
|
||||
*
|
||||
* @param saOrder
|
||||
* @return: Boolean
|
||||
* @Author: sui q
|
||||
* @Date: 2022/10/24 20:48
|
||||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
* 根据主键列表更新订单明细,删除部分退的订单
|
||||
*
|
||||
* @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查询订单明细列表
|
||||
*
|
||||
|
@ -111,11 +90,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList);
|
||||
|
||||
/**
|
||||
* @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>
|
||||
* 根据订单id查询订单商品列表
|
||||
**/
|
||||
List<WaresOrderVo> waresListByOrderId(List<Long> orderIdList);
|
||||
|
||||
|
@ -157,11 +132,7 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
List<SaOrderItemsExt> selectByList(Long pkOrder);
|
||||
|
||||
/**
|
||||
* @description: 根据订单ID查询商品
|
||||
* @author: zhang jing
|
||||
* @date: 2023/4/21 18:02
|
||||
* @param: [canApplyOrderVO]
|
||||
* @return: java.util.List<com.hzs.sale.order.vo.CanApplyOrderVO>
|
||||
* 根据订单ID查询商品
|
||||
**/
|
||||
List<OrderItemsParam> getOrderItemsParams(@Param("orderIdList") List<Long> orderIdList);
|
||||
|
||||
|
@ -173,14 +144,6 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
*/
|
||||
List<SaOrderItems> queryDeliverByOrder(Long pkOrder);
|
||||
|
||||
/**
|
||||
* 批量插入订单明细数据
|
||||
*
|
||||
* @param orderItemsList 订单明细数据
|
||||
* @return
|
||||
*/
|
||||
int insertBach(List<SaOrderItems> orderItemsList);
|
||||
|
||||
/**
|
||||
* 校验订单商品是否下架
|
||||
*
|
||||
|
@ -228,18 +191,6 @@ public interface ISaOrderItemsService extends IService<SaOrderItems> {
|
|||
*/
|
||||
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,14 +537,6 @@ public interface ISaOrderService extends IService<SaOrder> {
|
|||
*/
|
||||
List<Long> querySeqList(Integer param);
|
||||
|
||||
/**
|
||||
* 批量插入订单数据
|
||||
*
|
||||
* @param orderList 订单列表
|
||||
* @return
|
||||
*/
|
||||
int insertBach(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
|
||||
|
||||
/**
|
||||
* 根据编号查询会员首单
|
||||
*
|
||||
|
|
|
@ -64,11 +64,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
|||
baseMapper.updateOrderItemsByMemberList(memberList, pkApprove, currentDateTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateOrderItemsById(List<Long> pkOrderItemsId, Long pkApprove, Date currentDate) {
|
||||
return baseMapper.updateOrderItemsById(pkOrderItemsId, pkApprove, currentDate) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaOrderItemsExt> queryListByOrderId(List<Long> orderIdList) {
|
||||
return baseMapper.queryListByOrderId(orderIdList);
|
||||
|
@ -94,32 +89,16 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
|||
return baseMapper.selectByInvestmentList(waresOrderParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时关闭订单
|
||||
*/
|
||||
@Override
|
||||
public void closeOrder(Integer pkCountry, String data, Integer orderType) {
|
||||
baseMapper.closeOrder(pkCountry, data, orderType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单主键查询信息
|
||||
*
|
||||
* @param pkOrder
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<SaOrderItemsExt> selectByList(Long 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
|
||||
public List<OrderItemsParam> getOrderItemsParams(List<Long> orderIdList) {
|
||||
return baseMapper.getOrderItemsParams(orderIdList);
|
||||
|
@ -130,11 +109,6 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
|||
return baseMapper.queryDeliverByOrder(pkOrder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertBach(List<SaOrderItems> orderItemsList) {
|
||||
return baseMapper.insertBach(orderItemsList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int checkOrderItemsPutOn(String orderCode) {
|
||||
return baseMapper.checkOrderItemsPutOn(orderCode);
|
||||
|
@ -175,22 +149,11 @@ public class SaOrderItemsServiceImpl extends ServiceImpl<SaOrderItemsMapper, SaO
|
|||
return baseMapper.copyDeductionItems(pkOrderOld, pkOrderNew, userId, nowDate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单编号查询订单项
|
||||
*
|
||||
* @param orderCode
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<OrderItemsParam> selectByWaresCodeList(String 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
|
||||
public BigDecimal getRetailWaresQuantityNew(Long pkMember, List<String> waresCodeList, Date payTime, List<Integer> orderTypeList, Integer systemType) {
|
||||
return baseMapper.getRetailWaresQuantityNew(pkMember, waresCodeList, payTime, orderTypeList, systemType);
|
||||
|
|
|
@ -1715,16 +1715,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
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
|
||||
public List<MemberFirstOrderVo> checkMemberIsFirstOrder(List<String> memberCodeList) {
|
||||
return baseMapper.checkMemberIsFirstOrder(memberCodeList);
|
||||
|
|
|
@ -660,16 +660,6 @@
|
|||
and pk_order = #{pkId}
|
||||
and del_flag = 0
|
||||
</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查询订单明细列表(前台使用,尽量只查能用到的) -->
|
||||
<select id="queryListByOrderId" resultType="com.hzs.common.domain.sale.ext.SaOrderItemsExt">
|
||||
|
@ -1021,26 +1011,6 @@
|
|||
and soi.pk_order = #{pkOrder}
|
||||
</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 count(1)
|
||||
|
@ -1130,35 +1100,6 @@
|
|||
and so.ORDER_CODE = #{orderCode}
|
||||
</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 sum(so.box_num) wares_quantity
|
||||
|
|
|
@ -6,42 +6,21 @@ import com.hzs.common.domain.system.base.BdStorehouseAreaMiddle;
|
|||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓库地区中间表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-05
|
||||
*/
|
||||
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);
|
||||
|
||||
/*
|
||||
* @description: 根据省查询对应的发货仓库
|
||||
* @author: sui q
|
||||
* @date: 2023/5/8 14:22
|
||||
* @param: null null
|
||||
* 根据省查询对应的发货仓库
|
||||
**/
|
||||
List<BdStorehouse> queryBdStorehouseByProvince(@Param("province") Integer province, @Param("type") Integer type);
|
||||
|
||||
/**
|
||||
* 批量查询省对应仓库列表
|
||||
*
|
||||
* @param provinceList 省列表
|
||||
* @return
|
||||
*/
|
||||
List<BdStorehouse> queryStorehouseListByProvince(@Param("provinceList") Collection<Integer> provinceList);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,20 +1,13 @@
|
|||
package com.hzs.system.base.provider;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.system.base.BdCurrency;
|
||||
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.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.IBdStorehouseAreaMiddleService;
|
||||
import com.hzs.system.base.service.IBdStorehouseService;
|
||||
import com.hzs.system.sys.service.ISysCorpService;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
|
@ -28,12 +21,6 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
|||
private IBdCurrencyService currencyService;
|
||||
@Autowired
|
||||
private IBdStorehouseAreaMiddleService storehouseAreaMiddleService;
|
||||
@Autowired
|
||||
private IBdCubasdocService bdCubasdocService;
|
||||
@Autowired
|
||||
private ISysCorpService sysCorpService;
|
||||
@Autowired
|
||||
private IBdStorehouseService storehouseService;
|
||||
|
||||
@Override
|
||||
public R<CurrencyDTO> getCurrency(Integer pkCountry) {
|
||||
|
@ -76,16 +63,6 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
|||
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
|
||||
public R<CurrencyDTO> getByHistoryPkId(Integer currencyId) {
|
||||
BdCurrency bdCurrency = currencyService.getByHistoryPkid(currencyId);
|
||||
|
@ -99,39 +76,4 @@ public class CurrencyServiceProvider implements ICurrencyServiceApi {
|
|||
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,65 +1,35 @@
|
|||
package com.hzs.system.base.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.system.base.BdStorehouse;
|
||||
import com.hzs.common.domain.system.base.BdStorehouseAreaMiddle;
|
||||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓库地区中间表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-05
|
||||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
* @description: 新增地区仓库
|
||||
* @author: zhang jing
|
||||
* @date: 2023/5/5 20:28
|
||||
* @param: [storehouseAreaMiddleVO]
|
||||
* @return: boolean
|
||||
* 新增地区仓库
|
||||
**/
|
||||
boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||
|
||||
/**
|
||||
* @description: 修改地区仓库
|
||||
* @author: zhang jing
|
||||
* @date: 2023/5/5 20:28
|
||||
* @param: [storehouseAreaMiddleVO]
|
||||
* @return: boolean
|
||||
* 修改地区仓库
|
||||
**/
|
||||
boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO);
|
||||
|
||||
/*
|
||||
* @description: 根据省查询对应的发货仓库
|
||||
* @author: sui q
|
||||
* @date: 2023/5/8 14:22
|
||||
* @param: null null
|
||||
* 根据省查询对应的发货仓库
|
||||
**/
|
||||
BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type);
|
||||
|
||||
/**
|
||||
* 批量查询省对应仓库列表
|
||||
*
|
||||
* @param provinceList 省列表
|
||||
* @return
|
||||
*/
|
||||
List<BdStorehouse> queryStorehouseListByProvince(Collection<Integer> provinceList);
|
||||
|
||||
}
|
||||
|
|
|
@ -10,61 +10,34 @@ import com.hzs.system.base.service.IBdStorehouseAreaMiddleService;
|
|||
import com.hzs.system.base.vo.BdStorehouseAreaMiddleVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓库地区中间表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-05
|
||||
*/
|
||||
@Service
|
||||
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
|
||||
public List<BdStorehouseAreaMiddleVO> getBdStorehouseAreaMiddleList(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||
return baseMapper.getBdStorehouseAreaMiddleList(storehouseAreaMiddleVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 新增地区仓库
|
||||
* @author: zhang jing
|
||||
* @date: 2023/5/5 20:37
|
||||
* @param: [storehouseAreaMiddleVO]
|
||||
* @return: boolean
|
||||
**/
|
||||
@Override
|
||||
public boolean intStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||
BdStorehouseAreaMiddle sto= BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||
for(Integer i: storehouseAreaMiddleVO.getProvinceList()){
|
||||
BdStorehouseAreaMiddle sto = BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||
for (Integer i : storehouseAreaMiddleVO.getProvinceList()) {
|
||||
sto.setProvince(i);
|
||||
baseMapper.insert(sto);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 修改地区仓库
|
||||
* @author: zhang jing
|
||||
* @date: 2023/5/5 20:37
|
||||
* @param: [storehouseAreaMiddleVO]
|
||||
* @return: boolean
|
||||
**/
|
||||
@Override
|
||||
public boolean upStoArMiddle(BdStorehouseAreaMiddleVO storehouseAreaMiddleVO) {
|
||||
BdStorehouseAreaMiddle sto= BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||
BdStorehouseAreaMiddle sto = BeanUtil.copyProperties(storehouseAreaMiddleVO, BdStorehouseAreaMiddle.class);
|
||||
sto.setPkStorehouse(storehouseAreaMiddleVO.getPkStorehouse());
|
||||
for(Integer i: storehouseAreaMiddleVO.getProvinceList()){
|
||||
for (Integer i : storehouseAreaMiddleVO.getProvinceList()) {
|
||||
sto.setProvince(i);
|
||||
baseMapper.updateById(sto);
|
||||
}
|
||||
|
@ -74,15 +47,10 @@ public class BdStorehouseAreaMiddleServiceImpl extends ServiceImpl<BdStorehouseA
|
|||
@Override
|
||||
public BdStorehouse queryBdStorehouseByProvince(Integer province, Integer type) {
|
||||
List<BdStorehouse> bdStorehouseList = baseMapper.queryBdStorehouseByProvince(province, type);
|
||||
if(CollectionUtil.isNotEmpty(bdStorehouseList)){
|
||||
if (CollectionUtil.isNotEmpty(bdStorehouseList)) {
|
||||
return bdStorehouseList.get(0);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BdStorehouse> queryStorehouseListByProvince(Collection<Integer> provinceList) {
|
||||
return baseMapper.queryStorehouseListByProvince(provinceList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,19 +2,6 @@
|
|||
<!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">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<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">
|
||||
<id column="PK_ID" property="pkId"/>
|
||||
<result column="CREATION_TIME" property="creationTime"/>
|
||||
|
@ -26,7 +13,6 @@
|
|||
<result column="provinceVal" property="provinceVal"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
<!--查询地区绑定仓库列表-->
|
||||
<select id="getBdStorehouseAreaMiddleList" parameterType="com.hzs.system.base.vo.BdStorehouseAreaMiddleVO"
|
||||
resultMap="BdStorehouseAreaMiddleVO">
|
||||
|
@ -51,33 +37,19 @@
|
|||
AND bse.NAME like '%' || #{name} || '%'
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="queryBdStorehouseByProvince" resultType="com.hzs.common.domain.system.base.BdStorehouse">
|
||||
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
|
||||
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 in
|
||||
<foreach collection="provinceList" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
and bm.province = #{province}
|
||||
<if test="type != null">
|
||||
and bs.store_type = #{type}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -223,6 +223,10 @@ public class MemberMsgConstants {
|
|||
* 空单注册,导入的会员编号中存在重复 -- 会员编号存在重复
|
||||
*/
|
||||
public static final String EMPTY_MEMBER_REPEAT = "会员编号存在重复";
|
||||
/**
|
||||
* 空单注册,导入的会员联系方式中存在重复 -- 联系方式存在重复
|
||||
*/
|
||||
public static final String EMPTY_PHONE_NOT = "联系方式存在重复";
|
||||
/**
|
||||
* 空单注册,导入的会员编号中存在重复 -- 推荐编号不存在
|
||||
*/
|
||||
|
|
|
@ -13,9 +13,6 @@ import lombok.experimental.Accessors;
|
|||
|
||||
/**
|
||||
* 空单批次
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-06-16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -11,9 +11,6 @@ import lombok.experimental.Accessors;
|
|||
|
||||
/**
|
||||
* 空单批次明细产品
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-08-28
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
@ -4,14 +4,8 @@ import com.hzs.common.domain.member.empty.CuMemberEmptyDetail;
|
|||
import lombok.Data;
|
||||
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)
|
||||
@Data
|
||||
|
@ -55,27 +49,9 @@ public class CuMemberEmptyDetailExt extends CuMemberEmptyDetail {
|
|||
*/
|
||||
private String awardsVal;
|
||||
|
||||
/**
|
||||
* 省名称
|
||||
*/
|
||||
private String recProvinceVal;
|
||||
/**
|
||||
* 市名称
|
||||
*/
|
||||
private String recCityVal;
|
||||
/**
|
||||
* 县名称
|
||||
*/
|
||||
private String recCountyVal;
|
||||
|
||||
/**
|
||||
* 生成备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 空单明细产品列表
|
||||
*/
|
||||
private List<CuMemberEmptyProductDTO> productDTOList;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
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;
|
||||
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
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,12 +10,7 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓库地区中间表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-05
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
Loading…
Reference in New Issue