Explorar o código

Merge remote-tracking branch 'origin/Payment-Configuration' into Payment-Configuration

yys hai 1 mes
pai
achega
412e57b01d

+ 103 - 0
fs-admin/src/main/java/com/fs/app/controller/AccPrizeInfoController.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.AccPrizeInfo;
+import com.fs.activity.service.AccPrizeInfoService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * 获奖记录Controller
+ *
+ * @author fs
+ * @date 2026-03-12
+ */
+@RestController
+@RequestMapping("/prizeInfo/prizeInfo")
+public class AccPrizeInfoController extends BaseController
+{
+    @Autowired
+    private AccPrizeInfoService accPrizeInfoService;
+
+    /**
+     * 查询获奖记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AccPrizeInfo accPrizeInfo)
+    {
+        startPage();
+        List<AccPrizeInfo> list = accPrizeInfoService.selectAccPrizeInfoList(accPrizeInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出获奖记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:export')")
+    @Log(title = "获奖记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(AccPrizeInfo accPrizeInfo)
+    {
+        List<AccPrizeInfo> list = accPrizeInfoService.selectAccPrizeInfoList(accPrizeInfo);
+        ExcelUtil<AccPrizeInfo> util = new ExcelUtil<AccPrizeInfo>(AccPrizeInfo.class);
+        return util.exportExcel(list, "获奖记录数据");
+    }
+
+    /**
+     * 获取获奖记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(accPrizeInfoService.selectAccPrizeInfoById(id));
+    }
+
+    /**
+     * 新增获奖记录
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:add')")
+    @Log(title = "获奖记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AccPrizeInfo accPrizeInfo)
+    {
+        return toAjax(accPrizeInfoService.insertAccPrizeInfo(accPrizeInfo));
+    }
+
+    /**
+     * 修改获奖记录
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:edit')")
+    @Log(title = "获奖记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AccPrizeInfo accPrizeInfo)
+    {
+        return toAjax(accPrizeInfoService.updateAccPrizeInfo(accPrizeInfo));
+    }
+
+    /**
+     * 删除获奖记录
+     */
+    @PreAuthorize("@ss.hasPermi('prizeInfo:prizeInfo:remove')")
+    @Log(title = "获奖记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(accPrizeInfoService.deleteAccPrizeInfoByIds(ids));
+    }
+}

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

@@ -0,0 +1,90 @@
+package com.fs.activity.domain;
+
+import java.util.Date;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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_info
+ *
+ * @author fs
+ * @date 2026-03-12
+ */
+@Data
+public class AccPrizeInfo{
+
+    /** 主键ID */
+    private Long id;
+
+    /** 活动ID */
+    @Excel(name = "活动ID")
+    private Long activityId;
+
+    /** 团队ID */
+    @Excel(name = "团队ID")
+    private Long teamId;
+
+    /** 领奖用户id */
+    @Excel(name = "领奖用户id")
+    private Long userId;
+
+    /** $column.columnComment */
+    @Excel(name = "领奖用户id")
+    private Long companyId;
+
+    /** $column.columnComment */
+    @Excel(name = "领奖用户id")
+    private Long companyUserId;
+
+    /** 奖品ID */
+    @Excel(name = "奖品ID")
+    private Long prizeId;
+
+    /** 获奖时奖品名称 */
+    @Excel(name = "获奖时奖品名称")
+    private String prizeName;
+
+    /** 奖项等级 */
+    @Excel(name = "奖项等级")
+    private String prizeLevel;
+
+    /** 状态:0-待审核 1-审核通过 2-已发货 3-已完成 4-已取消 */
+    @Excel(name = "状态:0-待审核 1-审核通过 2-已发货 3-已完成 4-已取消")
+    private Integer status;
+
+    /** 审核备注 */
+    @Excel(name = "审核备注")
+    private String auditRemark;
+
+    /** 审核时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date auditTime;
+
+    /** 审核人ID */
+    @Excel(name = "审核人ID")
+    private Long auditorId;
+
+    /** $column.columnComment */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核人ID", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdTime;
+
+    /** $column.columnComment */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "审核人ID", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedTime;
+
+    /** 请求参数 */
+    @TableField(exist = false)
+    private Map<String, Object> params;
+
+
+}

+ 64 - 0
fs-service/src/main/java/com/fs/activity/mapper/AccPrizeInfoMapper.java

@@ -0,0 +1,64 @@
+package com.fs.activity.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.activity.domain.AccPrizeInfo;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 获奖记录Mapper接口
+ *
+ * @author fs
+ * @date 2026-03-12
+ */
+public interface AccPrizeInfoMapper extends BaseMapper<AccPrizeInfo>{
+    /**
+     * 查询获奖记录
+     *
+     * @param id 获奖记录主键
+     * @return 获奖记录
+     */
+    AccPrizeInfo selectAccPrizeInfoById(Long id);
+
+    /**
+     * 查询获奖记录列表
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 获奖记录集合
+     */
+    List<AccPrizeInfo> selectAccPrizeInfoList(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 新增获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    int insertAccPrizeInfo(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 修改获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    int updateAccPrizeInfo(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 删除获奖记录
+     *
+     * @param id 获奖记录主键
+     * @return 结果
+     */
+    int deleteAccPrizeInfoById(Long id);
+
+    /**
+     * 批量删除获奖记录
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteAccPrizeInfoByIds(Long[] ids);
+
+    AccPrizeInfo selectByUserIdAndActivityId(@Param("userId") Long userId,@Param("activityId") Long activityId);
+}

+ 5 - 0
fs-service/src/main/java/com/fs/activity/param/AccWorkRequest.java

@@ -30,4 +30,9 @@ public class AccWorkRequest {
 
     private Long userId;
 
+    private Long teamId;
+
+    // 状态:0-待审核 1-已通过 2-已驳回 3-已下架
+    private String status;
+
 }

+ 2 - 0
fs-service/src/main/java/com/fs/activity/service/AccActivityService.java

@@ -73,4 +73,6 @@ public interface AccActivityService extends IService<AccActivity> {
     R updateActivityShow(Long activityId, long userId);
 
     R imMsg(AccTeam accWork);
+
+    R checkBindCompanyUser(Long leaderId);
 }

+ 61 - 0
fs-service/src/main/java/com/fs/activity/service/AccPrizeInfoService.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.AccPrizeInfo;
+
+/**
+ * 获奖记录Service接口
+ *
+ * @author fs
+ * @date 2026-03-12
+ */
+public interface AccPrizeInfoService extends IService<AccPrizeInfo>{
+    /**
+     * 查询获奖记录
+     *
+     * @param id 获奖记录主键
+     * @return 获奖记录
+     */
+    AccPrizeInfo selectAccPrizeInfoById(Long id);
+
+    /**
+     * 查询获奖记录列表
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 获奖记录集合
+     */
+    List<AccPrizeInfo> selectAccPrizeInfoList(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 新增获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    int insertAccPrizeInfo(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 修改获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    int updateAccPrizeInfo(AccPrizeInfo accPrizeInfo);
+
+    /**
+     * 批量删除获奖记录
+     *
+     * @param ids 需要删除的获奖记录主键集合
+     * @return 结果
+     */
+    int deleteAccPrizeInfoByIds(Long[] ids);
+
+    /**
+     * 删除获奖记录信息
+     *
+     * @param id 获奖记录主键
+     * @return 结果
+     */
+    int deleteAccPrizeInfoById(Long id);
+}

+ 89 - 0
fs-service/src/main/java/com/fs/activity/service/AccPrizeInfoServiceImpl.java

@@ -0,0 +1,89 @@
+package com.fs.activity.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.fs.activity.mapper.AccPrizeInfoMapper;
+import com.fs.activity.domain.AccPrizeInfo;
+
+/**
+ * 获奖记录Service业务层处理
+ *
+ * @author fs
+ * @date 2026-03-12
+ */
+@Service
+public class AccPrizeInfoServiceImpl extends ServiceImpl<AccPrizeInfoMapper, AccPrizeInfo> implements AccPrizeInfoService {
+
+    /**
+     * 查询获奖记录
+     *
+     * @param id 获奖记录主键
+     * @return 获奖记录
+     */
+    @Override
+    public AccPrizeInfo selectAccPrizeInfoById(Long id)
+    {
+        return baseMapper.selectAccPrizeInfoById(id);
+    }
+
+    /**
+     * 查询获奖记录列表
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 获奖记录
+     */
+    @Override
+    public List<AccPrizeInfo> selectAccPrizeInfoList(AccPrizeInfo accPrizeInfo)
+    {
+        return baseMapper.selectAccPrizeInfoList(accPrizeInfo);
+    }
+
+    /**
+     * 新增获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    @Override
+    public int insertAccPrizeInfo(AccPrizeInfo accPrizeInfo)
+    {
+        return baseMapper.insertAccPrizeInfo(accPrizeInfo);
+    }
+
+    /**
+     * 修改获奖记录
+     *
+     * @param accPrizeInfo 获奖记录
+     * @return 结果
+     */
+    @Override
+    public int updateAccPrizeInfo(AccPrizeInfo accPrizeInfo)
+    {
+        return baseMapper.updateAccPrizeInfo(accPrizeInfo);
+    }
+
+    /**
+     * 批量删除获奖记录
+     *
+     * @param ids 需要删除的获奖记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAccPrizeInfoByIds(Long[] ids)
+    {
+        return baseMapper.deleteAccPrizeInfoByIds(ids);
+    }
+
+    /**
+     * 删除获奖记录信息
+     *
+     * @param id 获奖记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAccPrizeInfoById(Long id)
+    {
+        return baseMapper.deleteAccPrizeInfoById(id);
+    }
+}

+ 26 - 0
fs-service/src/main/java/com/fs/activity/service/impl/AccActivityServiceImpl.java

@@ -7,6 +7,8 @@ import com.fs.activity.domain.AccWork;
 import com.fs.activity.service.AccActivityService;
 import com.fs.activity.mapper.AccActivityMapper;
 import com.fs.common.core.domain.R;
+import com.fs.course.domain.FsUserCompanyUser;
+import com.fs.course.mapper.FsUserCompanyUserMapper;
 import com.fs.gtPush.service.uniPush2Service;
 import com.fs.his.enums.PushLogDesTypeEnum;
 import com.fs.im.service.OpenIMService;
@@ -36,6 +38,9 @@ public class AccActivityServiceImpl extends ServiceImpl<AccActivityMapper, AccAc
     @Autowired
     private OpenIMService openIMService;
 
+    @Autowired
+    private FsUserCompanyUserMapper fsUserCompanyUserMapper;
+
     @Autowired
     private RedisTemplate redisTemplate;
 
@@ -215,6 +220,27 @@ public class AccActivityServiceImpl extends ServiceImpl<AccActivityMapper, AccAc
         return null;
     }
 
+    /**
+     * @Description: 检查用户是否已经绑定销售
+     * @Param:
+     * @Return:
+     * @Author xgb
+     * @Date 2026/3/12 14:16
+     */
+
+    @Override
+    public R checkBindCompanyUser(Long userId) {
+
+        FsUserCompanyUser companyUser = new FsUserCompanyUser();
+        companyUser.setUserId(userId);
+        companyUser.setStatus(1);
+        List<FsUserCompanyUser> users=fsUserCompanyUserMapper.selectFsUserCompanyUserList(companyUser);
+        if(users== null || users.isEmpty()){
+            return R.error("请先添加销售app好友");
+        }
+        return R.ok().put("data",users);
+    }
+
 
 }
 

+ 73 - 2
fs-service/src/main/java/com/fs/activity/service/impl/AccTeamServiceImpl.java

@@ -3,8 +3,10 @@ package com.fs.activity.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.activity.domain.AccActivity;
+import com.fs.activity.domain.AccPrizeInfo;
 import com.fs.activity.domain.AccTeam;
 import com.fs.activity.domain.AccTeamMember;
+import com.fs.activity.mapper.AccPrizeInfoMapper;
 import com.fs.activity.mapper.AccTeamMemberMapper;
 import com.fs.activity.param.AccTeamMemberRequest;
 import com.fs.activity.service.AccActivityService;
@@ -12,17 +14,23 @@ import com.fs.activity.service.AccTeamService;
 import com.fs.activity.mapper.AccTeamMapper;
 import com.fs.activity.utils.CodeGenerator;
 import com.fs.common.core.domain.R;
+import com.fs.course.domain.FsUserCompanyUser;
 import com.fs.im.service.OpenIMService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 /**
 * @author Administrator
 * @description 针对表【acc_team(团队表)】的数据库操作Service实现
 * @createDate 2026-03-05 14:33:08
 */
 @Service
+@Slf4j
 public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
     implements AccTeamService{
 
@@ -35,6 +43,9 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
     @Autowired
     private OpenIMService openIMService;
 
+    @Autowired
+    private AccPrizeInfoMapper accPrizeInfoMapper;
+
     private final static Integer TEAM_MAX_MEMBER_COUNT = 26;
 
     /**
@@ -67,12 +78,18 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
     @Transactional
     public R signUpLeader(AccTeam accTeam) {
 
-
+        // 1.检查活动状态
         R r=accActivityService.checkActivitySignUpStatus(accTeam.getActivityId());
         if(!r.get("code").equals(200)){
             return r;
         }
 
+        // 2.检查是否绑定销售
+        r=accActivityService.checkBindCompanyUser(accTeam.getLeaderId());
+        if(!r.get("code").equals(200)){
+            return r;
+        }
+
         accTeam.setTeamCode(CodeGenerator.generateTeamCode(accTeam.getActivityId()));
         accTeam.setMemberCount(1);
         if(baseMapper.insert(accTeam)<=0){
@@ -88,6 +105,11 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
             throw new RuntimeException("创建队员失败");
         }
 
+
+        // 申请领取参与奖
+        List<FsUserCompanyUser> userCompanyUserList = (List<FsUserCompanyUser>)r.get("data");
+        registerPrizeInfo(accTeam.getActivityId(),accTeam.getLeaderId(),accTeam.getId(),  userCompanyUserList);
+
         // 异步发送im消息推送
         String userId=String.valueOf(accTeam.getLeaderId());
         StringBuilder textBuilder=new StringBuilder();
@@ -99,6 +121,43 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
         return R.ok().put("data",accTeam);
     }
 
+
+    /**
+     * @Description: 登记奖励信息
+     * @Param:
+     * @Return:
+     * @Author xgb
+     * @Date 2026/3/12 18:18
+     */
+    @Async
+    public void registerPrizeInfo(Long activityId, Long userId, Long teamId, List<FsUserCompanyUser> userCompanyUserList) {
+        AccPrizeInfo info=accPrizeInfoMapper.selectByUserIdAndActivityId(userId,activityId);
+        if (info != null ) {
+            log.error("用户已领取过奖品,不进行重新登记");
+            return;
+        }
+        // 登记信息领取报名奖励
+        AccPrizeInfo accPrizeInfo = new AccPrizeInfo();
+        accPrizeInfo.setActivityId(activityId);
+        accPrizeInfo.setTeamId(teamId);
+        accPrizeInfo.setUserId(userId);
+        accPrizeInfo.setPrizeId(0L); // 参与奖登记 0
+        accPrizeInfo.setPrizeName("健步鞋"); // 健步鞋
+        accPrizeInfo.setPrizeLevel("参与奖");
+        accPrizeInfo.setStatus(0);// 待审核
+        if(userCompanyUserList.size()>1){
+            String auditRemark="该用户为多项目用户,请审核!";
+            accPrizeInfo.setAuditRemark(auditRemark);
+        }else {
+            accPrizeInfo.setCompanyId(userCompanyUserList.get(0).getCompanyId());
+            accPrizeInfo.setCompanyUserId(userCompanyUserList.get(0).getCompanyUserId());
+        }
+        if(accPrizeInfoMapper.insert(accPrizeInfo)<=0){
+            throw new RuntimeException("创建报名奖励失败");
+        }
+    }
+
+
     /**
      * @Description: 普通队员报名
      * @Param:
@@ -114,6 +173,12 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
             return r;
         }
 
+        // 2.检查是否绑定销售
+        r=accActivityService.checkBindCompanyUser(accTeam.getUserId());
+        if(!r.get("code").equals(200)){
+            return r;
+        }
+
         // 获取领队信息 更具队伍码
         AccTeam team=baseMapper.selectOne(new LambdaQueryWrapper<AccTeam>()
                 .eq(AccTeam::getTeamCode, accTeam.getTeamCode()));
@@ -173,6 +238,11 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
             }
         }
 
+        // 申请领取参与奖
+        List<FsUserCompanyUser> userCompanyUserList = (List<FsUserCompanyUser>)r.get("data");
+        registerPrizeInfo(accTeam.getActivityId(),accTeam.getUserId(),team.getId(),  userCompanyUserList);
+
+
         // 异步发送im消息推送
         String userId=String.valueOf(accTeam.getUserId());
         StringBuilder textBuilder=new StringBuilder();
@@ -200,7 +270,8 @@ public class AccTeamServiceImpl extends ServiceImpl<AccTeamMapper, AccTeam>
 
         AccTeam team=baseMapper.selectTeamByUserIdAndActivityId(userId,activityId);
         if (team== null){
-            return R.error().put("msg","您没有加入任何队伍");
+            // 前端需要通过201状态区分队伍是否创建
+            return R.error(201,"您没有加入任何队伍");
         }
 
         return R.ok().put("team",team);

+ 125 - 0
fs-service/src/main/resources/mapper/activity/AccPrizeInfoMapper.xml

@@ -0,0 +1,125 @@
+<?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.AccPrizeInfoMapper">
+
+    <resultMap type="AccPrizeInfo" id="AccPrizeInfoResult">
+        <result property="id"    column="id"    />
+        <result property="activityId"    column="activity_id"    />
+        <result property="teamId"    column="team_id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="companyUserId"    column="company_user_id"    />
+        <result property="prizeId"    column="prize_id"    />
+        <result property="prizeName"    column="prize_name"    />
+        <result property="prizeLevel"    column="prize_level"    />
+        <result property="status"    column="status"    />
+        <result property="auditRemark"    column="audit_remark"    />
+        <result property="auditTime"    column="audit_time"    />
+        <result property="auditorId"    column="auditor_id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="createdTime"    column="created_time"    />
+        <result property="updatedTime"    column="updated_time"    />
+    </resultMap>
+
+    <sql id="selectAccPrizeInfoVo">
+        select id, activity_id, team_id, user_id, company_id, company_user_id, prize_id, prize_name, prize_level, status, audit_remark, audit_time, auditor_id, create_by, update_by, created_time, updated_time from acc_prize_info
+    </sql>
+
+    <select id="selectAccPrizeInfoList" parameterType="AccPrizeInfo" resultMap="AccPrizeInfoResult">
+        <include refid="selectAccPrizeInfoVo"/>
+        <where>
+            <if test="activityId != null "> and activity_id = #{activityId}</if>
+            <if test="teamId != null "> and team_id = #{teamId}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="companyId != null "> and company_id = #{companyId}</if>
+            <if test="companyUserId != null "> and company_user_id = #{companyUserId}</if>
+            <if test="status != null "> and status = #{status}</if>
+            <if test="params.beginCreatedTime != null and params.beginCreatedTime != '' and params.endCreatedTime != null and params.endCreatedTime != ''"> and created_time between #{params.beginCreatedTime} and #{params.endCreatedTime}</if>
+        </where>
+    </select>
+
+    <select id="selectAccPrizeInfoById" parameterType="Long" resultMap="AccPrizeInfoResult">
+        <include refid="selectAccPrizeInfoVo"/>
+        where id = #{id}
+    </select>
+    <select id="selectByUserIdAndActivityId" resultType="com.fs.activity.domain.AccPrizeInfo">
+        <include refid="selectAccPrizeInfoVo"/> where user_id = #{userId} and activity_id = #{activityId} and prize_id = 0
+    </select>
+
+    <insert id="insertAccPrizeInfo" parameterType="AccPrizeInfo" useGeneratedKeys="true" keyProperty="id">
+        insert into acc_prize_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="activityId != null">activity_id,</if>
+            <if test="teamId != null">team_id,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="companyId != null">company_id,</if>
+            <if test="companyUserId != null">company_user_id,</if>
+            <if test="prizeId != null">prize_id,</if>
+            <if test="prizeName != null">prize_name,</if>
+            <if test="prizeLevel != null">prize_level,</if>
+            <if test="status != null">status,</if>
+            <if test="auditRemark != null">audit_remark,</if>
+            <if test="auditTime != null">audit_time,</if>
+            <if test="auditorId != null">auditor_id,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="createdTime != null">created_time,</if>
+            <if test="updatedTime != null">updated_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="activityId != null">#{activityId},</if>
+            <if test="teamId != null">#{teamId},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="companyId != null">#{companyId},</if>
+            <if test="companyUserId != null">#{companyUserId},</if>
+            <if test="prizeId != null">#{prizeId},</if>
+            <if test="prizeName != null">#{prizeName},</if>
+            <if test="prizeLevel != null">#{prizeLevel},</if>
+            <if test="status != null">#{status},</if>
+            <if test="auditRemark != null">#{auditRemark},</if>
+            <if test="auditTime != null">#{auditTime},</if>
+            <if test="auditorId != null">#{auditorId},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="createdTime != null">#{createdTime},</if>
+            <if test="updatedTime != null">#{updatedTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAccPrizeInfo" parameterType="AccPrizeInfo">
+        update acc_prize_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="activityId != null">activity_id = #{activityId},</if>
+            <if test="teamId != null">team_id = #{teamId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="companyId != null">company_id = #{companyId},</if>
+            <if test="companyUserId != null">company_user_id = #{companyUserId},</if>
+            <if test="prizeId != null">prize_id = #{prizeId},</if>
+            <if test="prizeName != null">prize_name = #{prizeName},</if>
+            <if test="prizeLevel != null">prize_level = #{prizeLevel},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="auditRemark != null">audit_remark = #{auditRemark},</if>
+            <if test="auditTime != null">audit_time = #{auditTime},</if>
+            <if test="auditorId != null">auditor_id = #{auditorId},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="createdTime != null">created_time = #{createdTime},</if>
+            <if test="updatedTime != null">updated_time = #{updatedTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAccPrizeInfoById" parameterType="Long">
+        delete from acc_prize_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAccPrizeInfoByIds" parameterType="String">
+        delete from acc_prize_info where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

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

@@ -53,10 +53,16 @@
         <include refid="selectAccWorkVo"/> where team_id = #{teamId} and activity_id = #{activityId}
     </select>
     <select id="selectListForApp" resultType="com.fs.activity.domain.AccWork">
-        <include refid="selectAccWorkVo"/> where status = 1 and activity_id = #{activityId}
+        <include refid="selectAccWorkVo"/> where activity_id = #{activityId}
+        <if test="status != null">
+            and status = #{status}
+        </if>
         <if test="workName != null and workName !=''">
             and work_name like concat('%', #{workName}, '%')
         </if>
+        <if test="teamId != null">
+            and team_id = #{teamId}
+        </if>
         <if test="sortBy != null">
             <if test="sortBy == 'hot'">
                 order by vote_count desc