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

Commit cb21a86f authored by jiangxiulong's avatar jiangxiulong

banner优化 删除redis 增加城市名字 去掉remark 增加sort

parent 2b39e380
......@@ -58,9 +58,6 @@ public class BannersParam implements Serializable {
@ApiModelProperty(value = "排序权重 越大越靠前", example = "100")
private Integer bannersSort;
@ApiModelProperty(value = "备注", example = "这是一个演出推广的banner")
private String remarks;
@ApiModelProperty(value = "展示的位置 多选 数组", example = "[\"1\", \"3\", \"5\", \"6\", \"8\"]")
@NotEmpty(message = "请选择展示位置")
private List<String> positionList;
......
......@@ -51,9 +51,6 @@ public class KylinBannersVo implements Serializable {
@ApiModelProperty(value = "排序权重 越大越靠前")
private Integer bannersSort;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "展示的位置 多选 数组")
private List positionList;
......
......@@ -676,6 +676,19 @@ var table = {
}
});
return selects;
},
selectSelectsOfClassToText: function(name) {
var selects = "";
$('.' + name + ' option:selected').each(function (i) {
if ($(this).val() > 0) {
if (0 == i) {
selects = $(this).text();
} else {
selects += ("," + $(this).text());
}
}
});
return selects;
}
},
// 弹出层封装处理
......
......@@ -85,6 +85,10 @@
field: 'bannersName',
title: '标题'
},
{
field: 'bannersSort',
title: '排序'
},
{
field: 'coverImg',
title: '封面图',
......
......@@ -15,6 +15,12 @@
<input class="form-control" type="text" name="bannersName" id="bannersName" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">排序(越大越靠前):</label>
<div class="col-sm-10">
<input class="form-control" type="text" name="bannersSort" id="bannersSort">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">展示位置</label>
<div class="col-sm-10">
......@@ -24,7 +30,7 @@
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">请选择跳转类型</label>
<label class="col-sm-2 control-label is-required">请选择跳转类型</label>
<div class="col-sm-5">
<select class="form-control" name="targetType" id="targetType">
<option value="">--请选择跳转类型--</option>
......@@ -171,6 +177,10 @@
var provincesList = $.form.selectSelects("provincesList");
data.push({"name": "provincesList", "value": provincesList});*/
var provincesListText = $.form.selectSelectsOfClassToText("provincesList");
if (provincesListText) {
data.push({"name": "provincesNameList", "value": provincesListText});
}
$.operate.save(prefix + "/create", data);
}
}
......
......@@ -16,6 +16,13 @@
id="bannersName" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">排序(越大越靠前):</label>
<div class="col-sm-10">
<input th:value="${KylinBannersVo.bannersSort}" class="form-control" type="text" name="bannersSort"
id="bannersSort">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label is-required">展示位置</label>
<div class="col-sm-10">
......@@ -27,7 +34,7 @@
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">请选择跳转类型</label>
<label class="col-sm-2 control-label is-required">请选择跳转类型</label>
<div class="col-sm-5">
<select class="form-control" name="targetType" id="targetType">
<option value="">--请选择跳转类型--</option>
......@@ -187,7 +194,10 @@
/*data.push({"name": "positionList", "value": positionList});
var provincesList = $.form.selectSelects("provincesList");
data.push({"name": "provincesList", "value": provincesList});*/
var provincesListText = $.form.selectSelectsOfClassToText("provincesList");
if (provincesListText) {
data.push({"name": "provincesNameList", "value": provincesListText});
}
$.operate.save(prefix + "/update", data);
}
}
......
......@@ -97,14 +97,14 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
kylinBannersRelationsMapper.insert(kylinBannersRelations);
}
List<String> provincesList = bannersParam.getProvincesList();
List<String> provincesNameList = bannersParam.getProvincesNameList();
if (!provincesList.isEmpty()) {
for (String fieldId : provincesList) {
kylinBannersRelations.setFieldId(fieldId);
for (int i = 0; i < provincesList.size(); i++) {
kylinBannersRelations.setFieldId(provincesList.get(i));
kylinBannersRelations.setFieldIdType(2);
kylinBannersRelations.setFieldName(provincesNameList.get(i));
kylinBannersRelationsMapper.insert(kylinBannersRelations);
}
} else {
provincesList = new ArrayList();
}
// 处理缓存数据
......@@ -115,8 +115,6 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
// 处理基础数据 防止缓存中无字段
kylinBannersVo.setIsDeleted(1);
kylinBannersVo.setUpdatedAt("");
kylinBannersVo.setPositionList(positionList);
kylinBannersVo.setProvincesList(provincesList);
if (StringUtils.isEmpty(bannersParam.getTargetObj())) {
kylinBannersVo.setTargetObj("");
}
......@@ -129,14 +127,9 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
if (null == bannersParam.getBannersSort()) {
kylinBannersVo.setBannersSort(0);
}
if (StringUtils.isEmpty(bannersParam.getRemarks())) {
kylinBannersVo.setRemarks("");
}
// 入缓存
mongoTemplate.insert(kylinBannersVo, KylinBannersVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.BANNERS.concat(bannersId), kylinBannersVo);
return true;
} catch (Exception e) {
return false;
......@@ -177,26 +170,26 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
kylinBannersRelationsMapper.insert(kylinBannersRelations);
}
List<String> provincesList = bannersParam.getProvincesList();
List<String> provincesNameList = bannersParam.getProvincesNameList();
if (!provincesList.isEmpty()) {
// 入数据库 先删除之前的
kylinBannersRelationsMapper.delete(
new UpdateWrapper<KylinBannersRelations>().eq("banners_id", bannersId).eq("field_id_type", 2)
);
for (String fieldId : provincesList) {
kylinBannersRelations.setFieldId(fieldId);
kylinBannersRelations.setFieldIdType(2);
kylinBannersRelationsMapper.insert(kylinBannersRelations);
if (!provincesList.isEmpty()) {
for (int i = 0; i < provincesList.size(); i++) {
kylinBannersRelations.setFieldId(provincesList.get(i));
kylinBannersRelations.setFieldIdType(2);
kylinBannersRelations.setFieldName(provincesNameList.get(i));
kylinBannersRelationsMapper.insert(kylinBannersRelations);
}
}
} else {
provincesList = new ArrayList();
}
// 处理缓存数据
KylinBannersVo kylinBannersVo = new KylinBannersVo();
BeanUtils.copyProperties(bannersParam, kylinBannersVo);
kylinBannersVo.setBannersId(bannersId);
kylinBannersVo.setUpdatedAt(updatedAtString);
kylinBannersVo.setPositionList(positionList);
kylinBannersVo.setProvincesList(provincesList);
// 修改缓存
BasicDBObject object = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(kylinBannersVo)));
Document doc = mongoTemplate.getCollection(KylinBannersVo.class.getSimpleName()).findOneAndUpdate(
......@@ -205,8 +198,6 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
redisUtil.set(KylinRedisConst.BANNERS.concat(bannersId), JsonUtils.fromJson(doc.toJson(), KylinBannersVo.class));
return true;
} catch (Exception e) {
return false;
......@@ -214,7 +205,9 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
}
public KylinBannersVo detail(String bannersId) {
KylinBanners data = bannersMapper.selectOne(new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId).eq("is_deleted", 1));
KylinBanners data = bannersMapper.selectOne(
new UpdateWrapper<KylinBanners>().eq("banners_id", bannersId).eq("is_deleted", 1)
);
KylinBannersVo kylinBannersVo = new KylinBannersVo();
if (null != data) {
List<String> positionList = kylinBannersRelationsMapper.getBannersRelationsField("field_id", bannersId, 1);
......@@ -224,7 +217,7 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
data.setProvincesList(provincesList);
BeanUtils.copyProperties(data, kylinBannersVo);
}else {
} else {
return null;
}
......@@ -269,24 +262,23 @@ public class KylinBannersServiceImpl extends ServiceImpl<KylinBannersMapper, Kyl
KylinBanners kylinBanners = new KylinBanners();
kylinBanners.setUpdatedAt(updatedAtString);
kylinBanners.setIsDeleted(0);
bannersMapper.update(kylinBanners
, new UpdateWrapper<KylinBanners>().in("banners_id", bannersId));
bannersMapper.update(
kylinBanners
, new UpdateWrapper<KylinBanners>().in("banners_id", bannersId)
);
// mongo 操作
HashMap<String, Object> map = new HashMap<>();
map.put("updatedAt", updatedAtString);
map.put("isDeleted", 0);
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
// redis 操作 后期考虑删除掉 前端取redis不取mongo
for (String id : bannersId) {
Document doc = mongoTemplate.getCollection(KylinBannersVo.class.getSimpleName()).findOneAndUpdate(
Query.query(Criteria.where("bannersId").is(id)).getQueryObject(),
object,
new FindOneAndUpdateOptions().returnDocument(ReturnDocument.AFTER)
);
redisUtil.set(KylinRedisConst.BANNERS.concat(id), JsonUtils.fromJson(doc.toJson(), KylinBannersVo.class));
}
return true;
......
......@@ -76,11 +76,6 @@ public class KylinBanners implements Serializable {
*/
private Integer BannersSort;
/**
* 备注
*/
private String remarks;
/**
* 位置
*/
......
......@@ -38,6 +38,7 @@ public class KylinBannersRelations implements Serializable {
* 展示位置id/推广省份code
*/
private String fieldId;
private String fieldName;
/**
* 关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)
......
......@@ -16,16 +16,16 @@ CREATE TABLE `kylin_banners`
`target_type` smallint NOT NULL DEFAULT 0 COMMENT '跳转类型(由接口提供)',
`target_obj` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转目标 id/url等',
`is_online` tinyint NOT NULL DEFAULT 0 COMMENT '是否上线展示 0下线 1上线',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`online_start_time` timestamp NULL DEFAULT NULL COMMENT '上线开始时间',
`online_end_time` timestamp NULL DEFAULT NULL COMMENT '上线结束时间',
`promotion_type` tinyint NOT NULL DEFAULT 1 COMMENT '推广类型 1全国 2省份',
`banners_sort` int NOT NULL DEFAULT 0 COMMENT '排序 越大越靠前',
`remarks` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 0已删除 1正常',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
KEY `kylin_banners_banners_sort_index` (`banners_sort`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图';
......@@ -37,6 +37,7 @@ CREATE TABLE `kylin_banners_relations`
`banners_relations_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_relations_id',
`banners_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_id',
`field_id` int NOT NULL DEFAULT 0 COMMENT '展示位置id/推广省份code',
`field_name` varchar(255) NOT NULL DEFAULT '' COMMENT '省份名称',
`field_id_type` tinyint NOT NULL DEFAULT 1 COMMENT '关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
......
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