记得上下班打卡 | git大法好,push需谨慎

Commit 29a3a130 authored by jiangxiulong's avatar jiangxiulong

banners 前端列表接口搜索 去掉add update缓存操作

parent 55b85202
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 轮播图 banner 搜索 需要的参数 前端api
* </p>
* @author jiangxiulong
* @since 2021-05-10 11:19 上午
*/
@Data
public class BannersApiSearchParam implements Serializable {
@ApiModelProperty(value = "展示的位置", example = "6")
private Integer positionList;
@ApiModelProperty(value = "当前用户省份code", example = "660001")
private Integer provinceCode;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.kylin.mapper.KylinBannersRelationsMapper">
<!-- getBannersRelationsId -->
<select id="getBannersRelationsField" parameterType="java.util.Map" resultType="string">
SELECT ${field}
FROM kylin_banners_relations
<where>
<if test="bannersId != ''">
banners_id=#{bannersId}
</if>
<if test="fieldIdType != ''">
AND field_id_type=#{fieldIdType}
</if>
</where>
</select>
</mapper>
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersApiSearchParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.BannersVo;
import com.liquidnet.service.kylin.dto.vo.PagerVo;
......@@ -34,8 +35,8 @@ public class KylinBannersController {
@PostMapping("")
@ApiOperation(value = "banner列表")
public ResponseDto<List<BannersVo>> blist(@RequestBody BannersSearchParam bannersSearchParam) {
List result = kylinBannersServiceImpl.blist(bannersSearchParam);
public ResponseDto<List<BannersVo>> blist(@RequestBody BannersApiSearchParam bannersApiSearchParam) {
List result = kylinBannersServiceImpl.blist(bannersApiSearchParam);
if (result.size() > 0) {
return ResponseDto.success(result);
......
......@@ -8,6 +8,7 @@ import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersApiSearchParam;
import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.BannersVo;
......@@ -76,18 +77,12 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, createdAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
}
List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) {
for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, createdAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(kylinBannersRelations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, kylinBannersRelations.getBannersRelationsId(), kylinBannersRelations);
}
} else {
provincesList = new ArrayList();
......@@ -142,47 +137,24 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
bannersMapper.update(params, new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId));
List<String> positionList = bannersParam.getPositionList();
// 删除之前的再添加
List<String> relationsIds = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 1);
KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
// 入数据库 先删除之前的
kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 1)
);
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(1)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIds) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
KylinBannersRelations kylinBannersRelations = new KylinBannersRelations();
for (String fieldId : positionList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 1, updatedAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
}
List<String> provincesList = bannersParam.getProvincesList();
if (!provincesList.isEmpty()) {
// 删除之前的再添加
List<String> relationsIdss = kylinBannersRelationsMapper.getBannersRelationsField("banners_relations_id",bannersId, 2);
// 入数据库 先删除之前的
kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 2)
);
mongoTemplate.remove(
Query.query(Criteria.where("bannersId").is(bannersId).and("fieldIdType").is(2)),
KylinBannersRelations.class.getSimpleName()
);
for (String relationsId : relationsIdss) {
redisUtil.hdel(KylinRedisConst.BANNERSRELATIONS, relationsId);
}
for (String fieldId : provincesList) {
KylinBannersRelations relations = kylinBannersRelations.newData(bannersId, fieldId, 2, updatedAtString);
kylinBannersRelationsMapper.insert(relations);
mongoTemplate.insert(relations, KylinBannersRelations.class.getSimpleName());
redisUtil.hset(KylinRedisConst.BANNERSRELATIONS, relations.getBannersRelationsId(), relations);
}
} else {
provincesList = new ArrayList();
......@@ -274,12 +246,13 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
}
public List blist(BannersSearchParam bannersSearchParam) {
public List blist(BannersApiSearchParam bannersApiSearchParam) {
List bannerList = mongoTemplate.find(
Query.query(
Criteria.where("promotionType").is(bannersSearchParam.getPromotionType())
Criteria.where("positionList").is(bannersApiSearchParam.getPositionList())
.and("isOnline").is(1).and("isDeleted").is(1)
.and("positionList").in("11","22")
.and("provinceCode").is(bannersApiSearchParam.getProvinceCode()) // todo 或者类型是全国
// .and("positionList").in("11","22")
),
BannersVo.class,
BannersVo.class.getSimpleName()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment