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