## 首页商品新接口;

This commit is contained in:
cabbage 2025-05-30 16:41:14 +08:00
parent 71da52a629
commit 50ed469ab4
35 changed files with 287 additions and 582 deletions

View File

@ -1,10 +1,4 @@
package com.hzs.member.base.dto;/** package com.hzs.member.base.dto;
* @Description:
* @Author: yuhui
* @Time: 2023/6/29 15:16
* @Classname: ShowWaresDTO
* @PackageName: com.hzs.member.base.dto
*/
import com.hzs.common.domain.sale.wares.BdWaresAuthority; import com.hzs.common.domain.sale.wares.BdWaresAuthority;
import lombok.Data; import lombok.Data;
@ -12,14 +6,6 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.dto
*@Author: yh
*@CreateTime: 2023-06-29 15:16
*@Description: TODO
*@Version: 1.0
*/
@Data @Data
public class ShowWaresDTO implements Serializable { public class ShowWaresDTO implements Serializable {

View File

@ -7,11 +7,7 @@ import com.hzs.system.base.dto.CountryDTO;
import java.util.Map; import java.util.Map;
/** /**
* Description: 国家服务接口 * 国家服务接口
* Author: jiang chao
* Time: 2022/8/31 16:53
* Classname: ICountryServiceApi
* PackageName: com.hzs.system.base
*/ */
public interface ICountryServiceApi { public interface ICountryServiceApi {
@ -25,17 +21,16 @@ public interface ICountryServiceApi {
/** /**
* 查询所有国家 * 查询所有国家
*
* @return * @return
*/ */
R<Map<Integer, BdCountry>> getAllCountryMap(); R<Map<Integer, BdCountry>> getAllCountryMap();
/** /**
* 根据业务类型更新 * 根据业务类型更新
*
* @param businessType 业务类型 * @param businessType 业务类型
* @param pkId 主键 * @param pkId 主键
* @return: R<Boolean> */
* @Author: sui q
* @Date: 2023/3/10 15:14
*/
R<Boolean> updateConfigEffectById(Integer businessType, Integer pkId); R<Boolean> updateConfigEffectById(Integer businessType, Integer pkId);
} }

View File

@ -1,7 +1,6 @@
package com.hzs.system.config; package com.hzs.system.config;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.common.domain.system.config.ext.BdRangeExt; import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
@ -9,39 +8,26 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @description: 根据国家查询极差配置列表api * 根据国家查询极差配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/ **/
public interface IRangeServiceApi { public interface IRangeServiceApi {
/** /**
* @description: 根据国家查询极差配置列表 * 根据国家查询极差配置列表
* @author: zhang jing **/
* @date: 2022/9/29 15:31 R<List<BdRangeExt>> queryRange(Integer pkCountry);
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdAwards>>
**/
R<List<BdRangeExt>> queryRange(Integer pkCountry);
/** /**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键 * 查询各个国家极差的配置 键为 国家+极差类型+等级主键
* @return: Map<String,RangeDTO> */
* @Author: sui q R<Map<String, RangeDTO>> queryRangeDto();
* @Date: 2023/1/3 14:00
*/
R<Map<String, RangeDTO>> queryRangeDto();
/** /**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键 * 查询各个国家极差的配置 键为 国家+极差类型+等级主键
* @param pkCountry 国家 *
* @param rangeType 极差类型 * @param pkCountry 国家
* @param pkLevel 等级 * @param rangeType 极差类型
* @return: Map<String,RangeDTO> * @param pkLevel 等级
* @Author: sui q */
* @Date: 2023/1/3 14:00 R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel);
*/
R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel);
} }

View File

@ -1,39 +1,177 @@
package com.hzs.sale.index.controller.api; package com.hzs.sale.index.controller.api;
import com.hzs.common.core.web.domain.AjaxResult; import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.enums.EOrderType;
import com.hzs.common.core.enums.ERangeType;
import com.hzs.common.core.enums.ESpecialArea;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.BdWaresExt;
import com.hzs.common.domain.sale.ext.BdWaresSpecsSkuExt;
import com.hzs.common.domain.sale.wares.BdWares;
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
import com.hzs.common.domain.sale.wares.BdWaresRange;
import com.hzs.common.domain.sale.wares.ext.WaresGradeAwards;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.sale.order.service.ISaOrderService; import com.hzs.member.base.IMemberServiceApi;
import com.hzs.member.base.dto.ShowWaresDTO;
import com.hzs.sale.wares.service.IBdWaresGradeService;
import com.hzs.sale.wares.service.IBdWaresRangeService;
import com.hzs.sale.wares.service.IBdWaresService;
import com.hzs.sale.wares.service.IBdWaresSpecsSkuService;
import com.hzs.sale.wares.vo.WaresVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
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;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* 会员首页 * 会员首页
*
* @Description:
* @Author: ljc
* @Time: 2023/5/4 21:06
* @Classname: ApiHomePageController
* @Package_name: com.hzs.member.base.controller.api
*/ */
@Slf4j @Slf4j
@RequestMapping("/api/order") @RequestMapping("/api/order")
@RestController @RestController
public class ApiIndexController { public class ApiIndexController extends BaseController {
@Autowired @Autowired
ISaOrderService saOrderService; private IBdWaresService iBdWaresService;
@Autowired
private IBdWaresRangeService iBdWaresRangeService;
@Autowired
private IBdWaresGradeService iBdWaresGradeService;
@Autowired
private IBdWaresSpecsSkuService iBdWaresSpecsSkuService;
@DubboReference
IMemberServiceApi iMemberServiceApi;
/** /**
* 我的市场 * 首页商品列表
* *
* @return AjaxResult * @return
*/ */
@GetMapping("/index-myMarket") @GetMapping("/index-wares-list")
public AjaxResult selectMyMarket() { public TableDataInfo indexWaresList() {
return AjaxResult.success(saOrderService.selectMyMarket(SecurityUtils.getUserId(), SecurityUtils.getPkCountry())); Long pkMember = SecurityUtils.getUserId();
// 返回数据列表
List<WaresVo> waresVOList = new ArrayList<>();
// 商品列表
List<BdWaresExt> waresList = iBdWaresService.listWares(Arrays.asList(ESpecialArea.REPURCHASE_AREA.getValue(), ESpecialArea.SPECIAL_REPURCHASE_AREA.getValue(), ESpecialArea.RESCISSION_AREA.getValue()));
if (CollectionUtil.isNotEmpty(waresList)) {
// 获取商品ID列表
List<Integer> waresIdList = waresList.stream().map(BdWares::getPkId).collect(Collectors.toList());
// 登录用户
CuMemberExt loginMember = iMemberServiceApi.getMemberById(pkMember).getData();
// 商品等级奖衔权限控制处理
Set<Integer> authWaresIdSet = new HashSet<>();
List<String> authWaresList = new ArrayList<>();
if (waresIdList.size() > 0) {
List<WaresGradeAwards> waresGradeAwardsList = iBdWaresGradeService.queryWaresGradeAwards(waresIdList);
waresGradeAwardsList.forEach(waresGradeAwards -> {
authWaresIdSet.add(waresGradeAwards.getPkWares());
String key = waresGradeAwards.getPkWares() + "_" + waresGradeAwards.getRangeType() + "_" + waresGradeAwards.getPkRange().toString();
authWaresList.add(key);
});
}
// 商品是否显示用于团队显示控制使用
Map<Integer, Boolean> waresShowMap = new HashMap<>();
Map<Integer, List<BdWaresAuthority>> waresAuthorityMap = iBdWaresService.getWaresAuthority(waresIdList);
if (waresAuthorityMap.size() > 0) {
List<ShowWaresDTO> showWaresList = waresList.stream().map(item -> {
ShowWaresDTO showWaresDTO = new ShowWaresDTO();
showWaresDTO.setPkWares(item.getPkId());
showWaresDTO.setLoginMember(pkMember);
showWaresDTO.setWaresAuthorityList(waresAuthorityMap.get(item.getPkId()));
return showWaresDTO;
}).collect(Collectors.toList());
// 商品显示权限mapkey:商品IDvalue:是否可见
waresShowMap = iMemberServiceApi.checkIsShowWares(showWaresList).getData();
}
// 查询商品sku 最小值 和数量
Map<Integer, List<BdWaresSpecsSkuExt>> waresSpecsSkuMap = new HashMap<>();
if (waresIdList.size() > 0) {
List<BdWaresSpecsSkuExt> waresSpecsSkuArray = iBdWaresSpecsSkuService.selectByMinWaresSpecsSkuByPkWaresList(waresIdList);
waresSpecsSkuMap = waresSpecsSkuArray.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getPkWares));
}
// 复购类商品级差价格
List<BdWaresRange> bdWaresRangeList = iBdWaresRangeService.queryWaresRangeByCondition(loginMember, waresIdList);
for (BdWaresExt bdWares : waresList) {
if (authWaresIdSet.contains(bdWares.getPkId())) {
String gradeKey = bdWares.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade();
String awardsKey = bdWares.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards();
String authorityKey = bdWares.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority();
if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) {
continue;
}
}
Boolean isShow = waresShowMap.get(bdWares.getPkId());
if (null == isShow || isShow) {
List<BdWaresSpecsSkuExt> waresSpecsSku = waresSpecsSkuMap.get(bdWares.getPkId());
waresSpecsSku = waresSpecsSku.stream().peek(a -> a.setProductGift(a.getPkProduct() + "" + a.getIsGift())).collect(Collectors.toList());
Map<String, List<BdWaresSpecsSkuExt>> col = waresSpecsSku.stream().collect(Collectors.groupingBy(BdWaresSpecsSkuExt::getProductGift));
BigDecimal waresPrice = BigDecimal.ZERO;
BigDecimal waresAchieve = BigDecimal.ZERO;
BigDecimal assAchieve = BigDecimal.ZERO;
// 会员价
BigDecimal vipAchieve = BigDecimal.ZERO;
// 零售价
BigDecimal retailPrice = BigDecimal.ZERO;
for (Map.Entry<String, List<BdWaresSpecsSkuExt>> integerListEntry : col.entrySet()) {
// 取得每一个商品价格最小值
Optional<BdWaresSpecsSkuExt> minBdWaresSpecsSkuExt = integerListEntry.getValue().stream().filter(Objects::nonNull).min(Comparator.comparing(BdWaresSpecsSkuExt::getPrice));
BdWaresSpecsSkuExt bdWaresSpecsSkuExt = minBdWaresSpecsSkuExt.get();
waresPrice = waresPrice.add(bdWaresSpecsSkuExt.getPrice().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
waresAchieve = waresAchieve.add(bdWaresSpecsSkuExt.getAchieve().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
assAchieve = assAchieve.add(bdWaresSpecsSkuExt.getAssAchieve().multiply(new BigDecimal(bdWaresSpecsSkuExt.getQuantity())));
// 会员价
vipAchieve = vipAchieve.add(bdWaresSpecsSkuExt.getVipPrice().multiply(BigDecimal.valueOf(bdWaresSpecsSkuExt.getQuantity())));
// 零售价
retailPrice = retailPrice.add(bdWaresSpecsSkuExt.getRetailPrice().multiply(BigDecimal.valueOf(bdWaresSpecsSkuExt.getQuantity())));
}
// 商品信息填充
WaresVo waresVo = new WaresVo();
waresVo.setCover(bdWares.getCover());
waresVo.setWaresName(bdWares.getWaresName());
BigDecimal price = waresPrice;
if (EOrderType.REPURCHASE_ORDER.getValue() == bdWares.getSpecialArea()) {
for (BdWaresRange bdWaresRange : bdWaresRangeList) {
if (bdWares.getPkId().intValue() == bdWaresRange.getPkWares().intValue()) {
price = price.add(bdWaresRange.getPrice());
}
}
}
waresVo.setWaresPrice(price);
waresVo.setVipPrice(vipAchieve);
waresVo.setRetailPrice(retailPrice);
waresVo.setWaresAchieve(waresAchieve);
waresVo.setPkWares(bdWares.getPkId());
waresVo.setWaresCode(bdWares.getWaresCode());
waresVo.setSpecialArea(bdWares.getSpecialArea());
waresVo.setIsSale(bdWares.getIsSale());
waresVo.setPreSaleStatus(bdWares.getPreSaleStatus());
waresVo.setSales(bdWares.getSales());
waresVOList.add(waresVo);
}
}
}
TableDataInfo tableDataInfo = getDataTable(waresList);
tableDataInfo.setRows(waresVOList);
return tableDataInfo;
} }

View File

@ -16,13 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/12/1 17:52
* @Classname: IndexController
* @PackageName: com.hzs.sale.index
*/
@RestController @RestController
@RequestMapping("/manager/index") @RequestMapping("/manager/index")
public class IndexController extends BaseController { public class IndexController extends BaseController {
@ -36,7 +29,7 @@ public class IndexController extends BaseController {
* 查询套组商品占比 * 查询套组商品占比
*/ */
@GetMapping("get-wares-scale") @GetMapping("get-wares-scale")
public AjaxResult getWaresScale(){ public AjaxResult getWaresScale() {
// 查询单品 // 查询单品
QueryWrapper<BdWares> queryWrapper = new QueryWrapper<>(); QueryWrapper<BdWares> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("IS_SINGLE", EYesNo.YES.getIntValue()); queryWrapper.eq("IS_SINGLE", EYesNo.YES.getIntValue());
@ -58,21 +51,21 @@ public class IndexController extends BaseController {
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
// 总收益 // 总收益
json.put("priceSum",priceSum); json.put("priceSum", priceSum);
// 套组百分比占比 // 套组百分比占比
json.put("composeRatio",composeRatio); json.put("composeRatio", composeRatio);
// 单品百分比占比 // 单品百分比占比
json.put("singleRatio",singleRatio); json.put("singleRatio", singleRatio);
return AjaxResult.success(json); return AjaxResult.success(json);
} }
/** /**
* 产品销售比例 * 产品销售比例
*/ */
@GetMapping("get-product-scale") @GetMapping("get-product-scale")
public AjaxResult saleProductScale(){ public AjaxResult saleProductScale() {
// productService. // productService.
return AjaxResult.success(); return AjaxResult.success();
} }
} }

View File

@ -1,51 +0,0 @@
package com.hzs.sale.index.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 我的市场一下详情VO
*
* @Description:
* @Author: ljc
* @Time: 2023/5/9 14:34
* @Classname: CuMemberMyMarketVO
* @Package_name: com.hzs.member.base.vo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberMyMarketDetailVO implements Serializable {
private static final long serialVersionUID = -2715842187394176784L;
/**
* 国家
*/
private Integer pkCountry;
/**
*
*/
private Integer province;
/**
*
*/
private Integer city;
/**
*
*/
private Integer county;
/**
* 点亮名称
*/
private String lightName;
}

View File

@ -1,54 +0,0 @@
package com.hzs.sale.index.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 我的市场VO
*
* @Description:
* @Author: ljc
* @Time: 2023/5/9 14:34
* @Classname: CuMemberMyMarketVO
* @Package_name: com.hzs.member.base.vo
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberMyMarketVO implements Serializable {
private static final long serialVersionUID = -2715842187394176784L;
/**
* 国家数
*/
private Integer countryNum;
/**
* 地区数
*/
private Integer regionNum;
/**
* 我的国家数
*/
private Integer myCountryNum;
/**
* 我的地区数
*/
private Integer myRegionNum;
/**
* 国家点亮名称
*/
private String countryLightName;
/**
* 市场详情
*/
private List<CuMemberMyMarketDetailVO> myMarketDetailVOList;
}

View File

@ -7,26 +7,19 @@ import com.hzs.common.core.constant.HttpStatus;
import com.hzs.common.core.constant.msg.MemberMsgConstants; import com.hzs.common.core.constant.msg.MemberMsgConstants;
import com.hzs.common.core.constant.msg.SaOrderMsgConstants; import com.hzs.common.core.constant.msg.SaOrderMsgConstants;
import com.hzs.common.core.enums.EOrderType; import com.hzs.common.core.enums.EOrderType;
import com.hzs.common.core.enums.ESpecialArea;
import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.ext.CuMemberAccountExt; import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.wares.BdWares;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.sale.order.controller.ParentOrderController; import com.hzs.sale.order.controller.ParentOrderController;
import com.hzs.sale.order.param.OrderParam; import com.hzs.sale.order.param.OrderParam;
import com.hzs.sale.order.param.OrderReturn; import com.hzs.sale.order.param.OrderReturn;
import com.hzs.sale.shopping.vo.ShoppingCartVO; import com.hzs.sale.shopping.vo.ShoppingCartVO;
import com.hzs.sale.wares.service.IBdWaresService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 其他订单升级复购订单 * 其他订单升级复购订单
*/ */
@ -35,9 +28,6 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class ApiOthSaOrderController extends ParentOrderController { public class ApiOthSaOrderController extends ParentOrderController {
@Autowired
private IBdWaresService iBdWaresService;
/** /**
* 提供确认订单的方法 * 提供确认订单的方法
* *
@ -190,18 +180,4 @@ public class ApiOthSaOrderController extends ParentOrderController {
return AjaxResult.error(cuMemberAccountExt.getErrorMsg()); return AjaxResult.error(cuMemberAccountExt.getErrorMsg());
} }
/**
* 查询复购商品列表
*
* @return
*/
@GetMapping("/list-maker-ware")
public AjaxResult listMakerWare() {
List<BdWares> bdWaresList = iBdWaresService.queryMakerIncomeList(ESpecialArea.REPURCHASE_AREA.getValue(), SecurityUtils.getPkCountry());
if (CollectionUtil.isNotEmpty(bdWaresList)) {
return AjaxResult.success(bdWaresList.stream().map(BdWares::getWaresCode).collect(Collectors.toList()));
}
return AjaxResult.success();
}
} }

View File

@ -7,8 +7,6 @@ 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.sale.deliver.param.DeliverSecondParam; import com.hzs.sale.deliver.param.DeliverSecondParam;
import com.hzs.sale.deliver.vo.DeliverSecondVO; import com.hzs.sale.deliver.vo.DeliverSecondVO;
import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO;
import com.hzs.sale.index.vo.CuMemberMyMarketVO;
import com.hzs.sale.order.param.*; import com.hzs.sale.order.param.*;
import com.hzs.sale.order.vo.*; import com.hzs.sale.order.vo.*;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -268,25 +266,6 @@ public interface SaOrderMapper extends BaseMapper<SaOrder> {
*/ */
List<DeliverSecondVO> secondList(@Param("param") DeliverSecondParam param, @Param("pkCountry") Integer pkCountry); List<DeliverSecondVO> secondList(@Param("param") DeliverSecondParam param, @Param("pkCountry") Integer pkCountry);
/**
* 会员首页我的市场
*
* @param pkMember 用户ID
* @param pkCountry 国家ID
* @return
*/
CuMemberMyMarketVO selectMyMarket(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry);
/**
* 会员首页我的市场
*
* @param pkMember 用户ID
* @param pkCountry 国家ID
* @return
*/
List<CuMemberMyMarketDetailVO> selectMyMarketDetail(@Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry);
/** /**
* 查询当天已支付订单信息 * 查询当天已支付订单信息
**/ **/

View File

@ -11,7 +11,6 @@ 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.deliver.param.DeliverSecondParam; import com.hzs.sale.deliver.param.DeliverSecondParam;
import com.hzs.sale.deliver.vo.DeliverSecondVO; import com.hzs.sale.deliver.vo.DeliverSecondVO;
import com.hzs.sale.index.vo.CuMemberMyMarketVO;
import com.hzs.sale.order.param.*; import com.hzs.sale.order.param.*;
import com.hzs.sale.order.vo.*; import com.hzs.sale.order.vo.*;
import com.hzs.system.config.dto.GradeDTO; import com.hzs.system.config.dto.GradeDTO;
@ -593,16 +592,6 @@ public interface ISaOrderService extends IService<SaOrder> {
*/ */
List<DeliverSecondVO> secondList(DeliverSecondParam param, Integer pkCountry); List<DeliverSecondVO> secondList(DeliverSecondParam param, Integer pkCountry);
/**
* 会员首页我的市场
*
* @param pkMember 用户ID
* @param pkCountry 国家ID
* @return
*/
CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry);
/** /**
* 查询当天已支付订单信息 * 查询当天已支付订单信息
**/ **/

View File

@ -54,8 +54,6 @@ import com.hzs.member.detail.ICuMemberServiceLogServiceApi;
import com.hzs.sale.deliver.param.DeliverSecondParam; import com.hzs.sale.deliver.param.DeliverSecondParam;
import com.hzs.sale.deliver.service.ISaDeliverItemsService; import com.hzs.sale.deliver.service.ISaDeliverItemsService;
import com.hzs.sale.deliver.vo.DeliverSecondVO; import com.hzs.sale.deliver.vo.DeliverSecondVO;
import com.hzs.sale.index.vo.CuMemberMyMarketDetailVO;
import com.hzs.sale.index.vo.CuMemberMyMarketVO;
import com.hzs.sale.order.dto.OrderQueryChargeDTO; import com.hzs.sale.order.dto.OrderQueryChargeDTO;
import com.hzs.sale.order.mapper.SaOrderMapper; import com.hzs.sale.order.mapper.SaOrderMapper;
import com.hzs.sale.order.param.*; import com.hzs.sale.order.param.*;
@ -2352,30 +2350,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return baseMapper.secondList(param, pkCountry); return baseMapper.secondList(param, pkCountry);
} }
@Override
public CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry) {
//查询全国市场
CuMemberMyMarketVO cuMemberMyMarketVO = baseMapper.selectMyMarket(null, pkCountry);
CountryDTO country = countryServiceApi.getCountry(pkCountry).getData();
//查询市场分布
List<CuMemberMyMarketDetailVO> cuMemberMyMarketDetailVOList = baseMapper.selectMyMarketDetail(pkMember, pkCountry);
cuMemberMyMarketVO.setMyMarketDetailVOList(cuMemberMyMarketDetailVOList);
//查询我的市场
if (CollectionUtil.isNotEmpty(cuMemberMyMarketDetailVOList)) {
List<Integer> countryNmus = cuMemberMyMarketDetailVOList.stream().map(CuMemberMyMarketDetailVO::getPkCountry).distinct().collect(Collectors.toList());
cuMemberMyMarketVO.setMyCountryNum(countryNmus.size());
cuMemberMyMarketVO.setMyRegionNum(cuMemberMyMarketDetailVOList.size());
} else {
cuMemberMyMarketVO.setMyCountryNum(1);
cuMemberMyMarketVO.setMyRegionNum(0);
}
//海外暂时点亮国家
if (!pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
cuMemberMyMarketVO.setMyMarketDetailVOList(Collections.singletonList(CuMemberMyMarketDetailVO.builder().lightName(country.getLightName()).build()));
}
return cuMemberMyMarketVO;
}
@Override @Override
public SaOrder queryOrderTotalAchieveByTime(Date startDate, Date endDate) { public SaOrder queryOrderTotalAchieveByTime(Date startDate, Date endDate) {
List<Integer> orderTypeList = new ArrayList<>(); List<Integer> orderTypeList = new ArrayList<>();

View File

@ -9,9 +9,6 @@ import java.util.List;
/** /**
* 等级配置 Mapper 接口 * 等级配置 Mapper 接口
*
* @author hzs
* @since 2023-03-13
*/ */
public interface BdWaresGradeMapper extends BaseMapper<BdWaresGrade> { public interface BdWaresGradeMapper extends BaseMapper<BdWaresGrade> {

View File

@ -149,12 +149,11 @@ public interface BdWaresMapper extends BaseMapper<BdWares> {
WaresAuthorityVo getWaresAuthorityFirst(@Param("pkWares") Integer pkWares); WaresAuthorityVo getWaresAuthorityFirst(@Param("pkWares") Integer pkWares);
/** /**
* 查询上架的发起人收益商品列表 * 商品列表
* *
* @param specialArea 所属专区可为空 * @param specialAreaList
* @param pkCountry 所属国家
* @return * @return
*/ */
List<BdWares> queryMakerIncomeList(@Param("specialArea") Integer specialArea, @Param("pkCountry") Integer pkCountry); List<BdWaresExt> listWaresNew(@Param("specialAreaList") List<Integer> specialAreaList);
} }

View File

@ -8,9 +8,6 @@ import java.util.List;
/** /**
* 极差明细表 Mapper 接口 * 极差明细表 Mapper 接口
*
* @author hzs
* @since 2022-09-09
*/ */
public interface BdWaresRangeMapper extends BaseMapper<BdWaresRange> { public interface BdWaresRangeMapper extends BaseMapper<BdWaresRange> {
@ -19,9 +16,6 @@ public interface BdWaresRangeMapper extends BaseMapper<BdWaresRange> {
* *
* @param pkRange 极差类型 * @param pkRange 极差类型
* @param pkWaresList 商品 * @param pkWaresList 商品
* @return: List<BdWaresRange>
* @Author: sui q
* @Date: 2022/9/27 10:02
*/ */
List<BdWaresRange> queryWaresRangeByCondition(@Param("pkRange") Integer pkRange, @Param("pkWaresList") List<Integer> pkWaresList); List<BdWaresRange> queryWaresRangeByCondition(@Param("pkRange") Integer pkRange, @Param("pkWaresList") List<Integer> pkWaresList);

View File

@ -8,18 +8,12 @@ import java.util.List;
/** /**
* 等级配置 服务类 * 等级配置 服务类
*
* @author hzs
* @since 2023-03-13
*/ */
public interface IBdWaresGradeService extends IService<BdWaresGrade> { public interface IBdWaresGradeService extends IService<BdWaresGrade> {
/* /**
* @description: 查询会员权限 * 查询会员权限
* @author: sui q */
* @date: 2023/9/5 19:49
* @param: null null
**/
List<WaresGradeAwards> queryWaresGradeAwards(List<Integer> waresIdList); List<WaresGradeAwards> queryWaresGradeAwards(List<Integer> waresIdList);
} }

View File

@ -8,9 +8,6 @@ import java.util.List;
/** /**
* 极差明细表 服务类 * 极差明细表 服务类
*
* @author hzs
* @since 2022-09-09
*/ */
public interface IBdWaresRangeService extends IService<BdWaresRange> { public interface IBdWaresRangeService extends IService<BdWaresRange> {
@ -19,9 +16,6 @@ public interface IBdWaresRangeService extends IService<BdWaresRange> {
* *
* @param cuMember 会员 * @param cuMember 会员
* @param pkWareList 商品主键 * @param pkWareList 商品主键
* @return: List<BdWaresRange>
* @Author: sui q
* @Date: 2022/9/26 16:48
*/ */
List<BdWaresRange> queryWaresRangeByCondition(CuMember cuMember, List<Integer> pkWareList); List<BdWaresRange> queryWaresRangeByCondition(CuMember cuMember, List<Integer> pkWareList);
@ -32,9 +26,6 @@ public interface IBdWaresRangeService extends IService<BdWaresRange> {
* @param rangeType 类型 * @param rangeType 类型
* @param level 基本 * @param level 基本
* @param specsSkuList 最小库存单位 * @param specsSkuList 最小库存单位
* @return: List<BdWaresRange>
* @Author: sui q
* @Date: 2022/9/26 15:33
*/ */
List<BdWaresRange> querySkuWaresRangeByCondition(Integer pkCountry, Integer rangeType, Integer level, List<Integer> specsSkuList); List<BdWaresRange> querySkuWaresRangeByCondition(Integer pkCountry, Integer rangeType, Integer level, List<Integer> specsSkuList);

View File

@ -211,12 +211,11 @@ public interface IBdWaresService extends IService<BdWares> {
void bottomUp(Integer waresId, LoginUser loginUser); void bottomUp(Integer waresId, LoginUser loginUser);
/** /**
* 查询上架的发起人收益商品列表 * 商品列表
* *
* @param specialArea 所属专区可为空 * @param specialAreaList
* @param pkCountry 所属国家
* @return * @return
*/ */
List<BdWares> queryMakerIncomeList(Integer specialArea, Integer pkCountry); List<BdWaresExt> listWares(List<Integer> specialAreaList);
} }

View File

@ -12,9 +12,6 @@ import java.util.List;
/** /**
* 等级配置 服务实现类 * 等级配置 服务实现类
*
* @author hzs
* @since 2023-03-13
*/ */
@Service @Service
public class BdWaresGradeServiceImpl extends ServiceImpl<BdWaresGradeMapper, BdWaresGrade> implements IBdWaresGradeService { public class BdWaresGradeServiceImpl extends ServiceImpl<BdWaresGradeMapper, BdWaresGrade> implements IBdWaresGradeService {

View File

@ -20,28 +20,25 @@ import java.util.List;
/** /**
* 极差明细表 服务实现类 * 极差明细表 服务实现类
*
* @author hzs
* @since 2022-09-09
*/ */
@Service @Service
public class BdWaresRangeServiceImpl extends ServiceImpl<BdWaresRangeMapper, BdWaresRange> implements IBdWaresRangeService { public class BdWaresRangeServiceImpl extends ServiceImpl<BdWaresRangeMapper, BdWaresRange> implements IBdWaresRangeService {
@DubboReference @DubboReference
IRangeServiceApi rangeServiceApi; IRangeServiceApi iRangeServiceApi;
@DubboReference @DubboReference
IAwardsServiceApi awardsServiceApi; IAwardsServiceApi iAwardsServiceApi;
@Override @Override
public List<BdWaresRange> queryWaresRangeByCondition(CuMember cuMember, List<Integer> pkWareList) { public List<BdWaresRange> queryWaresRangeByCondition(CuMember cuMember, List<Integer> pkWareList) {
int level = cuMember.getPkSettleGrade(); int level = cuMember.getPkSettleGrade();
int rangeType = ERangeType.GRADE.getValue(); int rangeType = ERangeType.GRADE.getValue();
// BdAwards bdAwards = awardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData(); // BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
// if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) { // if (bdAwards.getAwardsValue() > EAwards.MEMBER.getValue()) {
// level = cuMember.getPkAwards(); // level = cuMember.getPkAwards();
// rangeType = ERangeType.AWARDS.getValue(); // rangeType = ERangeType.AWARDS.getValue();
// } // }
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData(); RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(cuMember.getPkSettleCountry(), rangeType, level).getData();
if (rangeDTO == null) { if (rangeDTO == null) {
return new ArrayList<>(); return new ArrayList<>();
} }
@ -50,21 +47,16 @@ public class BdWaresRangeServiceImpl extends ServiceImpl<BdWaresRangeMapper, BdW
@Override @Override
public List<BdWaresRange> querySkuWaresRangeByCondition(Integer pkCountry, Integer rangeType, Integer level, List<Integer> specsSkuList) { public List<BdWaresRange> querySkuWaresRangeByCondition(Integer pkCountry, Integer rangeType, Integer level, List<Integer> specsSkuList) {
RangeDTO rangeDTO = rangeServiceApi.queryRangeDtoByCondition(pkCountry, rangeType, level).getData(); RangeDTO rangeDTO = iRangeServiceApi.queryRangeDtoByCondition(pkCountry, rangeType, level).getData();
QueryWrapper<BdWaresRange> queryWrapper = new QueryWrapper<>(); QueryWrapper<BdWaresRange> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SystemFieldConstants.PK_RANGE, rangeDTO.getPkRange()); queryWrapper.eq(SystemFieldConstants.PK_RANGE, rangeDTO.getPkRange());
queryWrapper.in(SystemFieldConstants.PK_WARES_SPECS_SKU, specsSkuList); queryWrapper.in(SystemFieldConstants.PK_WARES_SPECS_SKU, specsSkuList);
return baseMapper.selectList(queryWrapper); return baseMapper.selectList(queryWrapper);
} }
/**
* 以range 为主表查询商品极差信息
*
* @param pkWares
* @return
*/
@Override @Override
public List<BdWaresRange> queryWaresList(Long pkWares, Integer pkCountry) { public List<BdWaresRange> queryWaresList(Long pkWares, Integer pkCountry) {
return baseMapper.queryWaresList(pkWares, pkCountry); return baseMapper.queryWaresList(pkWares, pkCountry);
} }
} }

View File

@ -1188,7 +1188,6 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
if (waresIdSet.contains(waresExt.getPkId())) { if (waresIdSet.contains(waresExt.getPkId())) {
String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade(); String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade();
String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards(); String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards();
// 添加商品注册权限配置
String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority(); String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority();
if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) { if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) {
continue; continue;
@ -1585,6 +1584,8 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
if (pkWaresList.size() > 0) { if (pkWaresList.size() > 0) {
LambdaQueryWrapper<BdWaresAuthority> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BdWaresAuthority> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(BdWaresAuthority::getPkWares, pkWaresList); queryWrapper.in(BdWaresAuthority::getPkWares, pkWaresList);
// 只查询不为全部的全部的话默认都是可见的
queryWrapper.ne(BdWaresAuthority::getAuthorityType, EWaresPermissionType.AUTH_ORITY_TYPE.getValue());
List<BdWaresAuthority> waresAuthorityList = iBdWaresAuthorityService.list(queryWrapper); List<BdWaresAuthority> waresAuthorityList = iBdWaresAuthorityService.list(queryWrapper);
map = waresAuthorityList.stream().collect(Collectors.groupingBy(BdWaresAuthority::getPkWares, Collectors.toList())); map = waresAuthorityList.stream().collect(Collectors.groupingBy(BdWaresAuthority::getPkWares, Collectors.toList()));
} }
@ -1616,8 +1617,10 @@ public class BdWaresServiceImpl extends ServiceImpl<BdWaresMapper, BdWares> impl
} }
@Override @Override
public List<BdWares> queryMakerIncomeList(Integer specialArea, Integer pkCountry) { public List<BdWaresExt> listWares(List<Integer> specialAreaList) {
return baseMapper.queryMakerIncomeList(specialArea, pkCountry); // 商品列表复购乐学复购重消
return baseMapper.listWaresNew(specialAreaList);
} }
} }

View File

@ -4,14 +4,6 @@ import lombok.Data;
import java.util.List; import java.util.List;
/**
* @BelongsProject: hzs_cloud
* @BelongsPackage: com.hzs.sale.wares.vo
* @Author: yh
* @CreateTime: 2023-05-15 11:18
* @Description:
* @Version: 1.0
*/
@Data @Data
public class WaresCoverInfoVo { public class WaresCoverInfoVo {
@ -24,4 +16,5 @@ public class WaresCoverInfoVo {
* 商品图列表 * 商品图列表
*/ */
private List<String> coverList; private List<String> coverList;
} }

View File

@ -176,10 +176,10 @@ public class WaresVo {
*/ */
@Excel(name = "上架状态", readConverterExp = "0=上架,1=下架") @Excel(name = "上架状态", readConverterExp = "0=上架,1=下架")
private Integer isPutOn; private Integer isPutOn;
/** /**
* 预售状态 * 预售状态
*/ */
private Integer preSaleStatus; private Integer preSaleStatus;
/** /**
@ -264,11 +264,13 @@ public class WaresVo {
/** /**
* 会员价 * 会员价
*/ */
@BigDecimalFormat
private BigDecimal vipPrice; private BigDecimal vipPrice;
/** /**
* 零售价 * 零售价
*/ */
@BigDecimalFormat
private BigDecimal retailPrice; private BigDecimal retailPrice;
/** /**

View File

@ -1464,57 +1464,6 @@
order by so.creation_time desc order by so.creation_time desc
</select> </select>
<select id="selectMyMarket" resultType="com.hzs.sale.index.vo.CuMemberMyMarketVO">
select count(distinct o.pk_country) countryNum,
count(distinct o.rec_province) regionNum
from sa_order o
where o.del_flag = 0
and o.order_status = 1
<if test="pkMember != null">
and o.pk_member in
(select m.pk_id
from cu_member m
where m.del_flag = 0
and m.pay_status = 1
and m.category = 0
and m.pk_settle_country = #{pkCountry}
start with m.pk_id = #{pkMember}
connect by prior m.pk_id = m.pk_parent)
</if>
<if test="pkCountry != null">
and o.pk_country = #{pkCountry}
</if>
</select>
<select id="selectMyMarketDetail" resultType="com.hzs.sale.index.vo.CuMemberMyMarketDetailVO">
select distinct o.pk_country pkCountry,
o.rec_province province,
a.light_name lightName
from sa_order o
left join bd_area a
on o.rec_province = a.pk_id
and a.del_flag = 0
and a.enable_state = 0
where 1 = 1
<if test="pkMember != null">
and o.pk_member in
(select m.pk_id
from cu_member m
where m.del_flag = 0
and m.pay_status = 1
and m.category = 0
and m.pk_settle_country = #{pkCountry}
start with m.pk_id = #{pkMember}
connect by prior m.pk_id = m.pk_parent)
</if>
and o.del_flag = 0
and o.order_status = 1
and o.rec_province is not null
<if test="pkCountry != null">
and o.pk_country = #{pkCountry}
</if>
</select>
<!-- 查询当天已支付订单信息--> <!-- 查询当天已支付订单信息-->
<select id="querySaOrderByOrderType" resultMap="SaOrder"> <select id="querySaOrderByOrderType" resultMap="SaOrder">
select so.pk_member, select so.pk_member,

View File

@ -401,21 +401,22 @@
order by wa.PK_id desc order by wa.PK_id desc
</select> </select>
<!-- 查询上架的发起人收益商品列表 --> <!-- 商品列表 -->
<select id="queryMakerIncomeList" resultType="com.hzs.common.domain.sale.wares.BdWares"> <select id="listWaresNew" resultType="com.hzs.common.domain.sale.ext.BdWaresExt">
select bw.* select bd.*, bwe.is_sale, bwe.pre_sale_status
from bd_wares bw from bd_wares bd
inner join BD_WARES_EXTEND bwe left join bd_wares_extend bwe
on bwe.pk_wares = bw.pk_id on bwe.pk_wares = bd.pk_id
and bwe.del_flag = 0 where bd.del_flag = 0
and bwe.pk_country = 1 and bd.wares_status = 5
and bwe.IS_PUT_ON = 0 and bwe.is_put_on = 0
and bwe.MAKER_INCOME != 0 <if test="specialAreaList != null">
where bw.del_flag = 0 and bd.special_area in
and bw.pk_country = #{pkCountry} <foreach collection="specialAreaList" item="item" open="(" close=")" separator=",">
<if test="null != specialArea"> #{item}
and bw.SPECIAL_AREA = #{specialArea} </foreach>
</if> </if>
order by bd.sort desc, bd.wares_price
</select> </select>
</mapper> </mapper>

View File

@ -22,7 +22,8 @@
</resultMap> </resultMap>
<select id="queryWaresRangeByCondition" resultMap="BdWaresRange"> <select id="queryWaresRangeByCondition" resultMap="BdWaresRange">
select bd.pk_wares,(bs.price*bd.quantity) price,(bs.achieve*bd.quantity) achieve,(bs.ass_achieve*bd.quantity) ass_achieve from bd_wares_detail bd select bd.pk_wares,(bs.price*bd.quantity) price,(bs.achieve*bd.quantity) achieve,(bs.ass_achieve*bd.quantity) ass_achieve
from bd_wares_detail bd
inner join ( inner join (
select bs.pk_wares_detail,min(bs.price) price,max(bs.achieve) achieve,max(bs.ASS_ACHIEVE) ass_achieve from bd_wares_range bs select bs.pk_wares_detail,min(bs.price) price,max(bs.achieve) achieve,max(bs.ASS_ACHIEVE) ass_achieve from bd_wares_range bs
left join bd_wares_specs_sku bss on bss.pk_id = bs.PK_WARES_SPECS_SKU left join bd_wares_specs_sku bss on bss.pk_id = bs.PK_WARES_SPECS_SKU
@ -46,7 +47,6 @@
</select> </select>
<select id="queryWaresList" resultType="com.hzs.common.domain.sale.wares.BdWaresRange"> <select id="queryWaresList" resultType="com.hzs.common.domain.sale.wares.BdWaresRange">
SELECT wr.PK_ID pkId, SELECT wr.PK_ID pkId,
wr.PK_WARES pkWares, wr.PK_WARES pkWares,
wr.PK_PRODUCT pkProduct, wr.PK_PRODUCT pkProduct,
@ -61,7 +61,6 @@
FROM bd_range br FROM bd_range br
LEFT JOIN bd_wares_range wr ON wr.PK_RANGE = br.PK_ID LEFT JOIN bd_wares_range wr ON wr.PK_RANGE = br.PK_ID
left join BD_WARES_DETAIL wd on wd.PK_ID = wr.PK_WARES_DETAIL left join BD_WARES_DETAIL wd on wd.PK_ID = wr.PK_WARES_DETAIL
WHERE br.PK_COUNTRY = #{pkCountry} WHERE br.PK_COUNTRY = #{pkCountry}
AND br.DEL_FLAG = 0 AND br.DEL_FLAG = 0
AND wr.PK_WARES = #{pkWares} AND wr.PK_WARES = #{pkWares}

View File

@ -15,27 +15,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.util.Map; import java.util.Map;
/** /**
* Description: 国家dubbo服务 * 国家dubbo服务
* Author: jiang chao
* Time: 2022/8/31 16:52
* Classname: CountryServiceProvider
* PackageName: com.hzs.system.base.provider
*/ */
@DubboService @DubboService
public class CountryServiceProvider implements ICountryServiceApi { public class CountryServiceProvider implements ICountryServiceApi {
@Autowired @Autowired
private IBdCountryService countryService; private IBdCountryService iBdCountryService;
@Autowired @Autowired
private IBdCurrencyService currencyService; private IBdCurrencyService iBdCurrencyService;
@Autowired @Autowired
private IBdAccountService accountService; private IBdAccountService iBdAccountService;
@Override @Override
public R<CountryDTO> getCountry(Integer countryId) { public R<CountryDTO> getCountry(Integer countryId) {
BdCountry bdCountry = countryService.getCountry(countryId); BdCountry bdCountry = iBdCountryService.getCountry(countryId);
if (null == bdCountry) { if (null == bdCountry) {
return R.fail(); return R.fail();
} }
@ -44,17 +38,17 @@ public class CountryServiceProvider implements ICountryServiceApi {
@Override @Override
public R<Map<Integer, BdCountry>> getAllCountryMap() { public R<Map<Integer, BdCountry>> getAllCountryMap() {
return R.ok(countryService.getAllCountryMap()); return R.ok(iBdCountryService.getAllCountryMap());
} }
@Override @Override
public R<Boolean> updateConfigEffectById(Integer businessType, Integer pkId) { public R<Boolean> updateConfigEffectById(Integer businessType, Integer pkId) {
if(EDelayBusType.COUNTRY.getValue() == businessType){ if (EDelayBusType.COUNTRY.getValue() == businessType) {
countryService.updateCountryId(pkId); iBdCountryService.updateCountryId(pkId);
}else if(EDelayBusType.CURRENCY.getValue() == businessType){ } else if (EDelayBusType.CURRENCY.getValue() == businessType) {
currencyService.updateCurrencyById(pkId); iBdCurrencyService.updateCurrencyById(pkId);
}else if(EDelayBusType.ACCOUNT.getValue() == businessType){ } else if (EDelayBusType.ACCOUNT.getValue() == businessType) {
accountService.updateAccountById(pkId); iBdAccountService.updateAccountById(pkId);
} }
return R.ok(); return R.ok();
} }

View File

@ -1,35 +1,26 @@
package com.hzs.system.config.mapper; package com.hzs.system.config.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.config.BdRange; import com.hzs.common.domain.system.config.BdRange;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
/** /**
* <p>
* 极差配置 Mapper 接口 * 极差配置 Mapper 接口
* </p>
*
* @author zhangjing
* @since 2022-09-09
*/ */
public interface BdRangeMapper extends BaseMapper<BdRange> { public interface BdRangeMapper extends BaseMapper<BdRange> {
/** /**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键 * 查询各个国家极差的配置 键为 国家+极差类型+等级主键
*
* @param pkCountry 国家 * @param pkCountry 国家
* @param rangeType 极差类型 * @param rangeType 极差类型
* @param pkLevel 等级 * @param pkLevel 等级
* @return: Map<String,RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/ */
List<RangeDTO> queryRangeDto(@Param("pkCountry") Integer pkCountry, List<RangeDTO> queryRangeDto(@Param("pkCountry") Integer pkCountry,
@Param("rangeType") Integer rangeType, @Param("pkLevel") Integer pkLevel); @Param("rangeType") Integer rangeType,
@Param("pkLevel") Integer pkLevel);
} }

View File

@ -1,12 +1,9 @@
package com.hzs.system.config.provider; package com.hzs.system.config.provider;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.common.domain.system.config.ext.BdRangeExt; import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.IBonusItemsServiceApi;
import com.hzs.system.config.IRangeServiceApi; import com.hzs.system.config.IRangeServiceApi;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
import com.hzs.system.config.service.IBdBonusItemsService;
import com.hzs.system.config.service.IBdRangeService; import com.hzs.system.config.service.IBdRangeService;
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;
@ -15,37 +12,27 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @description: 极差配置 * 极差配置
* @author: zhang jing
* @date: 2022/11/10 17:02
* @param:
* @return:
**/ **/
@DubboService @DubboService
public class RangeServiceProvider implements IRangeServiceApi { public class RangeServiceProvider implements IRangeServiceApi {
@Autowired @Autowired
private IBdRangeService rangeService; private IBdRangeService iBdRangeService;
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/9/29 15:17
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdAwards>>
**/
@Override @Override
public R<List<BdRangeExt>> queryRange(Integer pkCountry) { public R<List<BdRangeExt>> queryRange(Integer pkCountry) {
return R.ok(rangeService.queryRange(pkCountry)); return R.ok(iBdRangeService.queryRange(pkCountry));
} }
@Override @Override
public R<Map<String, RangeDTO>> queryRangeDto() { public R<Map<String, RangeDTO>> queryRangeDto() {
return R.ok(rangeService.queryRangeDto()); return R.ok(iBdRangeService.queryRangeDto());
} }
@Override @Override
public R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel) { public R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel) {
return R.ok(rangeService.getRangeDTO(pkCountry, rangeType, pkLevel)); return R.ok(iBdRangeService.getRangeDTO(pkCountry, rangeType, pkLevel));
} }
} }

View File

@ -1,69 +1,45 @@
package com.hzs.system.config.service; package com.hzs.system.config.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdRange; import com.hzs.common.domain.system.config.BdRange;
import com.hzs.common.domain.system.config.ext.BdRangeExt; import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* <p>
* 极差配置 服务类 * 极差配置 服务类
* </p>
*
* @author zhangjing
* @since 2022-09-09
*/ */
public interface IBdRangeService extends IService<BdRange> { public interface IBdRangeService extends IService<BdRange> {
/** /**
* @description: 新增极差 * 新增极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/ **/
boolean saveRange(BdRangeExt rangeExt); boolean saveRange(BdRangeExt rangeExt);
/** /**
* @description: 修改极差 * 修改极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/ **/
boolean updateRange(BdRangeExt rangeExt); boolean updateRange(BdRangeExt rangeExt);
/** /**
* @description: 根据国家查询极差配置列表 * 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/11/11 18:02
* @param: [pkCountry]
* @return: java.util.List<com.hzs.common.domain.system.config.BdRange>
**/ **/
List<BdRangeExt> queryRange(Integer pkCountry); List<BdRangeExt> queryRange(Integer pkCountry);
/** /**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键 * 查询各个国家极差的配置 键为 国家+极差类型+等级主键
* @return: Map<String,RangeDTO> */
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
Map<String, RangeDTO> queryRangeDto(); Map<String, RangeDTO> queryRangeDto();
/** /**
* 根据类型获取极差等级 * 根据类型获取极差等级
*
* @param pkCountry 国家 * @param pkCountry 国家
* @param rangeType 极差类型 * @param rangeType 极差类型
* @param pkLevel 等级 * @param pkLevel 等级
* @return: RangeDTO */
* @Author: sui q
* @Date: 2023/2/4 15:54
*/
RangeDTO getRangeDTO(Integer pkCountry, Integer rangeType, Integer pkLevel); RangeDTO getRangeDTO(Integer pkCountry, Integer rangeType, Integer pkLevel);
} }

View File

@ -2,25 +2,22 @@ package com.hzs.system.config.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.Constants; import com.hzs.common.core.constant.Constants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*; import com.hzs.common.core.enums.*;
import com.hzs.common.core.service.RedisService; import com.hzs.common.core.service.RedisService;
import com.hzs.common.domain.system.config.BdRange; import com.hzs.common.domain.system.config.BdRange;
import com.hzs.common.domain.system.config.BdRangeDetails; import com.hzs.common.domain.system.config.BdRangeDetails;
import com.hzs.common.domain.system.config.ext.BdRangeExt; import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.base.ITransactionServiceApi;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
import com.hzs.system.config.mapper.BdRangeMapper; import com.hzs.system.config.mapper.BdRangeMapper;
import com.hzs.system.config.service.IBdRangeDetailsService; import com.hzs.system.config.service.IBdRangeDetailsService;
import com.hzs.system.config.service.IBdRangeService; import com.hzs.system.config.service.IBdRangeService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,45 +25,23 @@ import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
* <p>
* 极差配置 服务实现类 * 极差配置 服务实现类
* </p>
*
* @author zhangjing
* @since 2022-09-09
*/ */
@Slf4j @Slf4j
@Service @Service
public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> implements IBdRangeService { public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> implements IBdRangeService {
@Autowired @Autowired
private IBdRangeDetailsService rangeDetailsService; private IBdRangeDetailsService iBdRangeDetailsService;
@DubboReference @Autowired
private ITransactionServiceApi iTransactionServiceApi;
private RedisService redisService; private RedisService redisService;
@Autowired
public void setRedisService(RedisService redisService) {
this.redisService = redisService;
}
/**
* @description: 新增极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/
@Override @Override
public boolean saveRange(BdRangeExt rangeExt) { public boolean saveRange(BdRangeExt rangeExt) {
//字段翻译保存到数据库 //字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(rangeExt.getPkCountry(), ETransactionKey.RANGE, LambdaQueryWrapper<BdRange> queryWrapper = new LambdaQueryWrapper<>();
rangeExt.getRangeName(), EYesNo.YES, EYesNo.NO); queryWrapper.eq(BdRange::getPkCountry, rangeExt.getPkCountry());
rangeExt.setPkTransaction(pkTransaction.getData()); queryWrapper.eq(BdRange::getRangeValue, rangeExt.getRangeValue());
QueryWrapper<BdRange> queryWrapper = new QueryWrapper();
queryWrapper.eq("PK_COUNTRY", rangeExt.getPkCountry());
queryWrapper.eq("RANGE_VALUE", rangeExt.getRangeValue());
List<BdRange> list = baseMapper.selectList(queryWrapper); List<BdRange> list = baseMapper.selectList(queryWrapper);
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
baseMapper.insert(rangeExt); baseMapper.insert(rangeExt);
@ -81,7 +56,7 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry()); rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId()); rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date()); rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails); iBdRangeDetailsService.save(rangeDetails);
} }
//奖衔 //奖衔
for (Integer aw : awardsList) { for (Integer aw : awardsList) {
@ -92,31 +67,20 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry()); rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId()); rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date()); rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails); iBdRangeDetailsService.save(rangeDetails);
} }
} }
redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry()); redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry());
return true; return true;
} }
/**
* @description: 修改极差
* @author: zhang jing
* @date: 2022/10/28 14:23
* @param: [rangeExt]
* @return: boolean
**/
@Override @Override
public boolean updateRange(BdRangeExt rangeExt) { public boolean updateRange(BdRangeExt rangeExt) {
//字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(rangeExt.getPkCountry(), ETransactionKey.RANGE,
rangeExt.getRangeName(), EYesNo.YES, EYesNo.NO);
rangeExt.setPkTransaction(pkTransaction.getData());
baseMapper.updateById(rangeExt); baseMapper.updateById(rangeExt);
UpdateWrapper<BdRangeDetails> updateWrapper = new UpdateWrapper(); LambdaUpdateWrapper<BdRangeDetails> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set("DEL_FLAG", EYesNo.NO.getIntValue()); updateWrapper.set(BdRangeDetails::getDelFlag, EYesNo.NO.getIntValue());
updateWrapper.eq("PK_RANGE", rangeExt.getPkId()); updateWrapper.eq(BdRangeDetails::getPkRange, rangeExt.getPkId());
rangeDetailsService.update(updateWrapper); iBdRangeDetailsService.update(updateWrapper);
List<Integer> gradeList = rangeExt.getGradeList(); List<Integer> gradeList = rangeExt.getGradeList();
List<Integer> awardsList = rangeExt.getAwardsList(); List<Integer> awardsList = rangeExt.getAwardsList();
//等级 //等级
@ -128,7 +92,7 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry()); rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId()); rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date()); rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails); iBdRangeDetailsService.save(rangeDetails);
} }
//奖衔 //奖衔
for (Integer aw : awardsList) { for (Integer aw : awardsList) {
@ -139,30 +103,20 @@ public class BdRangeServiceImpl extends ServiceImpl<BdRangeMapper, BdRange> impl
rangeDetails.setPkCountry(SecurityUtils.getPkCountry()); rangeDetails.setPkCountry(SecurityUtils.getPkCountry());
rangeDetails.setPkCreator(SecurityUtils.getUserId()); rangeDetails.setPkCreator(SecurityUtils.getUserId());
rangeDetails.setCreationTime(new Date()); rangeDetails.setCreationTime(new Date());
rangeDetailsService.save(rangeDetails); iBdRangeDetailsService.save(rangeDetails);
} }
redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry()); redisService.deleteObject(CacheConstants.BD_RANGE + rangeExt.getPkCountry());
return true; return true;
} }
/**
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/11/11 18:07
* @param: [pkCountry]
* @return: java.util.List<com.hzs.common.domain.system.config.BdRange>
**/
@Override @Override
public List<BdRangeExt> queryRange(Integer pkCountry) { public List<BdRangeExt> queryRange(Integer pkCountry) {
// redisService.deleteObject(CacheConstants.BD_RANGE + pkCountry);
List<BdRangeExt> rangeList = redisService.getCacheList(CacheConstants.BD_RANGE + pkCountry); List<BdRangeExt> rangeList = redisService.getCacheList(CacheConstants.BD_RANGE + pkCountry);
log.info("测试:"+rangeList);
List<BdRangeExt> rangeListNew = new ArrayList<>(); List<BdRangeExt> rangeListNew = new ArrayList<>();
if (CollectionUtil.isEmpty(rangeList)) { if (CollectionUtil.isEmpty(rangeList)) {
QueryWrapper<BdRange> queryWrapper = new QueryWrapper<>(); LambdaQueryWrapper<BdRange> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq("PK_COUNTRY", pkCountry); queryWrapper.eq(BdRange::getPkCountry, pkCountry);
queryWrapper.orderByDesc("CREATION_TIME"); queryWrapper.orderByDesc(BdRange::getCreationTime);
List<BdRange> list = baseMapper.selectList(queryWrapper); List<BdRange> list = baseMapper.selectList(queryWrapper);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
list.forEach(item -> rangeListNew.add(BeanUtil.copyProperties(item, BdRangeExt.class))); list.forEach(item -> rangeListNew.add(BeanUtil.copyProperties(item, BdRangeExt.class)));

View File

@ -7,11 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @Description: 会员菜单VO * 会员菜单VO
* @Author: jiang chao
* @Time: 2023/1/12 15:32
* @Classname: ApiMenuVO
* @PackageName: com.hzs.system.config.vo
*/ */
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor

View File

@ -4,17 +4,17 @@
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.hzs.common.domain.system.config.BdRange"> <resultMap id="BaseResultMap" type="com.hzs.common.domain.system.config.BdRange">
<id column="PK_ID" property="pkId" /> <id column="PK_ID" property="pkId"/>
<result column="DEL_FLAG" property="delFlag" /> <result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry" /> <result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator" /> <result column="PK_CREATOR" property="pkCreator"/>
<result column="CREATION_TIME" property="creationTime" /> <result column="CREATION_TIME" property="creationTime"/>
<result column="PK_MODIFIED" property="pkModified" /> <result column="PK_MODIFIED" property="pkModified"/>
<result column="MODIFIED_TIME" property="modifiedTime" /> <result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="RANGE_NAME" property="rangeName" /> <result column="RANGE_NAME" property="rangeName"/>
<result column="PK_TRANSACTION" property="pkTransaction" /> <result column="PK_TRANSACTION" property="pkTransaction"/>
<result column="MONEY_RATIO" property="moneyRatio" /> <result column="MONEY_RATIO" property="moneyRatio"/>
<result column="ACHIEVE_RATIO" property="achieveRatio" /> <result column="ACHIEVE_RATIO" property="achieveRatio"/>
</resultMap> </resultMap>
<select id="queryRangeDto" resultType="com.hzs.system.config.dto.RangeDTO"> <select id="queryRangeDto" resultType="com.hzs.system.config.dto.RangeDTO">

View File

@ -6,12 +6,6 @@ import lombok.Getter;
/** /**
* 商品权限类型枚举 * 商品权限类型枚举
*
* @author: sui q
* @time: 2022/8/27 10:26
* @description: 商品权限类型
* @classname: EWaresPermissionType
* @package_name: com.hzs.common.core.enums
*/ */
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter

View File

@ -7,8 +7,6 @@ import com.hzs.common.core.web.page.TableSupport;
/** /**
* 分页工具类 * 分页工具类
*
* @author hzs
*/ */
public class PageUtils extends PageHelper { public class PageUtils extends PageHelper {

View File

@ -1,17 +1,11 @@
package com.hzs.common.domain.sale.wares.ext; package com.hzs.common.domain.sale.wares.ext;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @description: 商品权限控制 * 商品权限控制
* @author: sui q
* @time: 2023/9/5 19:47
* @classname: WaresGradeAwards
* @package_name: com.hzs.common.domain.sale.wares.ext
* version 1.0.0
*/ */
@Data @Data
public class WaresGradeAwards implements Serializable { public class WaresGradeAwards implements Serializable {