Browse Source

广场舞代码提交

xgb 1 month ago
parent
commit
b9d3ae6f7e

+ 103 - 0
fs-admin/src/main/java/com/fs/app/controller/AccPrizeController.java

@@ -0,0 +1,103 @@
+package com.fs.app.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.activity.domain.AccPrize;
+import com.fs.activity.service.AccPrizeService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 奖品Controller
+ *
+ * @author fs
+ * @date 2026-03-13
+ */
+@RestController
+@RequestMapping("/prize/prize")
+public class AccPrizeController extends BaseController
+{
+    @Autowired
+    private AccPrizeService accPrizeService;
+
+    /**
+     * 查询奖品列表
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AccPrize accPrize)
+    {
+        startPage();
+        List<AccPrize> list = accPrizeService.selectAccPrizeList(accPrize);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出奖品列表
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:export')")
+    @Log(title = "奖品", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(AccPrize accPrize)
+    {
+        List<AccPrize> list = accPrizeService.selectAccPrizeList(accPrize);
+        ExcelUtil<AccPrize> util = new ExcelUtil<AccPrize>(AccPrize.class);
+        return util.exportExcel(list, "奖品数据");
+    }
+
+    /**
+     * 获取奖品详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(accPrizeService.selectAccPrizeById(id));
+    }
+
+    /**
+     * 新增奖品
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:add')")
+    @Log(title = "奖品", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AccPrize accPrize)
+    {
+        return toAjax(accPrizeService.insertAccPrize(accPrize));
+    }
+
+    /**
+     * 修改奖品
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:edit')")
+    @Log(title = "奖品", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AccPrize accPrize)
+    {
+        return toAjax(accPrizeService.updateAccPrize(accPrize));
+    }
+
+    /**
+     * 删除奖品
+     */
+    @PreAuthorize("@ss.hasPermi('prize:prize:remove')")
+    @Log(title = "奖品", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(accPrizeService.deleteAccPrizeByIds(ids));
+    }
+}

+ 5 - 0
fs-service/src/main/java/com/fs/activity/domain/AccActivity.java

@@ -1,9 +1,11 @@
 package com.fs.activity.domain;
 
 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 java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fs.common.core.domain.BaseEntity;
@@ -98,4 +100,7 @@ public class AccActivity extends BaseEntity {
 
     // 是否展示
     private Boolean isShow;
+
+    @TableField(exist = false)
+    private List<AccPrize> prize;
 }

+ 47 - 0
fs-service/src/main/java/com/fs/activity/domain/AccPrize.java

@@ -0,0 +1,47 @@
+package com.fs.activity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+import com.fs.common.core.domain.BaseEntity;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 奖品对象 acc_prize
+ *
+ * @author fs
+ * @date 2026-03-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class AccPrize extends BaseEntity{
+
+    /** 组建id */
+    private Long id;
+
+    /** 奖品编号 */
+    @Excel(name = "奖品编号")
+    private Long prizeId;
+
+    /** 所属活动ID */
+    @Excel(name = "所属活动ID")
+    private Long activityId;
+
+    /** 奖品名称 */
+    @Excel(name = "奖品名称")
+    private String prizeName;
+
+    /** 奖项等级:一等奖/二等奖/三等奖/最佳人气奖/优秀奖等 */
+    @Excel(name = "奖项等级:一等奖/二等奖/三等奖/最佳人气奖/优秀奖等")
+    private String prizeLevel;
+
+    /** 奖品图片URL */
+    @Excel(name = "奖品图片URL")
+    private String prizeUrl;
+
+    /** 排序 */
+    @Excel(name = "排序")
+    private Long sort;
+
+
+}

+ 10 - 0
fs-service/src/main/java/com/fs/activity/domain/AccPrizeInfo.java

@@ -1,6 +1,7 @@
 package com.fs.activity.domain;
 
 import java.util.Date;
+import java.util.HashMap;
 import java.util.Map;
 
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -86,5 +87,14 @@ public class AccPrizeInfo{
     @TableField(exist = false)
     private Map<String, Object> params;
 
+    public Map<String, Object> getParams()
+    {
+        if (params == null)
+        {
+            params = new HashMap<>();
+        }
+        return params;
+    }
+
 
 }

+ 10 - 0
fs-service/src/main/java/com/fs/activity/domain/AccWork.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.Map;
 
 import com.fs.common.core.domain.BaseEntity;
@@ -103,4 +104,13 @@ public class AccWork  {
     @TableField(exist = false)
     private Long userId;
 
+    public Map<String, Object> getParams()
+    {
+        if (params == null)
+        {
+            params = new HashMap<>();
+        }
+        return params;
+    }
+
 }

+ 63 - 0
fs-service/src/main/java/com/fs/activity/mapper/AccPrizeMapper.java

@@ -0,0 +1,63 @@
+package com.fs.activity.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.activity.domain.AccPrize;
+
+/**
+ * 奖品Mapper接口
+ *
+ * @author fs
+ * @date 2026-03-13
+ */
+public interface AccPrizeMapper extends BaseMapper<AccPrize>{
+    /**
+     * 查询奖品
+     *
+     * @param id 奖品主键
+     * @return 奖品
+     */
+    AccPrize selectAccPrizeById(Long id);
+
+    /**
+     * 查询奖品列表
+     *
+     * @param accPrize 奖品
+     * @return 奖品集合
+     */
+    List<AccPrize> selectAccPrizeList(AccPrize accPrize);
+
+    /**
+     * 新增奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    int insertAccPrize(AccPrize accPrize);
+
+    /**
+     * 修改奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    int updateAccPrize(AccPrize accPrize);
+
+    /**
+     * 删除奖品
+     *
+     * @param id 奖品主键
+     * @return 结果
+     */
+    int deleteAccPrizeById(Long id);
+
+    /**
+     * 批量删除奖品
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteAccPrizeByIds(Long[] ids);
+
+    List<AccPrize> selectByActivityId(Long activityId);
+}

+ 61 - 0
fs-service/src/main/java/com/fs/activity/service/AccPrizeService.java

@@ -0,0 +1,61 @@
+package com.fs.activity.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.activity.domain.AccPrize;
+
+/**
+ * 奖品Service接口
+ *
+ * @author fs
+ * @date 2026-03-13
+ */
+public interface AccPrizeService extends IService<AccPrize>{
+    /**
+     * 查询奖品
+     *
+     * @param id 奖品主键
+     * @return 奖品
+     */
+    AccPrize selectAccPrizeById(Long id);
+
+    /**
+     * 查询奖品列表
+     *
+     * @param accPrize 奖品
+     * @return 奖品集合
+     */
+    List<AccPrize> selectAccPrizeList(AccPrize accPrize);
+
+    /**
+     * 新增奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    int insertAccPrize(AccPrize accPrize);
+
+    /**
+     * 修改奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    int updateAccPrize(AccPrize accPrize);
+
+    /**
+     * 批量删除奖品
+     *
+     * @param ids 需要删除的奖品主键集合
+     * @return 结果
+     */
+    int deleteAccPrizeByIds(Long[] ids);
+
+    /**
+     * 删除奖品信息
+     *
+     * @param id 奖品主键
+     * @return 结果
+     */
+    int deleteAccPrizeById(Long id);
+}

+ 7 - 1
fs-service/src/main/java/com/fs/activity/service/impl/AccActivityServiceImpl.java

@@ -2,8 +2,10 @@ package com.fs.activity.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.activity.domain.AccActivity;
+import com.fs.activity.domain.AccPrize;
 import com.fs.activity.domain.AccTeam;
 import com.fs.activity.domain.AccWork;
+import com.fs.activity.mapper.AccPrizeMapper;
 import com.fs.activity.service.AccActivityService;
 import com.fs.activity.mapper.AccActivityMapper;
 import com.fs.common.core.domain.R;
@@ -45,7 +47,8 @@ public class AccActivityServiceImpl extends ServiceImpl<AccActivityMapper, AccAc
     private RedisTemplate redisTemplate;
 
     @Autowired
-    private uniPush2Service uniPush2Service;
+    private AccPrizeMapper accPrizeMapper;
+
 
     /**
      * 查询活动
@@ -191,6 +194,9 @@ public class AccActivityServiceImpl extends ServiceImpl<AccActivityMapper, AccAc
         // 缓存中没有,查询数据库
         accActivity = baseMapper.selectAccActivityById(activityId);
         if (accActivity != null) {
+            // 查询奖品信息
+            List<AccPrize> accPrizes=accPrizeMapper.selectByActivityId(activityId);
+            accActivity.setPrize(accPrizes);
             // 放入缓存,有效期 1 天
             redisTemplate.opsForValue().set(cacheKey, accActivity, 1, TimeUnit.DAYS);
         }

+ 2 - 1
fs-service/src/main/java/com/fs/activity/service/AccPrizeInfoServiceImpl.java → fs-service/src/main/java/com/fs/activity/service/impl/AccPrizeInfoServiceImpl.java

@@ -1,7 +1,8 @@
-package com.fs.activity.service;
+package com.fs.activity.service.impl;
 
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fs.activity.service.AccPrizeInfoService;
 import org.springframework.stereotype.Service;
 import com.fs.activity.mapper.AccPrizeInfoMapper;
 import com.fs.activity.domain.AccPrizeInfo;

+ 93 - 0
fs-service/src/main/java/com/fs/activity/service/impl/AccPrizeServiceImpl.java

@@ -0,0 +1,93 @@
+package com.fs.activity.service.impl;
+
+import java.util.List;
+import com.fs.common.utils.DateUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.fs.activity.mapper.AccPrizeMapper;
+import com.fs.activity.domain.AccPrize;
+import com.fs.activity.service.AccPrizeService;
+
+/**
+ * 奖品Service业务层处理
+ *
+ * @author fs
+ * @date 2026-03-13
+ */
+@Service
+public class AccPrizeServiceImpl extends ServiceImpl<AccPrizeMapper, AccPrize> implements AccPrizeService {
+
+    /**
+     * 查询奖品
+     *
+     * @param id 奖品主键
+     * @return 奖品
+     */
+    @Override
+    public AccPrize selectAccPrizeById(Long id)
+    {
+        return baseMapper.selectAccPrizeById(id);
+    }
+
+    /**
+     * 查询奖品列表
+     *
+     * @param accPrize 奖品
+     * @return 奖品
+     */
+    @Override
+    public List<AccPrize> selectAccPrizeList(AccPrize accPrize)
+    {
+        return baseMapper.selectAccPrizeList(accPrize);
+    }
+
+    /**
+     * 新增奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    @Override
+    public int insertAccPrize(AccPrize accPrize)
+    {
+        accPrize.setCreateTime(DateUtils.getNowDate());
+        return baseMapper.insertAccPrize(accPrize);
+    }
+
+    /**
+     * 修改奖品
+     *
+     * @param accPrize 奖品
+     * @return 结果
+     */
+    @Override
+    public int updateAccPrize(AccPrize accPrize)
+    {
+        accPrize.setUpdateTime(DateUtils.getNowDate());
+        return baseMapper.updateAccPrize(accPrize);
+    }
+
+    /**
+     * 批量删除奖品
+     *
+     * @param ids 需要删除的奖品主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAccPrizeByIds(Long[] ids)
+    {
+        return baseMapper.deleteAccPrizeByIds(ids);
+    }
+
+    /**
+     * 删除奖品信息
+     *
+     * @param id 奖品主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAccPrizeById(Long id)
+    {
+        return baseMapper.deleteAccPrizeById(id);
+    }
+}

+ 98 - 0
fs-service/src/main/resources/mapper/activity/AccPrizeMapper.xml

@@ -0,0 +1,98 @@
+<?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.fs.activity.mapper.AccPrizeMapper">
+
+    <resultMap type="AccPrize" id="AccPrizeResult">
+        <result property="id"    column="id"    />
+        <result property="prizeId"    column="prize_id"    />
+        <result property="activityId"    column="activity_id"    />
+        <result property="prizeName"    column="prize_name"    />
+        <result property="prizeLevel"    column="prize_level"    />
+        <result property="prizeUrl"    column="prize_url"    />
+        <result property="sort"    column="sort"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectAccPrizeVo">
+        select id, prize_id, activity_id, prize_name, prize_level, prize_url, sort, create_by, update_by, create_time, update_time from acc_prize
+    </sql>
+
+    <select id="selectAccPrizeList" parameterType="AccPrize" resultMap="AccPrizeResult">
+        <include refid="selectAccPrizeVo"/>
+        <where>
+            <if test="prizeId != null "> and prize_id = #{prizeId}</if>
+            <if test="activityId != null "> and activity_id = #{activityId}</if>
+            <if test="prizeName != null  and prizeName != ''"> and prize_name like concat('%', #{prizeName}, '%')</if>
+            <if test="prizeUrl != null  and prizeUrl != ''"> and prize_url = #{prizeUrl}</if>
+        </where>
+    </select>
+
+    <select id="selectAccPrizeById" parameterType="Long" resultMap="AccPrizeResult">
+        <include refid="selectAccPrizeVo"/>
+        where id = #{id}
+    </select>
+    <select id="selectByActivityId" resultType="com.fs.activity.domain.AccPrize">
+        <include refid="selectAccPrizeVo"/> where activity_id = #{activityId} order by  sort
+    </select>
+
+    <insert id="insertAccPrize" parameterType="AccPrize" useGeneratedKeys="true" keyProperty="id">
+        insert into acc_prize
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="prizeId != null">prize_id,</if>
+            <if test="activityId != null">activity_id,</if>
+            <if test="prizeName != null and prizeName != ''">prize_name,</if>
+            <if test="prizeLevel != null">prize_level,</if>
+            <if test="prizeUrl != null and prizeUrl != ''">prize_url,</if>
+            <if test="sort != null">sort,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="prizeId != null">#{prizeId},</if>
+            <if test="activityId != null">#{activityId},</if>
+            <if test="prizeName != null and prizeName != ''">#{prizeName},</if>
+            <if test="prizeLevel != null">#{prizeLevel},</if>
+            <if test="prizeUrl != null and prizeUrl != ''">#{prizeUrl},</if>
+            <if test="sort != null">#{sort},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAccPrize" parameterType="AccPrize">
+        update acc_prize
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="prizeId != null">prize_id = #{prizeId},</if>
+            <if test="activityId != null">activity_id = #{activityId},</if>
+            <if test="prizeName != null and prizeName != ''">prize_name = #{prizeName},</if>
+            <if test="prizeLevel != null">prize_level = #{prizeLevel},</if>
+            <if test="prizeUrl != null and prizeUrl != ''">prize_url = #{prizeUrl},</if>
+            <if test="sort != null">sort = #{sort},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAccPrizeById" parameterType="Long">
+        delete from acc_prize where id = #{id}
+    </delete>
+
+    <delete id="deleteAccPrizeByIds" parameterType="String">
+        delete from acc_prize where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 2 - 2
fs-service/src/main/resources/mapper/activity/AccWorkMapper.xml

@@ -39,8 +39,8 @@
             <if test="activityId != null "> and activity_id = #{activityId}</if>
             <if test="workName != null  and workName != ''"> and work_name like concat('%', #{workName}, '%')</if>
             <if test="status != null "> and status = #{status}</if>
-            <if test="params.beginAuditTime != null and params.beginAuditTime != '' and params.endAuditTime != null and params.endAuditTime != ''"> and audit_time between #{params.beginAuditTime} and #{params.endAuditTime}</if>
-            <if test="params.beginCreatedAt != null and params.beginCreatedAt != '' and params.endCreatedAt != null and params.endCreatedAt != ''"> and created_at between #{params.beginCreatedAt} and #{params.endCreatedAt}</if>
+            <if test="params.beginAuditTime != null  and params.endAuditTime != null "> and audit_time between #{params.beginAuditTime} and #{params.endAuditTime}</if>
+            <if test="params.beginCreatedAt != null  and params.endCreatedAt != null "> and created_at between #{params.beginCreatedAt} and #{params.endCreatedAt}</if>
         </where>
     </select>