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

Commit c70f7797 authored by jiangxiulong's avatar jiangxiulong

banners 添加/编辑接口重新完善 增加表和字段

parent 96e3957e
......@@ -9,5 +9,6 @@ public class KylinRedisConst {
public static final String TIMES = "kylin:times:id";
public static final String BANNERS = "kylin:banners:id";
public static final String BANNERS = "kylin:banners:banners";
public static final String BANNERSRELATIONS = "kylin:banners:banners_relations";
}
......@@ -6,8 +6,11 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
......@@ -19,39 +22,58 @@ import java.time.LocalDateTime;
@Data
public class BannersParam implements Serializable {
@ApiModelProperty(value = "Banner主键ID", example = "4345ASGMTG66")
@ApiModelProperty(value = "Banner主键ID", example = "9822346783245")
private String bannersId;
@ApiModelProperty(value = "标题", required = true, example = "这是一个banner标题")
private String name;
@NotBlank(message = "请填写标题")
private String bannersName;
@ApiModelProperty(value = "封面图", required = true, example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
@NotBlank(message = "请上传封面图")
private String coverImg;
@ApiModelProperty(value = "跳转目标id或者url", required = true, example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
private String targetId;
@ApiModelProperty(value = "跳转类型 具体类型有接口提供", required = true, example = "6")
@Min(value = 1, message = "请选择跳转类型")
private Integer targetType;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转", required = true, example = "6")
private Integer type;
@ApiModelProperty(value = "跳转目标id或者url 不跳转则为空", example = "https://img.zhengzai.tv/partner/2019/05/14/5cda2d0520177.png")
private String targetObj;
@ApiModelProperty(value = "是否显示 0-否,1-是", required = true, example = "1", allowableValues = "0,1")
private Integer isShow;
@ApiModelProperty(value = "是否上线展示 0下线 1上线", required = true, example = "1", allowableValues = "0,1")
@Min(value = 1, message = "请选择是否上线")
private Integer isOnline;
@ApiModelProperty(value = "展示位置", required = true, example = "1")
private Integer position;
@ApiModelProperty(value = "上线开始时间", example = "2021-05-01 11:22:33")
private String onlineStartTime;
@ApiModelProperty(value = "排序权重 越大越靠前", required = true, example = "100")
private Integer sort;
@ApiModelProperty(value = "上线结束时间", example = "2021-05-01 11:22:33")
private String onlineEndTime;
@ApiModelProperty(value = "推广类型 1全国 2省份", required = true, example = "1", allowableValues = "1,2")
@Min(value = 1, message = "请选择推广类型")
private Integer promotionType;
@ApiModelProperty(value = "排序权重 越大越靠前", example = "100")
private Integer BannersSort;
@ApiModelProperty(value = "备注", example = "这是一个演出推广的banner")
private String comment;
private String remarks;
@ApiModelProperty(value = "展示的位置 多选 数组", example = "[\"1\", \"4\", \"3\"]")
@NotEmpty(message = "请选择展示位置")
private List positionList;
@ApiModelProperty(value = "推广省份 多选 数组", example = "[\"1\", \"4\", \"3\"]")
// @NotEmpty(message = "请选择推广省份")
private List provincesList;
@JsonIgnore
public KylinBanners getFields(String fieldsId, LocalDateTime createdAt) {
public KylinBanners getFields(String bannersId, String createdAt) {
KylinBanners fields = new KylinBanners();
BeanUtils.copyProperties(this, fields);
if (null != fieldsId) {
fields.setBannersId(fieldsId);
if (null != bannersId) {
fields.setBannersId(bannersId);
}
if (null != createdAt) {
fields.setCreatedAt(createdAt);
......
......@@ -3,7 +3,6 @@ package com.liquidnet.service.kylin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.*;
import java.io.Serializable;
......@@ -22,34 +21,34 @@ public class BannersVo implements Serializable {
private String bannersId;
@ApiModelProperty(value = "标题")
@NotBlank(message = "请填写标题")
private String name;
private String bannersName;
@ApiModelProperty(value = "封面图")
@NotBlank(message = "请上传封面图")
private String coverImg;
@ApiModelProperty(value = "跳转类型")
private Integer targetType;
@ApiModelProperty(value = "跳转目标id或者url")
@NotBlank(message = "请填写需要跳转的目标id或urk")
private String targetId;
private String targetObj;
@ApiModelProperty(value = "是否上线展示 0下线 1上线")
private Integer isOnline;
@ApiModelProperty(value = "跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转")
@Min(value = 1, message = "请选择跳转类型")
private Integer type;
@ApiModelProperty(value = "上线开始时间")
private String onlineStartTime;
@ApiModelProperty(value = "是否显示 0-否,1-是")
@Min(value = 1, message = "请选择是否显示")
private Integer isShow;
@ApiModelProperty(value = "上线结束时间")
private String onlineEndTime;
@ApiModelProperty(value = "展示位置")
@Min(value = 1, message = "请选择展示的位置")
private Integer position;
@ApiModelProperty(value = "推广类型 1全国 2省份")
private Integer promotionType;
@ApiModelProperty(value = "排序权重 越大越靠前")
private Integer sort;
private Integer BannersSort;
@ApiModelProperty(value = "备注")
private String comment;
private String remarks;
@ApiModelProperty(value = "是否删除 0已删除,1正常")
private Integer isDeleted;
......
......@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
* 轮播图 服务类
* </p>
*
* @author liquidnet
* @author jiangxiulong
* @since 2021-05-02
*/
public interface IKylinBannersService extends IService<KylinBanners> {
......
......@@ -2,8 +2,8 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -32,7 +32,7 @@ public class KylinBanners implements Serializable {
/**
* 标题
*/
private String name;
private String bannersName;
/**
* 封面图
......@@ -40,34 +40,44 @@ public class KylinBanners implements Serializable {
private String coverImg;
/**
* 跳转id/url
* 跳转类型
*/
private Integer targetType;
/**
* 跳转目标id或者url
*/
private String targetObj;
/**
* 是否上线展示 0下线 1上线
*/
private String targetId;
private Integer isOnline;
/**
* 跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转
* 上线开始时间
*/
private Integer type;
private String onlineStartTime;
/**
* 是否展示
* 上线结束时间
*/
private Integer isShow;
private String onlineEndTime;
/**
* 展示位置
* 推广类型 1全国 2省份
*/
private Integer position;
private Integer promotionType;
/**
* 排序权重
*/
private Integer sort;
private Integer BannersSort;
/**
* comment
* 备注
*/
private String comment;
private String remarks;
/**
* 是否删除 1正常 已删除
......@@ -77,12 +87,12 @@ public class KylinBanners implements Serializable {
/**
* 创建时间
*/
private LocalDateTime createdAt;
private String createdAt;
/**
* 修改时间
*/
private LocalDateTime updatedAt;
private String updatedAt;
}
package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.liquidnet.commons.lang.util.IDGenerator;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
* 轮播图关联表 模型
* </p>
*
* @author jiangxiulong
* @since 2021-05-08
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinBannersRelations implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "mid", type = IdType.AUTO)
private Integer mid;
/**
* banners_relations_id
*/
private String bannersRelationsId;
/**
* banners_id
*/
private String bannersId;
/**
* 展示位置id/推广省份code
*/
private String fieldId;
/**
* 关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)
*/
private int fieldIdType;
/**
* 创建时间
*/
private String createdAt;
/**
* 修改时间
*/
private String updatedAt;
// 整合入库数据
@JsonIgnore
public KylinBannersRelations newData(String bannersId, String fieldId, int fieldIdType, String createdAtString) {
String bannersRelationsId = IDGenerator.nextSnowId().toString();
this.setBannersRelationsId(bannersRelationsId);
this.setBannersId(bannersId);
this.setFieldId(fieldId);
this.setFieldIdType(fieldIdType);
this.setCreatedAt(createdAtString);
return this;
}
}
package com.liquidnet.service.kylin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.liquidnet.service.kylin.dao.BannerRelationsDetailsDao;
import com.liquidnet.service.kylin.entity.KylinBannersRelations;
import java.util.List;
/**
* <p>
* 轮播图关联表 Mapper 接口 处理数据库
* </p>
*
* @author jiangxiulong
* @since 2021-05-08
*/
public interface KylinBannersRelationsMapper extends BaseMapper<KylinBannersRelations> {
//列表
List<String> getBannersRelationsId(String bannersId, int fieldIdType);
}
<?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">
<!-- 详情 -->
<resultMap id="BannersRelationsIdResult" type="com.liquidnet.service.kylin.dao.BannerRelationsDetailsDao">
<result column="banners_relations_id" property="bannersRelationsId"/>
</resultMap>
<!-- getBannersRelationsId -->
<select id="getBannersRelationsId" parameterType="java.util.Map" resultType="string">
SELECT banners_relations_id
FROM kylin_banners_relations
<where>
<if test="bannersId != ''">
banners_id=#{bannersId}
</if>
<if test="fieldIdType != ''">
AND field_id_type=#{fieldIdType}
</if>
</where>
</select>
</mapper>
......@@ -8,24 +8,43 @@ SET NAMES utf8mb4;
drop TABLE if exists `kylin_banners`;
CREATE TABLE `kylin_banners`
(
`mid` int(11) NOT NULL AUTO_INCREMENT,
`mid` int NOT NULL AUTO_INCREMENT,
`banners_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'banners_id',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '标题',
`banners_name` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
`cover_img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
`target_id` varchar(255) NOT NULL DEFAULT '' COMMENT '跳转id/url',
`type` tinyint NOT NULL DEFAULT 0 COMMENT '跳转类型 6演出跳转 7商品跳转 8巡演跳转 12展示分享按钮的web连接 14积分商品详情 100活动跳转 999不跳转 998个人信息跳转',
`is_show` tinyint NOT NULL DEFAULT 0 COMMENT '是否展示',
`position` int(11) NOT NULL DEFAULT 0 COMMENT '展示位置',
`sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序权重',
`comment` varchar(255) NOT NULL DEFAULT '' COMMENT 'comment',
`is_deleted` tinyint NOT NULL DEFAULT 1 COMMENT '是否删除 1正常 0已删除',
`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 '上线结束时间',
`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_uid_index` (`banners_id`),
KEY `kylin_banners_banners_id_index` (`banners_id`),
KEY `kylin_banners_banners_name_index` (`banners_name`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图';
drop TABLE if exists `kylin_banners_relations`;
CREATE TABLE `kylin_banners_relations`
(
`mid` int NOT NULL AUTO_INCREMENT,
`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_id_type` tinyint NOT NULL DEFAULT 1 COMMENT '关联字段类型 1展示位置(由接口提供) 2推广省份(由接口提供)',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
KEY `kylin_banners_relations_banners_relations_id_index` (`banners_relations_id`),
KEY `kylin_banners_relations_banners_id_index` (`banners_id`),
PRIMARY KEY (`mid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT '轮播图 展示位置/推广省份 关联表';
-- 场地
drop TABLE if exists `kylin_fields`;
CREATE TABLE `kylin_fields`
......
......@@ -2,11 +2,11 @@ package com.liquidnet.service.kylin.controller.admin;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.kylin.dao.BannerDetailsDao;
import com.liquidnet.service.kylin.dao.BannerDetailsListDao;
import com.liquidnet.service.kylin.dto.param.BannersParam;
import com.liquidnet.service.kylin.dto.param.BannersSearchParam;
import com.liquidnet.service.kylin.dto.vo.PagerVo;
import com.liquidnet.service.kylin.entity.KylinBanners;
import com.liquidnet.service.kylin.service.impl.admin.KylinBannersServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -27,7 +27,7 @@ import java.util.List;
@Api
@RestController
@RequestMapping("/admin/banners")
@RequestMapping("admin/banners")
public class KylinBannersAdminController {
@Autowired
......@@ -46,19 +46,20 @@ public class KylinBannersAdminController {
@PutMapping("")
@ApiOperation(value = "修改banner")
public ResponseDto<Object> update(@RequestBody BannersParam bannersParam) {
Boolean res = kylinBannersServiceImpl.update(bannersParam);
if (res) {
public ResponseDto<String> update(@RequestBody BannersParam bannersParam) {
String res = kylinBannersServiceImpl.update(bannersParam);
return ResponseDto.failure(res);
/*if (res) {
return ResponseDto.success();
} else {
return ResponseDto.failure("修改banner失败");
}
}*/
}
@GetMapping("{bannersId}")
@ApiOperation(value = "banner详情")
public ResponseDto<BannerDetailsDao> detail(@PathVariable("bannersId") String bannersId) {
BannerDetailsDao result = null;
public ResponseDto<KylinBanners> detail(@PathVariable("bannersId") String bannersId) {
KylinBanners result = null;
result = kylinBannersServiceImpl.detail(bannersId);
if (null != result) {
return ResponseDto.success(result);
......@@ -86,7 +87,7 @@ public class KylinBannersAdminController {
@DeleteMapping("{bannersId}")
@ApiOperation(value = "删除banner")
public ResponseDto<Object> deleteTimes(@PathVariable("bannersId") String bannersId) {
public ResponseDto<Object> delete(@PathVariable("bannersId") String bannersId) {
boolean result = kylinBannersServiceImpl.delete(bannersId);
if (result) {
return ResponseDto.success("删除成功");
......
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