785834757 2 лет назад
Родитель
Сommit
86161260f4

+ 50 - 0
src/main/java/com/ydtech/modules/admin/controller/SysPosterController.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.admin.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysPoster;
+import com.ydtech.modules.admin.model.vo.SysPosterParamsVo;
+import com.ydtech.modules.admin.model.vo.SysPosterQueryVo;
+import com.ydtech.modules.admin.service.SysPosterService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@RestController
+@RequestMapping("sysPoster")
+@Api(tags = "海报管理控制器")
+public class SysPosterController {
+
+    @Autowired
+    private SysPosterService sysPosterService;
+
+    @GetMapping(value = "/posterList")
+    @ApiOperation(value = "海报列表")
+    public HttpResult<Object> queryList(@RequestBody SysPosterQueryVo sysPoster){
+        return HttpResult.ok(sysPosterService.posterList(sysPoster));
+    }
+
+
+    @GetMapping(value = "/posterListApp")
+    @ApiOperation(value = "App海报列表")
+    public HttpResult<Object> queryListApp(@RequestBody SysPosterQueryVo sysPoster){
+        //App取消分页
+        sysPoster.setPageSize(10000);
+        return HttpResult.ok(sysPosterService.posterList(sysPoster));
+    }
+
+    @PostMapping(value = "/addPoster")
+    @ApiOperation(value = "添加海报")
+    public HttpResult<Object> addPoster(@RequestBody SysPosterParamsVo sysPosterParamsVo){
+        return sysPosterService.save(sysPosterParamsVo.getType(),sysPosterParamsVo.getIds())?HttpResult.ok("添加成功"):HttpResult.error("添加失败");
+    }
+
+    @PostMapping(value = "/delPoster")
+    @ApiOperation(value = "删除海报")
+    public HttpResult<Object> delPoster(String id){
+        return sysPosterService.removeById(id)?HttpResult.ok("删除成功"):HttpResult.error("删除失败");
+    }
+}

+ 19 - 0
src/main/java/com/ydtech/modules/admin/dao/SysPosterMapper.java

@@ -0,0 +1,19 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.SysPoster;
+import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.vo.SysPosterParamsVo;
+import com.ydtech.modules.admin.model.vo.SysPosterQueryVo;
+
+import java.util.List;
+
+
+public interface SysPosterMapper extends BaseMapper<SysPoster> {
+
+    List<SysPoster> posterList(SysPosterQueryVo sysPoster);
+
+}
+
+
+

+ 36 - 0
src/main/java/com/ydtech/modules/admin/model/SysPoster.java

@@ -0,0 +1,36 @@
+package com.ydtech.modules.admin.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class SysPoster implements Serializable {
+
+    private static final long serialVersionUID = 5337067474196628045L;
+
+    @TableId
+    private Long id;
+
+    private String type;
+
+    private String title;
+
+    private String fileId;
+
+    @TableField(exist = false)
+    private String url;
+
+    @TableField(exist = false)
+    private String updateTime;
+
+    @TableField(exist = false)
+    private String username;
+
+}
+
+
+

+ 20 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPosterParamsVo.java

@@ -0,0 +1,20 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SysPosterParamsVo extends PageRequest{
+    /**
+     * 海报类型
+     */
+    @ApiModelProperty("海报类型")
+    private String type;
+
+    /**
+     * 海报文件id
+     */
+    @ApiModelProperty("海报文件id数组")
+    private String[] ids;
+}

+ 22 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysPosterQueryVo.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class SysPosterQueryVo extends PageRequest {
+    private Long id;
+
+    private String type;
+
+    private String title;
+
+    private String fileId;
+
+    private String url;
+
+    private String updateTime;
+
+    private String username;
+}

+ 23 - 0
src/main/java/com/ydtech/modules/admin/service/SysPosterService.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.admin.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.PageRequest;
+import com.ydtech.core.page.PageResult;
+import com.ydtech.modules.admin.model.SysMenu;
+import com.ydtech.modules.admin.model.SysPoster;
+import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.vo.SysPosterQueryVo;
+
+import java.util.List;
+
+public interface SysPosterService extends IService<SysPoster> {
+
+    List<SysPoster> posterList(SysPosterQueryVo sysPoster);
+
+    boolean save(String type,String[] ids);
+
+}
+
+
+

+ 80 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysPosterServiceImpl.java

@@ -0,0 +1,80 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.SysConstants;
+import com.ydtech.core.page.ColumnFilter;
+import com.ydtech.core.page.PageRequest;
+import com.ydtech.core.page.PageResult;
+import com.ydtech.modules.admin.dao.SysPosterMapper;
+import com.ydtech.modules.admin.dao.SysRoleMapper;
+import com.ydtech.modules.admin.model.SysMenu;
+import com.ydtech.modules.admin.model.SysPoster;
+import com.ydtech.modules.admin.model.SysRole;
+import com.ydtech.modules.admin.model.vo.SysPosterQueryVo;
+import com.ydtech.modules.admin.service.SysMenuService;
+import com.ydtech.modules.admin.service.SysPosterService;
+import com.ydtech.modules.admin.service.SysRoleService;
+import com.ydtech.modules.order.entity.po.InsUploadFiles;
+import com.ydtech.modules.order.service.InsUploadFilesService;
+import com.ydtech.utils.StringUtils;
+import com.ydtech.utils.idgen.IdGenerate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+
+@Service
+public class SysPosterServiceImpl extends ServiceImpl<SysPosterMapper, SysPoster>
+        implements SysPosterService {
+
+    @Autowired
+    InsUploadFilesService insUploadFilesService;
+
+    /**
+     * 海报列表
+     * @param sysPoster
+     * @return
+     */
+    public List<SysPoster> posterList(SysPosterQueryVo sysPoster){
+        return this.baseMapper.posterList(sysPoster);
+    }
+
+    /**
+     * 保存海报信息
+     * @param ids
+     * @return
+     */
+    @Override
+    @Transactional
+    public boolean save(String type,String[] ids) {
+        try {
+            List<SysPoster> list = new ArrayList<>();
+            for (String id : ids) {
+                SysPoster sysPoster = new SysPoster();
+                sysPoster.setId(Long.parseLong(IdGenerate.nextId()));
+                sysPoster.setType(type);
+                sysPoster.setFileId(id);
+                InsUploadFiles byId = insUploadFilesService.getById(id);
+                if (Objects.isNull(byId)) {
+                    throw new RuntimeException("上传的图片文件不存在");
+                }
+                sysPoster.setTitle(byId.getFileName());
+                list.add(sysPoster);
+            }
+            this.saveBatch(list);
+            return true;
+        }catch(Exception e){
+            return false;
+        }
+    }
+}
+
+
+

+ 35 - 0
src/main/resources/mapper/modules/admin/SysPosterMapper.xml

@@ -0,0 +1,35 @@
+<?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.ydtech.modules.admin.dao.SysPosterMapper">
+
+    <sql id="Base_Column_List">
+        SELECT
+            sp.id,type,title,file_id,iuf.url,iuf.update_time,iuf.username
+        FROM sys_poster sp,
+             ins_upload_files iuf
+    </sql>
+
+    <sql id="Base_Where">
+        <where>
+            <if test="type != null and type != ''">
+                AND type = #{type}
+            </if>
+            <if test="title != null and title != ''">
+                AND title like CONCAT('%', #{title}, '%')
+            </if>
+        </where>
+    </sql>
+
+    <select id="posterList" resultType="com.ydtech.modules.admin.model.SysPoster">
+        <include refid="Base_Column_List"/>
+        WHERE
+            1=1
+        AND
+            sp.file_id = iuf.id
+        <include refid="Base_Where"/>
+            ORDER BY update_time DESC
+    </select>
+
+</mapper>