Sfoglia il codice sorgente

实现广告的查询

zhoux 2 anni fa
parent
commit
dbf398474d

+ 33 - 0
src/main/java/com/dk/oauth/controller/AdvertisementController.java

@@ -0,0 +1,33 @@
+package com.dk.oauth.controller;
+
+import com.dk.common.response.ResponseResultVO;
+import com.dk.oauth.entity.Advertisement;
+import com.dk.oauth.entity.Company;
+import com.dk.oauth.entity.Trade;
+import com.dk.oauth.service.IAdvertisementService;
+import com.dk.oauth.service.ITradeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "广告管理接口")
+@RestController
+@RequestMapping("/advertisement")
+public class AdvertisementController {
+    /**
+     * 服务对象
+     */
+    @Autowired
+    private IAdvertisementService advertisementService;
+
+    /**
+     * @desc : 查询广告信息
+     * @author : 周兴
+     * @date : 2024/4/1 13:32
+     */
+    @PostMapping({"/list_by"})
+    public ResponseResultVO<?> selectByCond(@RequestBody Advertisement advertisement) {
+        return advertisementService.selectByCond(advertisement);
+    }
+}

+ 210 - 0
src/main/java/com/dk/oauth/entity/Advertisement.java

@@ -0,0 +1,210 @@
+package com.dk.oauth.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.IntListTypeHandler;
+import com.dk.common.infrastructure.handler.StringListTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.apache.poi.util.IntList;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 广告管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("广告管理")
+@TableName(value = "t_mst_advertisement", schema = "dkic_m", autoResultMap = true)
+@ApiModel(value = "实体类:广告管理", description = "表名:t_mst_advertisement")
+public class Advertisement extends PageInfo<Advertisement> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 广告管理ID
+     */
+    @ApiModelProperty(value = "广告管理ID")
+    private String adId;
+
+
+    /**
+     * 广告路径
+     */
+    @Excel(name = "广告路径")
+    @ApiModelProperty(value = "广告路径")
+    private String adPath;
+
+
+    /**
+     * 广告管理名称
+     */
+    @Excel(name = "广告管理名称")
+    @ApiModelProperty(value = "广告管理名称")
+    private String adName;
+
+
+    /**
+     * 广告描述
+     */
+    @Excel(name = "广告描述")
+    @ApiModelProperty(value = "广告描述")
+    private String adDescribe;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startDate;
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endDate;
+
+    /**
+     * 应用代码
+     */
+    @Excel(name = "应用代码")
+    @ApiModelProperty(value = "应用代码")
+    private String appCode;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> gradeCodes;
+
+
+    /**
+     * 投放企业
+     */
+    @Excel(name = "投放企业")
+    @ApiModelProperty(value = "投放企业")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cp_ids;
+
+
+    /**
+     * 人显示顺序
+     */
+    @Excel(name = "显示顺序")
+    @ApiModelProperty(value = "显示顺序")
+    private Boolean displayNo;
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 207 - 0
src/main/java/com/dk/oauth/entity/AdvertisementResponse.java

@@ -0,0 +1,207 @@
+package com.dk.oauth.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.IntListTypeHandler;
+import com.dk.common.infrastructure.handler.StringListTypeHandler;
+import com.dk.common.infrastructure.handler.TimestampTypeHandler;
+import com.dk.common.infrastructure.handler.UuidTypeHandler;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 广告管理
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("广告管理")
+@TableName(value = "t_mst_advertisement", schema = "dkic_m", autoResultMap = true)
+@ApiModel(value = "实体类:广告管理", description = "表名:t_mst_advertisement")
+public class AdvertisementResponse extends PageInfo<AdvertisementResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 广告管理ID
+     */
+    @ApiModelProperty(value = "广告管理ID")
+    private String adId;
+
+
+    /**
+     * 广告路径
+     */
+    @Excel(name = "广告路径")
+    @ApiModelProperty(value = "广告路径")
+    private String adPath;
+
+
+    /**
+     * 广告管理名称
+     */
+    @Excel(name = "广告管理名称")
+    @ApiModelProperty(value = "广告管理名称")
+    private String adName;
+
+
+    /**
+     * 广告描述
+     */
+    @Excel(name = "广告描述")
+    @ApiModelProperty(value = "广告描述")
+    private String adDescribe;
+
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "开始日期")
+    @ApiModelProperty(value = "开始日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate startDate;
+
+    /**
+     * 开始日期
+     */
+    @Excel(name = "截止日期")
+    @ApiModelProperty(value = "截止日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate endDate;
+
+    /**
+     * 应用代码
+     */
+    @Excel(name = "应用代码")
+    @ApiModelProperty(value = "应用代码")
+    private String appCode;
+
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    @TableField(typeHandler = StringListTypeHandler.class)
+    private List<String> gradeCodes;
+
+    /**
+     * 系统版本
+     */
+    @Excel(name = "系统版本")
+    @ApiModelProperty(value = "系统版本")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> cpIds;
+
+
+
+    /**
+     * 人显示顺序
+     */
+    @Excel(name = "显示顺序")
+    @ApiModelProperty(value = "显示顺序")
+    private Integer displayNo;
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 28 - 0
src/main/java/com/dk/oauth/mapper/AdvertisementMapper.java

@@ -0,0 +1,28 @@
+package com.dk.oauth.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dk.oauth.entity.Advertisement;
+import com.dk.oauth.entity.AdvertisementResponse;
+import com.dk.oauth.entity.Trade;
+import org.apache.commons.math3.analysis.function.Add;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author : 周兴
+ * @desc : CompanyMapper
+ * @date : 2024-2-18 15:39
+ */
+public interface AdvertisementMapper extends BaseMapper<Advertisement> {
+
+
+    /**
+     * @desc : 查询数据
+     * @author : 周兴
+     * @date : 2024-04-1 15:21
+     */
+    List<AdvertisementResponse> selectByCond(Advertisement t);
+
+
+}

+ 18 - 0
src/main/java/com/dk/oauth/service/IAdvertisementService.java

@@ -0,0 +1,18 @@
+package com.dk.oauth.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.oauth.entity.Advertisement;
+
+/**
+ * 广告管理接口
+ *
+ * @author 周兴
+ * @since 2023-07-01 09:41:05
+ */
+public interface IAdvertisementService extends IService<Advertisement> {
+
+    ResponseResultVO selectByCond(Advertisement advertisement);
+
+
+}

+ 33 - 0
src/main/java/com/dk/oauth/service/impl/AdvertisementServiceImpl.java

@@ -0,0 +1,33 @@
+package com.dk.oauth.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.oauth.entity.Advertisement;
+import com.dk.oauth.mapper.AdvertisementMapper;
+import com.dk.oauth.service.IAdvertisementService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * 广告管理接口实现类
+ *
+ * @author admin
+ * @since 2023-07-01 09:41:05
+ */
+@Service("advertisementService")
+public class AdvertisementServiceImpl extends ServiceImpl<AdvertisementMapper, Advertisement> implements IAdvertisementService {
+    @Resource
+    AdvertisementMapper advertisementMapper;
+
+    /**
+     * @desc : 查询广告
+     * @author : 周兴
+     * @date : 2024/4/1 13:32
+     */
+    @Override
+    public ResponseResultVO selectByCond(Advertisement advertisement) {
+        return ResponseResultUtil.success(advertisementMapper.selectByCond(advertisement));
+    }
+}

+ 41 - 0
src/main/resources/mapper/AdvertisementMapper.xml

@@ -0,0 +1,41 @@
+<?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.dk.oauth.mapper.AdvertisementMapper">
+
+
+    <resultMap type="com.dk.oauth.entity.AdvertisementResponse" id="BaseResultMap">
+        <id column="ad_id" property="adId" typeHandler="UuidTypeHandler"/>
+        <result column="ad_path" property="adPath"/>
+        <result column="ad_name" property="adName"/>
+        <result column="ad_describe" property="adDescribe"/>
+        <result column="app_code" property="appCode"/>
+        <result column="start_date" property="startDate" />
+        <result column="end_date" property="endDate" />
+        <result column="cp_ids" property="cpIds" typeHandler="IntListTypeHandler"/>
+        <result column="grade_codes" property="gradeCodes" typeHandler="StringListTypeHandler"/>
+        <result column="display_no" property="displayNo"/>
+    </resultMap>
+
+    <!-- 查询表t_mst_Advertisement -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT t.ad_id,
+               t.ad_path,
+               t.ad_name,
+               t.ad_describe,
+               t.start_date,
+               t.end_date,
+               t.app_code,
+               t.cp_ids,
+               t.grade_codes,
+               t.display_no
+        FROM dkic_a.t_mst_advertisement t
+        WHERE t.flg_valid
+        AND now() &gt;= t.start_date
+        AND (t.end_date IS NULL OR t.end_date &gt;= now())
+        <if test="appCode != null and appCode != ''">
+            And t.app_code = #{appCode}
+        </if>
+        ORDER BY t.display_no
+    </select>
+</mapper>
+