src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java
@@ -5,19 +5,31 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.excl.ExcelSheetPO; import cc.mrbird.febs.common.utils.excl.ExcelUtil; import cc.mrbird.febs.common.utils.excl.ExcelVersion; import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil; import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto; import cc.mrbird.febs.mall.dto.activity.*; import cc.mrbird.febs.mall.entity.HappyActivity; import cc.mrbird.febs.mall.entity.HappyActivityOption; import cc.mrbird.febs.mall.service.IAdminHappyActivityService; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.io.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @Slf4j @@ -243,4 +255,41 @@ return adminHappyActivityService.activityOrderDel(id); } @SneakyThrows @GetMapping("/exportOptionList") public void exportOptionList(@RequestParam Map<String, String> params, HttpServletResponse response) { List<ExcelSheetPO> res = new ArrayList<>(); ExcelSheetPO orderSheet = new ExcelSheetPO(); String title = "报名列表"; orderSheet.setTitle(title); String[] header = {"序号", "姓名", "联系方式", "兴趣爱好","家庭住址","地区","是否签约mcn机构", "备注"}; orderSheet.setHeaders(header); List<HappyActivityOption> dataList = adminHappyActivityService.getVoteOptionListForExport(params); List<List<Object>> list = new ArrayList<>(); if (dataList.size() > 0) { int i = 0; for (HappyActivityOption item : dataList) { i++; List<Object> temp = new ArrayList<>(); temp.add(i); temp.add(item.getOptionName()); temp.add(item.getMobilePhone()); temp.add(item.getHobby()); temp.add(item.getAddress()); temp.add(item.getProvince()+item.getCity()); temp.add(item.getMcnState() == 1 ?"是":"否"); temp.add(item.getDescription()); list.add(temp); } } orderSheet.setDataList(list); res.add(orderSheet); response = ResponseHeadUtil.setExcelHead(response); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8")); OutputStream os = null; os = response.getOutputStream(); ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, false); } } src/main/java/cc/mrbird/febs/mall/mapper/HappyActivityMapper.java
@@ -26,5 +26,5 @@ Page<HappyActivityOrder> selectOrderInPage(Page<HappyActivityOrder> page, @Param("record")AdminHappyActivityOrderDto dto); Page<ApiActivityOptionListVo> getVoteOptionRecordInPage(Page<ApiActivityOptionListVo> page, ApiVoteOptionRecordInPageDto dto); Page<ApiActivityOptionListVo> getVoteOptionRecordInPage(Page<ApiActivityOptionListVo> page, @Param("record")ApiVoteOptionRecordInPageDto dto); } src/main/java/cc/mrbird/febs/mall/service/IAdminHappyActivityService.java
@@ -11,6 +11,7 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; public interface IAdminHappyActivityService extends IService<HappyActivity>{ @@ -56,4 +57,6 @@ FebsResponse checkOrder(AdminHappyActivityCheckOrderDto dto); FebsResponse activityOrderDel(Long id); List<HappyActivityOption> getVoteOptionListForExport(Map<String, String> params); } src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
@@ -400,4 +400,19 @@ return new FebsResponse().success().message("操作成功"); } @Override public List<HappyActivityOption> getVoteOptionListForExport(Map<String, String> params) { LambdaQueryWrapper<HappyActivityOption> queryWrapper = new LambdaQueryWrapper<>(); if(ObjectUtil.isNotEmpty(params.get("activityId"))){ queryWrapper.eq(HappyActivityOption::getActivityId, Long.valueOf(params.get("activityId"))); } if(ObjectUtil.isNotEmpty(params.get("audit"))){ queryWrapper.eq(HappyActivityOption::getState, Integer.valueOf(params.get("state"))); } if(ObjectUtil.isNotEmpty(params.get("beautyName"))){ queryWrapper.like(HappyActivityOption::getOptionName, params.get("optionName")); } return happyActivityOptionMapper.selectList(queryWrapper); } } src/main/java/cc/mrbird/febs/mall/service/impl/HappyActivityServiceImpl.java
@@ -426,6 +426,12 @@ if (ObjectUtil.isEmpty(happyActivity)) { throw new FebsException("活动不存在"); } if (StateUpDownEnum.ACTIVITY_STATE_NOT_START.getCode() == happyActivity.getState()) { throw new FebsException("活动尚未开始"); } if (StateUpDownEnum.ACTIVITY_STATE_END.getCode() == happyActivity.getState()) { throw new FebsException("活动已结束"); } Integer joinCnt = happyActivity.getJoinCnt(); if(joinCnt < numCnt){ src/main/java/cc/mrbird/febs/mall/vo/ApiActivityOptionListVo.java
@@ -11,6 +11,9 @@ @ApiModelProperty(value = "选项ID") private Long id; @ApiModelProperty(value = "选项编号") private String orderCnt; @ApiModelProperty(value = "选项名称") private String optionName; src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -52,6 +52,7 @@ <select id="getVoteOptionInPage" resultType="cc.mrbird.febs.mall.vo.ApiActivityOptionListVo"> select a.id as id, a.order_cnt as orderCnt, a.option_name as optionName, a.image as image, a.likes_cnt as likesCnt @@ -63,7 +64,7 @@ <if test="record != null"> <if test="record.query != null and record.query != ''"> and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%')) a.option_name like CONCAT('%', CONCAT(#{record.query}, '%')) or a.order_cnt = #{record.query} ) @@ -114,7 +115,7 @@ <if test="record != null"> <if test="record.query != null and record.query != ''"> and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%')) a.option_name like CONCAT('%', CONCAT(#{record.query}, '%')) or a.order_cnt = #{record.query} ) src/main/resources/templates/febs/views/modules/votesActivity/optionList.html
@@ -222,7 +222,7 @@ var params = getQueryParams(); var queryString = Object.keys(params).map(key => `${key}=${encodeURIComponent(params[key])}`).join('&'); window.location.href = ctx + 'admin/votesOption/exportOptionList?' + queryString; window.location.href = ctx + 'admin/happyActivity/exportOptionList?' + queryString; }); // 刷新按钮 $reset.on('click', function () {