Sfoglia il codice sorgente

抽奖人员信息调整

user5 2 anni fa
parent
commit
6d2c5cad70

+ 21 - 5
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/controller/LuckyDrawInfoController.java

@@ -58,20 +58,24 @@ public class LuckyDrawInfoController {
         result = drawInfoService.findList (page,luckyDrawEventsDTO);
         result = drawInfoService.findList (page,luckyDrawEventsDTO);
         List<LuckyDrawInfoDto> records = result.getRecords();
         List<LuckyDrawInfoDto> records = result.getRecords();
         List<LuckyDrawInfoDto> addList = new ArrayList<>();
         List<LuckyDrawInfoDto> addList = new ArrayList<>();
+        //获取已抽奖人数和本活动剩余未抽奖人数
+       //drawInfoService.getLuckyDrawCount(luckyDrawEventsDTO);
         records.forEach(re ->{
         records.forEach(re ->{
             if(re.getLuckyDrawMembersDtos().size()>0){
             if(re.getLuckyDrawMembersDtos().size()>0){
                 re.setLuckyDrawFlag("1");
                 re.setLuckyDrawFlag("1");
                 re.setShowFlag("2");
                 re.setShowFlag("2");
+                re.setLuckyDrawAgainFlag("1");
             }else{
             }else{
                 re.setLuckyDrawFlag("0");
                 re.setLuckyDrawFlag("0");
                 re.setShowFlag("1");
                 re.setShowFlag("1");
+                re.setLuckyDrawAgainFlag("0");
             }
             }
             addList.add(re);
             addList.add(re);
             if(re.getLuckyDrawMembersDtos().size()>0){
             if(re.getLuckyDrawMembersDtos().size()>0){
                 LuckyDrawInfoDto sh = new LuckyDrawInfoDto();
                 LuckyDrawInfoDto sh = new LuckyDrawInfoDto();
                 sh.setAwardsName("姓名");
                 sh.setAwardsName("姓名");
-                sh.setNumber("部门");
-                sh.setPrizeName("手机号");
+                sh.setNumber("手机号");
+                sh.setPrizeName("部门");
                 sh.setShowFlag("1");
                 sh.setShowFlag("1");
                 sh.setLuckyDrawFlag("1");
                 sh.setLuckyDrawFlag("1");
                 addList.add(sh);
                 addList.add(sh);
@@ -83,8 +87,8 @@ public class LuckyDrawInfoController {
             re.getLuckyDrawMembersDtos().forEach(mem->{
             re.getLuckyDrawMembersDtos().forEach(mem->{
                 LuckyDrawInfoDto l = new LuckyDrawInfoDto();
                 LuckyDrawInfoDto l = new LuckyDrawInfoDto();
                 l.setAwardsName(mem.getName());
                 l.setAwardsName(mem.getName());
-                l.setNumber(mem.getOfficeName());
-                l.setPrizeName(mem.getPhone());
+                l.setNumber(mem.getPhone());
+                l.setPrizeName(mem.getOfficeName());
                 l.setShowFlag("0");
                 l.setShowFlag("0");
                 l.setLuckyDrawFlag("1");
                 l.setLuckyDrawFlag("1");
                 addList.add(l);
                 addList.add(l);
@@ -103,7 +107,19 @@ public class LuckyDrawInfoController {
     @PostMapping("/luckyDraw")
     @PostMapping("/luckyDraw")
     public ResponseEntity<String> luckyDraw(@RequestBody LuckyDrawInfoDto dto) throws Exception{
     public ResponseEntity<String> luckyDraw(@RequestBody LuckyDrawInfoDto dto) throws Exception{
         String s = drawInfoService.luckyDraw(dto);
         String s = drawInfoService.luckyDraw(dto);
-        return ResponseUtil.newInstance().ok ("操作成功");
+        return ResponseUtil.newInstance().ok (s);
+    }
+
+    /**
+     * 重新抽奖
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "抽奖")
+    @PostMapping("/luckyDrawAgain")
+    public ResponseEntity<String> luckyDrawAgain(@RequestBody LuckyDrawInfoDto dto) throws Exception{
+        String s = drawInfoService.luckyDrawAgain(dto);
+        return ResponseUtil.newInstance().ok (s);
     }
     }
 
 
 }
 }

+ 15 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/controller/LuckyDrawMembersController.java

@@ -51,7 +51,7 @@ public class LuckyDrawMembersController {
         String result = membersService.save(dto);
         String result = membersService.save(dto);
         switch (result){
         switch (result){
             case "1":
             case "1":
-                return ResponseEntity.badRequest().body ("名字重复,请重新修改");
+                return ResponseEntity.badRequest().body ("您已参加该活动。无需重复参与");
             case "2":
             case "2":
                 return ResponseEntity.badRequest().body ("新增失败");
                 return ResponseEntity.badRequest().body ("新增失败");
         }
         }
@@ -81,4 +81,18 @@ public class LuckyDrawMembersController {
         IPage<LuckyDrawMembersDto> iPage = membersService.list(page, dto);
         IPage<LuckyDrawMembersDto> iPage = membersService.list(page, dto);
         return ResponseEntity.ok(iPage);
         return ResponseEntity.ok(iPage);
     }
     }
+
+    /**
+     * 列表查询
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "app列表查询")
+    @GetMapping("/appShowList")
+    public ResponseEntity<IPage<LuckyDrawMembersDto>> appShowList(Page<LuckyDrawMembersDto> page, LuckyDrawMembersDto dto) throws Exception{
+        page.setSize(-1);
+        page.setCurrent(1);
+        IPage<LuckyDrawMembersDto> iPage = membersService.list(page, dto);
+        return ResponseEntity.ok(iPage);
+    }
 }
 }

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/mapper/LuckyDrawInfoMapper.java

@@ -32,4 +32,15 @@ public interface LuckyDrawInfoMapper extends BaseMapper<LuckyDrawInfo> {
      */
      */
     List<String> selectUserId(@Param("number") int number,
     List<String> selectUserId(@Param("number") int number,
                               @Param("eventId") String eventId);
                               @Param("eventId") String eventId);
+
+    /**
+     * 根据活动id和奖项id对该奖项数据信息进行删除
+     * @param info
+     * @return
+     */
+    void deleteByEventIdAndAwardId(LuckyDrawInfoDto info);
+
+    Integer getLuckyDrawUserCount(String eventId);
+
+    Integer getLuckyDrawMemberCount(String eventId);
 }
 }

+ 17 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/mapper/xml/LuckyDrawInfoMapper.xml

@@ -50,7 +50,7 @@
     </select>
     </select>
     <select id="selectUserId" resultType="java.lang.String">
     <select id="selectUserId" resultType="java.lang.String">
         select id from `lucky_draw_members`
         select id from `lucky_draw_members`
-        WHERE id not in (SELECT member_id FROM lucky_draw_info b WHERE b.event_id = #{eventId})
+        WHERE id not in (SELECT member_id FROM lucky_draw_info b WHERE b.event_id = #{eventId}) and event_id = #{eventId}
         order by rand() LIMIT #{number}
         order by rand() LIMIT #{number}
     </select>
     </select>
     <select id="getUserInfo" resultType="com.jeeplus.test.luckyDraw.service.dto.LuckyDrawMembersDto">
     <select id="getUserInfo" resultType="com.jeeplus.test.luckyDraw.service.dto.LuckyDrawMembersDto">
@@ -68,4 +68,20 @@
         left join lucky_draw_events lde on lda.events_id = lde.id
         left join lucky_draw_events lde on lda.events_id = lde.id
         ${ew.customSqlSegment}
         ${ew.customSqlSegment}
     </select>
     </select>
+
+    <delete id="deleteByEventIdAndAwardId">
+        delete from lucky_draw_info
+        <where>
+            event_id = #{id}
+            and award_id = #{awardId}
+        </where>
+    </delete>
+
+    <select id="getLuckyDrawUserCount" resultType="java.lang.Integer">
+        select count(1) from lucky_draw_info where event_id = #{eventId}
+    </select>
+
+    <select id="getLuckyDrawMemberCount" resultType="java.lang.Integer">
+        select count(1) from lucky_draw_members where event_id = #{eventId}
+    </select>
 </mapper>
 </mapper>

+ 31 - 11
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/service/LuckyDrawInfoService.java

@@ -17,9 +17,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 
 /**
 /**
  * @author: 王强
  * @author: 王强
@@ -51,31 +49,50 @@ public class LuckyDrawInfoService extends ServiceImpl<LuckyDrawInfoMapper, Lucky
         return drawInfoMapper.findList(page, queryWrapper);
         return drawInfoMapper.findList(page, queryWrapper);
     }
     }
 
 
+    /**
+     * 获取已抽奖人数和本活动剩余未抽奖人数
+     * @param dto
+     * @return
+     */
+    public Map<String,Integer> getLuckyDrawCount (LuckyDrawInfoDto dto){
+        Map<String,Integer> map =new HashMap<>();
+        //查询活动中奖人数
+        Integer luckyDrawUserCount = drawInfoMapper.getLuckyDrawUserCount(dto.getId());
+        map.put("luckyDrawUserCount",luckyDrawUserCount);
+        //查询活动参与人数
+        Integer luckyDrawMemberCount = drawInfoMapper.getLuckyDrawMemberCount(dto.getId());
+        map.put("luckyDrawMemberCount",luckyDrawMemberCount);
+        return map;
+    }
+
     public LuckyDrawInfoDto findByEventId(String id) {
     public LuckyDrawInfoDto findByEventId(String id) {
         LuckyDrawInfoDto dto = drawInfoMapper.findByEventId(id);
         LuckyDrawInfoDto dto = drawInfoMapper.findByEventId(id);
         return dto;
         return dto;
     }
     }
 
 
     public String luckyDraw(LuckyDrawInfoDto dto) throws Exception{
     public String luckyDraw(LuckyDrawInfoDto dto) throws Exception{
-        // 获取当前登录人信息
-        UserDTO userDTO = UserUtils.getCurrentUserDTO();
-        return add(dto, userDTO);
+        return add(dto);
+    }
+
+    public String luckyDrawAgain(LuckyDrawInfoDto dto) throws Exception{
+        //根据活动id和奖项id对该奖项数据信息进行删除
+        drawInfoMapper.deleteByEventIdAndAwardId(dto);
+        return add(dto);
     }
     }
 
 
     /**
     /**
      *根据奖品数量随机抽取用户进行抽奖
      *根据奖品数量随机抽取用户进行抽奖
      * @param dto
      * @param dto
-     * @param userDTO
      * @return
      * @return
      * @throws Exception
      * @throws Exception
      */
      */
-    public String add(LuckyDrawInfoDto dto, UserDTO userDTO) throws Exception{
+    public String add(LuckyDrawInfoDto dto) throws Exception{
         LuckyDrawInfo members = new LuckyDrawInfo();
         LuckyDrawInfo members = new LuckyDrawInfo();
         BeanUtils.copyProperties(dto, members);
         BeanUtils.copyProperties(dto, members);
 
 
-        members.setCreateBy(userDTO.getId());
+        members.setCreateBy("1");
         members.setCreateDate(new Date());
         members.setCreateDate(new Date());
-        members.setUpdateBy(userDTO.getId());
+        members.setUpdateBy("1");
         members.setUpdateDate(new Date());
         members.setUpdateDate(new Date());
         members.setDelFlag(0);
         members.setDelFlag(0);
         members.setEventId(dto.getId());
         members.setEventId(dto.getId());
@@ -92,6 +109,9 @@ public class LuckyDrawInfoService extends ServiceImpl<LuckyDrawInfoMapper, Lucky
             members.setMemberId(userId);
             members.setMemberId(userId);
             drawInfoMapper.insert(members);
             drawInfoMapper.insert(members);
         });
         });
-        return "ok";
+        if(list.size() < num){
+            return "活动剩余参与人数小于奖项人数,按剩余人数进行抽奖";
+        }
+        return "抽奖成功";
     }
     }
 }
 }

+ 1 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/luckyDraw/service/dto/LuckyDrawInfoDto.java

@@ -24,6 +24,7 @@ public class LuckyDrawInfoDto extends BaseDTO implements Serializable {
     private String number; //奖品数量
     private String number; //奖品数量
     private String luckyDrawFlag; //抽奖状态
     private String luckyDrawFlag; //抽奖状态
     private String showFlag; //展示状态
     private String showFlag; //展示状态
+    private String luckyDrawAgainFlag; //重新抽奖
     /**
     /**
      * 奖项
      * 奖项
      */
      */