## Opt - 体系banner

This commit is contained in:
sangelxiu1 2025-07-29 10:05:52 +08:00 committed by cabbage
parent 484dcd2cf9
commit 3579c136d0
12 changed files with 83 additions and 25 deletions

View File

@ -12,6 +12,6 @@ public interface AdvertBannerServiceApi {
* *
* @return * @return
*/ */
R<List<AdvertBannerDTO>> findAll(); R<List<AdvertBannerDTO>> findAll(Long userId);
} }

View File

@ -514,7 +514,7 @@ public class ApiBdWaresController extends BaseController {
waresShowMap = waresShowMapDto.getData(); waresShowMap = waresShowMapDto.getData();
} }
// 查询全部的banner (登录后banner) // 查询全部的banner (登录后banner)
R<List<AdvertBannerDTO>> advertBannerList = advertBannerServiceApi.findAll(); R<List<AdvertBannerDTO>> advertBannerList = advertBannerServiceApi.findAll(SecurityUtils.getUserId());
// 查询app端首页商品展示信息 // 查询app端首页商品展示信息
RecommendWaresInfoVo recommendWaresInfoVo = iBdWaresService.queryRecommendInfo(pkCountry, memberCode, userId, waresShowMap); RecommendWaresInfoVo recommendWaresInfoVo = iBdWaresService.queryRecommendInfo(pkCountry, memberCode, userId, waresShowMap);
if (recommendWaresInfoVo.getWaresVoList() != null) { if (recommendWaresInfoVo.getWaresVoList() != null) {

View File

@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.config.dto.AdvertBannerDTO; import com.hzs.system.config.dto.AdvertBannerDTO;
import com.hzs.system.config.service.IBdAdvertBannerService; import com.hzs.system.config.service.IBdAdvertBannerService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -32,7 +33,7 @@ public class ApiBannerController extends BaseController {
*/ */
@GetMapping("/list") @GetMapping("/list")
public AjaxResult list() { public AjaxResult list() {
List<BdAdvertBanner> bannerList = iBdAdvertBannerService.listData(null); List<BdAdvertBanner> bannerList = iBdAdvertBannerService.listData(null, SecurityUtils.getUserId());
if (CollectionUtil.isNotEmpty(bannerList)) { if (CollectionUtil.isNotEmpty(bannerList)) {
return AjaxResult.success(bannerList.stream().map(advertBanner -> BeanUtil.copyProperties(advertBanner, AdvertBannerDTO.class)).collect(Collectors.toList())); return AjaxResult.success(bannerList.stream().map(advertBanner -> BeanUtil.copyProperties(advertBanner, AdvertBannerDTO.class)).collect(Collectors.toList()));
} }

View File

@ -6,6 +6,7 @@ import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.config.service.IBdAdvertBannerService; import com.hzs.system.config.service.IBdAdvertBannerService;
import com.hzs.system.config.vo.ApiAdvertBannerVO; import com.hzs.system.config.vo.ApiAdvertBannerVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -38,7 +39,7 @@ public class ApiBdAdvertBannerController extends BaseController {
**/ **/
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(BdAdvertBanner banner) { public TableDataInfo list(BdAdvertBanner banner) {
List<BdAdvertBanner> list = advertBannerService.listData(banner); List<BdAdvertBanner> list = advertBannerService.listData(banner, SecurityUtils.getUserId());
return getDataTable(list); return getDataTable(list);
} }
@ -52,7 +53,7 @@ public class ApiBdAdvertBannerController extends BaseController {
// 返回结果 // 返回结果
List<ApiAdvertBannerVO> resultList = new ArrayList<>(); List<ApiAdvertBannerVO> resultList = new ArrayList<>();
List<BdAdvertBanner> list = advertBannerService.listData(null); List<BdAdvertBanner> list = advertBannerService.listData(null, SecurityUtils.getUserId());
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class); resultList = BeanUtil.copyToList(list, ApiAdvertBannerVO.class);
} }

View File

@ -44,20 +44,21 @@ public class BdAdvertBannerController extends BaseController {
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(BdAdvertBannerExt advertBannerExt) { public TableDataInfo list(BdAdvertBannerExt advertBannerExt) {
startPage(); startPage();
QueryWrapper<BdAdvertBanner> queryWrapper = new QueryWrapper<>(); // QueryWrapper<BdAdvertBanner> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotNull(advertBannerExt.getPosition())) { // if (StringUtils.isNotNull(advertBannerExt.getPosition())) {
queryWrapper.eq("POSITION", advertBannerExt.getPosition()); // queryWrapper.eq("POSITION", advertBannerExt.getPosition());
} // }
if (StringUtils.isNotNull(advertBannerExt.getStartDate()) // if (StringUtils.isNotNull(advertBannerExt.getStartDate())
&& StringUtils.isNotNull(advertBannerExt.getEndDate())) { // && StringUtils.isNotNull(advertBannerExt.getEndDate())) {
queryWrapper.between("CREATION_TIME", advertBannerExt.getStartDate(), advertBannerExt.getEndDate()); // queryWrapper.between("CREATION_TIME", advertBannerExt.getStartDate(), advertBannerExt.getEndDate());
} // }
if (StringUtils.isNotNull(advertBannerExt.getStartEffectiveDate()) // if (StringUtils.isNotNull(advertBannerExt.getStartEffectiveDate())
&& StringUtils.isNotNull(advertBannerExt.getEndEffectiveDate())) { // && StringUtils.isNotNull(advertBannerExt.getEndEffectiveDate())) {
queryWrapper.between("EFFECTIVE_DATE", advertBannerExt.getStartEffectiveDate(), advertBannerExt.getEndEffectiveDate()); // queryWrapper.between("EFFECTIVE_DATE", advertBannerExt.getStartEffectiveDate(), advertBannerExt.getEndEffectiveDate());
} // }
queryWrapper.orderByAsc("SORT"); // queryWrapper.orderByAsc("SORT");
List<BdAdvertBanner> list = advertBannerService.list(queryWrapper); // List<BdAdvertBanner> list = advertBannerService.list(queryWrapper);
List<BdAdvertBanner> list = advertBannerService.getList(advertBannerExt);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
for (BdAdvertBanner bdAdvertBanner : list) { for (BdAdvertBanner bdAdvertBanner : list) {
EPositionTwo ePositionTwo = EPositionTwo.getEnumByValue(bdAdvertBanner.getPosition()); EPositionTwo ePositionTwo = EPositionTwo.getEnumByValue(bdAdvertBanner.getPosition());

View File

@ -3,6 +3,10 @@ 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.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@ -13,5 +17,5 @@ import com.hzs.common.domain.system.config.BdAdvertBanner;
* @since 2023-04-13 * @since 2023-04-13
*/ */
public interface BdAdvertBannerMapper extends BaseMapper<BdAdvertBanner> { public interface BdAdvertBannerMapper extends BaseMapper<BdAdvertBanner> {
List<BdAdvertBanner> getList(@Param("param")BdAdvertBannerExt param);
} }

View File

@ -26,10 +26,10 @@ public class AdvertBannerServiceProvider implements AdvertBannerServiceApi {
* @return * @return
*/ */
@Override @Override
public R<List<AdvertBannerDTO>> findAll() { public R<List<AdvertBannerDTO>> findAll(Long userId) {
List<AdvertBannerDTO> bannerDTOList = new ArrayList<>(); List<AdvertBannerDTO> bannerDTOList = new ArrayList<>();
List<BdAdvertBanner> bannerList = advertBannerService.listData(null); List<BdAdvertBanner> bannerList = advertBannerService.listData(null, userId);
if (CollectionUtil.isNotEmpty(bannerList)) { if (CollectionUtil.isNotEmpty(bannerList)) {
bannerDTOList = bannerList.stream().map(advertBanner -> BeanUtil.copyProperties(advertBanner, AdvertBannerDTO.class)).collect(Collectors.toList()); bannerDTOList = bannerList.stream().map(advertBanner -> BeanUtil.copyProperties(advertBanner, AdvertBannerDTO.class)).collect(Collectors.toList());
} }

View File

@ -2,6 +2,8 @@ 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.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -16,6 +18,7 @@ public interface IBdAdvertBannerService extends IService<BdAdvertBanner> {
* @param banner 查询banner * @param banner 查询banner
* @return * @return
*/ */
List<BdAdvertBanner> listData(BdAdvertBanner banner); List<BdAdvertBanner> listData(BdAdvertBanner banner, Long userId);
List<BdAdvertBanner> getList(BdAdvertBannerExt param);
} }

View File

@ -1,15 +1,23 @@
package com.hzs.system.config.service.impl; package com.hzs.system.config.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.enums.EPositionTwo; import com.hzs.common.core.enums.EPositionTwo;
import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.system.config.BdAdvertBanner; import com.hzs.common.domain.system.config.BdAdvertBanner;
import com.hzs.common.domain.system.config.ext.BdAdvertBannerExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.system.config.mapper.BdAdvertBannerMapper; import com.hzs.system.config.mapper.BdAdvertBannerMapper;
import com.hzs.system.config.service.IBdAdvertBannerService; import com.hzs.system.config.service.IBdAdvertBannerService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -19,8 +27,10 @@ import java.util.List;
@Service @Service
public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper, BdAdvertBanner> implements IBdAdvertBannerService { public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper, BdAdvertBanner> implements IBdAdvertBannerService {
@DubboReference
IMemberServiceApi iMemberServiceApi;
@Override @Override
public List<BdAdvertBanner> listData(BdAdvertBanner banner) { public List<BdAdvertBanner> listData(BdAdvertBanner banner, Long userId) {
if (null == banner) { if (null == banner) {
banner = new BdAdvertBanner(); banner = new BdAdvertBanner();
} }
@ -32,10 +42,21 @@ public class BdAdvertBannerServiceImpl extends ServiceImpl<BdAdvertBannerMapper,
// 默认首页的banner // 默认首页的banner
queryWrapper.eq(BdAdvertBanner::getPosition, EPositionTwo.POSITION_ONE.getValue()); queryWrapper.eq(BdAdvertBanner::getPosition, EPositionTwo.POSITION_ONE.getValue());
} }
CuMember cuMember = iMemberServiceApi.getMember(userId).getData();
if(ObjectUtil.isEmpty(cuMember)){
queryWrapper.isNull(BdAdvertBanner::getPkVertex);
}else{
queryWrapper.and(qw -> qw.isNull(BdAdvertBanner::getPkVertex).or().eq(BdAdvertBanner::getPkVertex, cuMember.getPkVertex()));
}
queryWrapper.eq(BdAdvertBanner::getPkCountry, CountryConstants.CHINA_COUNTRY); queryWrapper.eq(BdAdvertBanner::getPkCountry, CountryConstants.CHINA_COUNTRY);
queryWrapper.lt(BdAdvertBanner::getEffectiveDate, new Date()); queryWrapper.lt(BdAdvertBanner::getEffectiveDate, new Date());
queryWrapper.orderByAsc(BdAdvertBanner::getSort); queryWrapper.orderByAsc(BdAdvertBanner::getSort);
return this.list(); return this.list(queryWrapper);
}
@Override
public List<BdAdvertBanner> getList(BdAdvertBannerExt param) {
return baseMapper.getList(param);
} }
} }

View File

@ -28,5 +28,24 @@
PK_MODIFIED, PK_MODIFIED,
PK_ID, POSITION, EFFECTIVE_DATE, SORT, PICTURE, LINK PK_ID, POSITION, EFFECTIVE_DATE, SORT, PICTURE, LINK
</sql> </sql>
<select id="getList" resultType="com.hzs.common.domain.system.config.BdAdvertBanner">
select bab.*, bv.VERTEX_NAME as vertexName from BD_ADVERT_BANNER bab
left join BD_VERTEX bv on bv.pk_id = bab.PK_VERTEX
where 1=1
<if test="param.position != null">
and bab.position = #{position}
</if>
<if test="param.startDate != null and param.endDate != null">
and bab.CREATION_TIME between #{param.startDate} and #{param.endDate}
</if>
<if test="param.startEffectiveDate != null and param.endEffectiveDate != null">
and bab.effectiveDate between #{param.startEffectiveDate} and #{param.endEffectiveDate}
</if>
<if test="param.pkVertex != null">
and bab.PK_VERTEX = #{param.pkVertex}
</if>
and bab.del_flag = 0
order by bab.sort asc
</select>
</mapper> </mapper>

View File

@ -72,5 +72,10 @@ public class BdAdvertBanner extends BaseEntity {
@TableField("LINK") @TableField("LINK")
private String link; private String link;
@TableField("PK_VERTEX")
private Integer pkVertex;
@TableField(exist = false)
private String vertexName;
} }

View File

@ -0,0 +1,3 @@
ALTER TABLE "BD_ADVERT_BANNER"
ADD ("PK_VERTEX" NUMBER(6,0));
COMMENT ON COLUMN "BD_ADVERT_BANNER"."PK_VERTEX" IS '体系ID';