Przeglądaj źródła

三周年抽奖活动后台抽奖页面功能
1.显示活动列表
2.显示奖项列表
3.布局调整

yanliming 11 godzin temu
rodzic
commit
1bcfe9c068

+ 1 - 0
common/src/main/java/com/jpsoft/lotteryActivity/modules/base/dao/WinningInfoDAO.java

@@ -14,5 +14,6 @@ public interface WinningInfoDAO {
 	WinningInfo get(String id);
 	int delete(String id);
 	List<WinningInfo> list();
+	List<String> findPersonPhone();
 	List<WinningInfo> search(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 13 - 0
common/src/main/java/com/jpsoft/lotteryActivity/modules/base/dto/WinningInfoDTO.java

@@ -0,0 +1,13 @@
+package com.jpsoft.lotteryActivity.modules.base.dto;
+
+import com.jpsoft.lotteryActivity.modules.base.entity.WinningInfo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WinningInfoDTO {
+    private String activityId;
+    private String awardId;
+    private List<WinningInfo> winningInfoList;
+}

+ 9 - 0
common/src/main/java/com/jpsoft/lotteryActivity/modules/base/service/impl/WinningInfoServiceImpl.java

@@ -66,6 +66,15 @@ public class WinningInfoServiceImpl implements WinningInfoService {
         //待抽奖人员名单
         List<LotteryPersonnelInfo> lotteryPersonnelInfoList = lotteryPersonnelInfoDAO.findByActivityId(activityId);
 
+        //已中奖人员电话名单
+        List<String> personPhoneList = winningInfoDAO.findPersonPhone();
+
+        //去除以往已中奖过的人员
+        for (String phone:personPhoneList) {
+            lotteryPersonnelInfoList.removeIf(lotteryPersonnelInfo -> lotteryPersonnelInfo.getPhone().equals(phone));
+        }
+
+
         //中奖人员名单
         List<WinningInfo> winningInfoList = lotteryFunction(activityId, awardId, lotteryPersonnelInfoList, awardNumber);
 

+ 1 - 1
common/src/main/resources/mapper/base/ActivityInfo.xml

@@ -78,7 +78,7 @@ id_,name_,start_time,end_time,create_by,create_time,update_by,update_time,del_fl
 		select count(*) from base_activity_info where id_=#{0}
 	</select>
 	<select id="list" resultMap="ActivityInfoMap">
-		select * from base_activity_info
+		select * from base_activity_info where del_flag=false
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="ActivityInfoMap">
 		<![CDATA[

+ 1 - 1
common/src/main/resources/mapper/base/AwardInfo.xml

@@ -91,7 +91,7 @@ id_,name_,prize_name,image_,num_,activity_id,create_by,create_time,update_by,upd
 		select * from base_award_info where del_flag=false
 	</select>
 	<select id="findByActivityId" resultMap="AwardInfoMap">
-		select * from base_award_info where del_flag=false and activity_id=#{0}
+		select * from base_award_info where del_flag=false and activity_id=#{0} order by create_time asc
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="AwardInfoMap">
 		<![CDATA[

+ 6 - 0
common/src/main/resources/mapper/base/WinningInfo.xml

@@ -80,6 +80,12 @@ id_,lottery_personnel_id,award_id,activity_id,create_by,create_time,update_by,up
 	<select id="list" resultMap="WinningInfoMap">
 		select * from base_winning_info
 	</select>
+	<select id="findPersonPhone" resultType="java.lang.String">
+		SELECT b.phone_ as 'phone' FROM base_winning_info a
+		INNER JOIN base_lottery_personnel_info b on a.lottery_personnel_id=b.id_
+		where b.del_flag=false
+		group by b.phone_
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="WinningInfoMap">
 		<![CDATA[
 			select * from base_winning_info a inner join base_lottery_personnel_info b

+ 1 - 7
server/src/main/java/com/jpsoft/lotteryActivity/config/WebMvcConfig.java

@@ -66,13 +66,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				.excludePathPatterns("/mobile/sysUser/getVerifyCode")
 				.excludePathPatterns("/mobile/sysUser/validateCode")
 				.excludePathPatterns("/mobile/sysUser/login")
-				.excludePathPatterns("/mobile/parking/parkingList")
-				.excludePathPatterns("/mobile/parking/parkingDetails")
-				.excludePathPatterns("/mobile/parking/parkingLockNumber")
-				.excludePathPatterns("/mobile/floorlock/floorlockDetails")
-				.excludePathPatterns("/mobile/floorlock/parkingLockNumber")
-				.excludePathPatterns("/mobile/floorlock/floorList")
-				.excludePathPatterns("/mobile/dataDictionary/findByCatalogName")
+				.excludePathPatterns("/business/startLottery/**")
 		;
 	}
 }

+ 19 - 0
server/src/main/java/com/jpsoft/lotteryActivity/modules/base/controller/ActivityInfoController.java

@@ -224,4 +224,23 @@ public class ActivityInfoController {
 
         return msgResult;
     }
+
+
+
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "list",method = RequestMethod.POST)
+    public MessageResult<List<ActivityInfo>> list(){
+
+        MessageResult<List<ActivityInfo>> msgResult = new MessageResult<>();
+
+
+        List<ActivityInfo> activityInfoList = activityInfoService.list();
+
+
+        msgResult.setResult(true);
+        msgResult.setData(activityInfoList);
+
+        return msgResult;
+    }
 }

+ 19 - 8
server/src/main/java/com/jpsoft/lotteryActivity/modules/base/controller/WinningInfoController.java

@@ -2,6 +2,7 @@ package com.jpsoft.lotteryActivity.modules.base.controller;
 
 import com.github.pagehelper.Page;
 import com.jpsoft.lotteryActivity.config.OSSConfig;
+import com.jpsoft.lotteryActivity.modules.base.dto.WinningInfoDTO;
 import com.jpsoft.lotteryActivity.modules.base.entity.ActivityInfo;
 import com.jpsoft.lotteryActivity.modules.base.entity.AwardInfo;
 import com.jpsoft.lotteryActivity.modules.base.entity.LotteryPersonnelInfo;
@@ -68,20 +69,29 @@ public class WinningInfoController {
 
     @ApiOperation(value = "添加信息")
     @PostMapping("add")
-    public MessageResult<WinningInfo> add(@RequestBody WinningInfo winningInfo, @RequestAttribute String subject) {
-        MessageResult<WinningInfo> msgResult = new MessageResult<>();
+    public MessageResult<Integer> add(@RequestBody WinningInfoDTO dto, @RequestAttribute String subject) {
+        MessageResult<Integer> msgResult = new MessageResult<>();
 
         try {
-            winningInfo.setId(UUID.randomUUID().toString());
-            winningInfo.setDelFlag(false);
-            winningInfo.setCreateBy(subject);
-            winningInfo.setCreateTime(new Date());
+            List<WinningInfo> winningInfoList = dto.getWinningInfoList();
+
+            int affectCount = 0;
+
+            for (WinningInfo winningInfo:winningInfoList) {
+                winningInfo.setId(UUID.randomUUID().toString());
+                winningInfo.setDelFlag(false);
+                winningInfo.setCreateBy(subject);
+                winningInfo.setCreateTime(new Date());
+                winningInfo.setAwardId(dto.getAwardId());
+                winningInfo.setActivityId(dto.getActivityId());
+
+                affectCount += winningInfoService.insert(winningInfo);
+            }
 
-            int affectCount = winningInfoService.insert(winningInfo);
 
             if (affectCount > 0) {
                 msgResult.setResult(true);
-                msgResult.setData(winningInfo);
+                msgResult.setData(affectCount);
             } else {
                 msgResult.setResult(false);
                 msgResult.setMessage("数据库添加失败");
@@ -405,6 +415,7 @@ public class WinningInfoController {
 
                 map.put("awardName", awardName);
                 map.put("awardPrizeName", awardPrizeName);
+                map.put("lotteryPersonnelId", winningInfo.getLotteryPersonnelId());
 
                 mapList.add(map);
             }

+ 63 - 0
server/src/main/java/com/jpsoft/lotteryActivity/modules/business/controller/StartLotteryController.java

@@ -0,0 +1,63 @@
+package com.jpsoft.lotteryActivity.modules.business.controller;
+
+
+import com.jpsoft.lotteryActivity.modules.base.entity.ActivityInfo;
+import com.jpsoft.lotteryActivity.modules.base.entity.AwardInfo;
+import com.jpsoft.lotteryActivity.modules.base.service.ActivityInfoService;
+import com.jpsoft.lotteryActivity.modules.base.service.AwardInfoService;
+import com.jpsoft.lotteryActivity.modules.common.dto.MessageResult;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@RestController
+@RequestMapping("/business/startLottery")
+public class StartLotteryController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private ActivityInfoService activityInfoService;
+
+    @Autowired
+    private AwardInfoService awardInfoService;
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "list",method = RequestMethod.POST)
+    public MessageResult<List<ActivityInfo>> list(){
+        MessageResult<List<ActivityInfo>> msgResult = new MessageResult<>();
+
+        List<ActivityInfo> activityInfoList = activityInfoService.list();
+
+        msgResult.setResult(true);
+        msgResult.setData(activityInfoList);
+
+        return msgResult;
+    }
+
+
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "findByActivityId",method = RequestMethod.POST)
+    public MessageResult<List<AwardInfo>> findByActivityId(String activityId, HttpServletRequest request){
+        String subject = (String)request.getAttribute("subject");
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<List<AwardInfo>> msgResult = new MessageResult<>();
+
+        List<AwardInfo> awardInfoList = awardInfoService.findByActivityId(activityId);
+
+        msgResult.setResult(true);
+        msgResult.setData(awardInfoList);
+
+        return msgResult;
+    }
+}