Browse Source

Merge branch 'refs/heads/develop_zqc' into develop_rayson

rayson 6 months ago
parent
commit
d1ed57243f
11 changed files with 177 additions and 10 deletions
  1. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivityJoinItemDetailVO.java
  2. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivityJoinItemRespVO.java
  3. 56 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivitySummaryRespVo.java
  4. 30 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/votingactivity/AppVotingActivityController.java
  5. 10 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/votingactivity/AppVotingActivityJoinItemController.java
  6. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/votingactivity/VotingActivityJoinItemMapper.java
  7. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/votingactivity/VotingActivityMapper.java
  8. 5 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityJoinItemService.java
  9. 17 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityJoinItemServiceImpl.java
  10. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityService.java
  11. 22 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityServiceImpl.java

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivityJoinItemDetailVO.java

@@ -0,0 +1,19 @@
+package com.citu.module.menduner.system.controller.admin.votingactivity.vo;
+
+import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityJoinItemDO;
+
+public class VotingActivityJoinItemDetailVO extends VotingActivityJoinItemDO {
+
+
+    //和上一名票数的差距
+    private Integer parentVotingActivityJoinItemNumSubtract;
+
+
+    public Integer getParentVotingActivityJoinItemNumSubtract() {
+        return parentVotingActivityJoinItemNumSubtract;
+    }
+
+    public void setParentVotingActivityJoinItemNumSubtract(Integer parentVotingActivityJoinItemNumSubtract) {
+        this.parentVotingActivityJoinItemNumSubtract = parentVotingActivityJoinItemNumSubtract;
+    }
+}

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivityJoinItemRespVO.java

@@ -49,4 +49,8 @@ public class VotingActivityJoinItemRespVO {
     @ExcelProperty("头像")
     private String headImg;
 
+    @Schema(description = "上一名的票数")
+    @ExcelProperty("头像")
+    private Integer parentNum;
+
 }

+ 56 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/votingactivity/vo/VotingActivitySummaryRespVo.java

@@ -0,0 +1,56 @@
+package com.citu.module.menduner.system.controller.admin.votingactivity.vo;
+
+import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityDO;
+
+public class VotingActivitySummaryRespVo {
+
+    /**
+     * 访问量
+     */
+    private Integer hot;
+
+    /**
+     * 选手数量
+     */
+    private Integer itemNum;
+
+    /**
+     * 总票数
+     */
+    private Integer votingNum;
+
+
+    private VotingActivityDO votingActivity;
+
+    public Integer getHot() {
+        return hot;
+    }
+
+    public void setHot(Integer hot) {
+        this.hot = hot;
+    }
+
+    public Integer getItemNum() {
+        return itemNum;
+    }
+
+    public void setItemNum(Integer itemNum) {
+        this.itemNum = itemNum;
+    }
+
+    public Integer getVotingNum() {
+        return votingNum;
+    }
+
+    public void setVotingNum(Integer votingNum) {
+        this.votingNum = votingNum;
+    }
+
+    public VotingActivityDO getVotingActivity() {
+        return votingActivity;
+    }
+
+    public void setVotingActivity(VotingActivityDO votingActivity) {
+        this.votingActivity = votingActivity;
+    }
+}

+ 30 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/votingactivity/AppVotingActivityController.java

@@ -7,10 +7,7 @@ import com.citu.module.menduner.system.service.votingactivity.VotingActivityServ
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @eo.api-type http
@@ -36,11 +33,39 @@ public class AppVotingActivityController {
      * @return CommonResult
      */
     @PostMapping("/page")
-    public CommonResult getVotingActivityJoinPage(@RequestBody  VotingActivityPageReqVO pageReqVO) {
+    public CommonResult getVotingActivityPage(@RequestBody  VotingActivityPageReqVO pageReqVO) {
         return CommonResult.success(votingActivityService.getVotingActivityPage(pageReqVO));
     }
 
 
+    /**
+     * @eo.name 访问量增加
+     * @eo.url /hot
+     * @eo.method post
+     * @eo.request-type json
+     * @param pageReqVO
+     * @return CommonResult
+     */
+    @PostMapping("/hot")
+    public CommonResult votingActivityHotAdd(@RequestParam("votingActivityId")  Long votingActivityId) {
+        return CommonResult.success(votingActivityService.votingActivityHotAdd(votingActivityId));
+    }
+
+
+    /**
+     * @eo.name 投票活动总票数、选手数量、访问量汇总
+     * @eo.url /summary
+     * @eo.method post
+     * @eo.request-type json
+     * @param pageReqVO
+     * @return CommonResult
+     */
+    @PostMapping("/summary")
+    public CommonResult votingActivitySummary(@RequestParam("votingActivityId")  Long votingActivityId) {
+        return CommonResult.success(votingActivityService.votingActivitySummary(votingActivityId));
+    }
+
+
     /**
      * @eo.name setVotingActivityService
      * @eo.url

+ 10 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/votingactivity/AppVotingActivityJoinItemController.java

@@ -50,6 +50,16 @@ public class AppVotingActivityJoinItemController {
     }
 
 
+    @PostMapping("/get")
+    @Operation(summary = "获取投票项明细")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('mde:voting-activity-join-item:query')")
+    public CommonResult<VotingActivityJoinItemRespVO> getVotingActivityJoinItem(@RequestParam("id") Long id) {
+        VotingActivityJoinItemDO votingActivityJoinItem = votingActivityJoinItemService.getVotingActivityJoinItem(id);
+        return success(BeanUtils.toBean(votingActivityJoinItem, VotingActivityJoinItemRespVO.class));
+    }
+
+
 
 
 

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/votingactivity/VotingActivityJoinItemMapper.java

@@ -43,4 +43,10 @@ public interface VotingActivityJoinItemMapper extends BaseMapperX<VotingActivity
 
     @Select("select voting_activity_join_item_category  from mde_voting_activity_join_item where   voting_activity_id=#{votingActivityId}  group by voting_activity_join_item_category")
     List<String> getVotingActivityJoinItemCategorys(@Param("votingActivityId") Long votingActivityId);
+
+    @Select("select voting_activity_join_item_num  from mde_voting_activity_join_item where   voting_activity_id=#{votingActivityId}  and voting_activity_join_item_num >#{votingActivityJoinItemNum} limit 1  ")
+    Integer getParentNum(@Param("votingActivityId")Long votingActivityId, @Param("votingActivityJoinItemNum")Integer votingActivityJoinItemNum);
+
+    @Select("select sum(voting_activity_join_item_num) from   mde_voting_activity_join_item where   voting_activity_id=#{votingActivityId} ")
+    Integer selectItemTotalVotingNum(Long votingActivityId);
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/votingactivity/VotingActivityMapper.java

@@ -8,6 +8,8 @@ import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivityPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 投票活动 Mapper
@@ -34,4 +36,6 @@ public interface VotingActivityMapper extends BaseMapperX<VotingActivityDO> {
                 .orderByDesc(VotingActivityDO::getVotingActivityId));
     }
 
+    @Update("update  mde_voting_activity set activity_hot=activity_hot+1  where voting_activity_id =#{votingActivityId}")
+    int votingActivityHotAdd(@Param("votingActivityId") Long votingActivityId);
 }

+ 5 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityJoinItemService.java

@@ -42,7 +42,7 @@ public interface VotingActivityJoinItemService {
      * @param id 编号
      * @return 投票活动参与被投票的
      */
-    VotingActivityJoinItemDO getVotingActivityJoinItem(Long id);
+    VotingActivityJoinItemDetailVO getVotingActivityJoinItem(Long id);
 
     /**
      * 获得投票活动参与被投票的分页
@@ -56,4 +56,7 @@ public interface VotingActivityJoinItemService {
 
     List<String> getVotingActivityJoinItemCategorys(Long votingActivityId);
 
- }
+    Integer selectItemCount(Long votingActivityId);
+
+    Integer selectItemTotalVotingNum(Long votingActivityId);
+}

+ 17 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityJoinItemServiceImpl.java

@@ -2,6 +2,7 @@ package com.citu.module.menduner.system.service.votingactivity;
 
 
 import com.baomidou.lock.annotation.Lock4j;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.*;
 import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityJoinItemDO;
 import com.citu.module.menduner.system.dal.mysql.votingactivity.VotingActivityJoinItemMapper;
@@ -70,8 +71,12 @@ public class VotingActivityJoinItemServiceImpl implements VotingActivityJoinItem
         }
 
         @Override
-        public VotingActivityJoinItemDO getVotingActivityJoinItem(Long id) {
-            return votingActivityJoinItemMapper.selectById(id);
+        public VotingActivityJoinItemDetailVO getVotingActivityJoinItem(Long id) {
+            VotingActivityJoinItemDO votingActivityJoinItemDO = votingActivityJoinItemMapper.selectById(id);
+            VotingActivityJoinItemDetailVO bean = BeanUtils.toBean(votingActivityJoinItemDO, VotingActivityJoinItemDetailVO.class);
+            Integer parentNum = votingActivityJoinItemMapper.getParentNum(votingActivityJoinItemDO.getVotingActivityId(), bean.getVotingActivityJoinItemNum());
+            bean.setParentVotingActivityJoinItemNumSubtract(bean.getVotingActivityJoinItemNum()-parentNum);
+            return bean;
         }
 
         @Override
@@ -89,6 +94,16 @@ public class VotingActivityJoinItemServiceImpl implements VotingActivityJoinItem
           return   votingActivityJoinItemMapper.getVotingActivityJoinItemCategorys(votingActivityId);
         }
 
+        @Override
+        public Integer selectItemCount(Long votingActivityId) {
+            Long l = votingActivityJoinItemMapper.selectCount(new LambdaQueryWrapper<VotingActivityJoinItemDO>().eq(VotingActivityJoinItemDO::getVotingActivityId, votingActivityId));
+            return l.intValue();
+        }
+
+        @Override
+        public Integer selectItemTotalVotingNum(Long votingActivityId) {
+            return  votingActivityJoinItemMapper.selectItemTotalVotingNum(votingActivityId);
+        }
 
 
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityService.java

@@ -7,6 +7,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivityPageReqVO;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivitySaveReqVO;
+import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivitySummaryRespVo;
 import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityDO;
 
 /**
@@ -54,4 +55,7 @@ public interface VotingActivityService {
      */
     PageResult<VotingActivityDO> getVotingActivityPage(VotingActivityPageReqVO pageReqVO);
 
+    Object votingActivityHotAdd(Long votingActivityId);
+
+    VotingActivitySummaryRespVo votingActivitySummary(Long votingActivityId);
 }

+ 22 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/votingactivity/VotingActivityServiceImpl.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.service.votingactivity;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivityPageReqVO;
 import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivitySaveReqVO;
+import com.citu.module.menduner.system.controller.admin.votingactivity.vo.VotingActivitySummaryRespVo;
 import com.citu.module.menduner.system.dal.dataobject.votingactivity.VotingActivityDO;
 import com.citu.module.menduner.system.dal.mysql.votingactivity.VotingActivityMapper;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -33,6 +34,10 @@ public class VotingActivityServiceImpl implements VotingActivityService {
     @Resource
     private VotingActivityMapper votingActivityMapper;
 
+
+    @Resource
+    VotingActivityJoinItemService votingActivityJoinItemService;
+
     @Override
     public Long createVotingActivity(VotingActivitySaveReqVO createReqVO) {
         // 插入
@@ -102,7 +107,7 @@ public class VotingActivityServiceImpl implements VotingActivityService {
 
     @Override
     public VotingActivityDO getVotingActivity(Long id) {
-    return votingActivityMapper.selectById(id);
+         return votingActivityMapper.selectById(id);
     }
 
     @Override
@@ -111,4 +116,20 @@ public class VotingActivityServiceImpl implements VotingActivityService {
         return votingActivityDOPageResult;
     }
 
+    @Override
+    public Object votingActivityHotAdd(Long votingActivityId) {
+        return  votingActivityMapper.votingActivityHotAdd(votingActivityId);
+    }
+
+    @Override
+    public VotingActivitySummaryRespVo votingActivitySummary(Long votingActivityId) {
+        VotingActivitySummaryRespVo votingActivitySummaryRespVo =new VotingActivitySummaryRespVo();
+        VotingActivityDO votingActivityDO = votingActivityMapper.selectById(votingActivityId);
+        votingActivitySummaryRespVo.setVotingActivity(votingActivityDO);
+        votingActivitySummaryRespVo.setHot(votingActivityDO.getActivityHot());
+        votingActivitySummaryRespVo.setItemNum(votingActivityJoinItemService.selectItemCount(votingActivityId));
+        votingActivitySummaryRespVo.setVotingNum(votingActivityJoinItemService.selectItemTotalVotingNum(votingActivityId));
+        return votingActivitySummaryRespVo;
+    }
+
 }