| @@ -7,13 +7,9 @@ import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.BaseEntity.SortField; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumOfflineActivityAwardsMoneyRule; | |||
| import com.iformall.enums.EnumOfflineActivityMerchantType; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.service.WxOfflineActivityGrantAwardService; | |||
| import com.iformall.service.WxOfflineActivityRecordService; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| import io.swagger.annotations.ApiImplicitParams; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import jodd.util.StringUtil; | |||
| @@ -22,7 +18,8 @@ import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import java.math.BigDecimal; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| @@ -51,7 +48,7 @@ public class WxOfflineActivityGrantController extends BaseController { | |||
| TenantEntity tenantInfo = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantInfo); | |||
| Map<String,Object> statisticsMap = wxOfflineActivityGrantAwardService.getRecordStatistics(wxOfflineActivityRecord.getActivityId(),wxOfflineActivityRecord); | |||
| Map<String,Object> statisticsMap = wxOfflineActivityGrantAwardService.getRecordStatistics(wxOfflineActivityRecord); | |||
| return new ResultData(statisticsMap); | |||
| } | |||
| @@ -69,11 +66,27 @@ public class WxOfflineActivityGrantController extends BaseController { | |||
| TenantEntity tenantInfo = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantInfo); | |||
| wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC); | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityGrantAwardService.getRecordList(wxOfflineActivityRecord.getActivityId(),wxOfflineActivityRecord); | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityGrantAwardService.getRecordList(wxOfflineActivityRecord); | |||
| return new ResultData(recordList); | |||
| } | |||
| @ApiOperation("参加活动用户订单导出") | |||
| @GetMapping("/recordExport") | |||
| public void recordExport(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord, HttpServletRequest request, HttpServletResponse response) { | |||
| if(wxOfflineActivityRecord.getActivityId() == null){ | |||
| throw new MallinkException(Result.ERROR,"请选择活动"); | |||
| } | |||
| if(StringUtil.isBlank(wxOfflineActivityRecord.getCusPhone())){ | |||
| throw new MallinkException(Result.ERROR,"请输入用户手机号"); | |||
| } | |||
| TenantEntity tenantInfo = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantInfo); | |||
| wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC); | |||
| wxOfflineActivityGrantAwardService.recordExport(request,response,wxOfflineActivityRecord); | |||
| } | |||
| @ApiOperation("活动发放") | |||
| @PostMapping("grantAward") | |||
| public ResultData grantAward(@RequestBody WxOfflineActivityGrantAward wxOfflineActivityGrantAward) { | |||
| @@ -4,16 +4,14 @@ import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.WxOfflineActivity; | |||
| import com.iformall.domain.po.WxOfflineActivityAwardsItem; | |||
| import com.iformall.domain.po.WxOfflineActivityItem; | |||
| import com.iformall.domain.po.WxOfflineActivityRecord; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.BaseEntity.SortField; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumOfflineActivityAwardsMoneyRule; | |||
| import com.iformall.enums.EnumOfflineActivityMerchantType; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.enums.EnumOfflineActivityStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.service.WxOfflineActivityRecordService; | |||
| import com.iformall.service.WxOfflineActivityService; | |||
| import io.swagger.annotations.Api; | |||
| @@ -26,6 +24,8 @@ import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| /** | |||
| @@ -55,6 +55,16 @@ public class WxOfflineActivityRecordController extends BaseController { | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("导出") | |||
| @GetMapping("/export") | |||
| public void export(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord, HttpServletRequest request, HttpServletResponse response) { | |||
| if (null == wxOfflineActivityRecord) wxOfflineActivityRecord = new WxOfflineActivityRecord(); | |||
| TenantEntity tenantInfo = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantInfo); | |||
| wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC); | |||
| wxOfflineActivityRecordService.exportData(request,response,wxOfflineActivityRecord); | |||
| } | |||
| @ApiOperation("审核通过") | |||
| @PostMapping("audiPass") | |||
| @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService; | |||
| import com.iformall.domain.po.WxOfflineActivityRecord; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| @@ -15,11 +17,13 @@ import java.util.Map; | |||
| */ | |||
| public interface WxOfflineActivityGrantAwardService { | |||
| Map<String, Object> getRecordStatistics(Long activityId, WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| Map<String, Object> getRecordStatistics(WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| List<WxOfflineActivityRecord> getRecordList(Long activityId, WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| List<WxOfflineActivityRecord> getRecordList(WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| void grantAward(WxOfflineActivityGrantAward wxOfflineActivityGrantAward); | |||
| Map<String, Object> cusStatistics(TenantEntity tenantInfo); | |||
| void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| } | |||
| @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.IService; | |||
| import com.iformall.domain.po.WxRaffleActivityRecord; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.util.Map; | |||
| /** | |||
| @@ -27,4 +29,6 @@ public interface WxOfflineActivityRecordService { | |||
| void auditRecord(WxOfflineActivityRecord wxOfflineActivityRecord, Long userId); | |||
| Map<String, Object> orderStatistics(TenantEntity tenantInfo); | |||
| void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); | |||
| } | |||
| @@ -15,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| import java.text.NumberFormat; | |||
| import java.util.*; | |||
| @@ -61,14 +63,12 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| @Autowired | |||
| MallUserInfoService mallUserInfoService; | |||
| @Autowired | |||
| ExcelService excelService; | |||
| @Override | |||
| public Map<String, Object> getRecordStatistics(Long activityId, WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| WxOfflineActivity activity = wxOfflineActivityMapper.selectById(activityId, wxOfflineActivityRecord.getTenantId()); | |||
| if (activity == null) { | |||
| return Collections.emptyMap(); | |||
| } | |||
| wxOfflineActivityRecord.setCreateDateBegin(activity.getStartTime()); | |||
| wxOfflineActivityRecord.setCreateDateEnd(activity.getEndTime()); | |||
| public Map<String, Object> getRecordStatistics(WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| handlerRecordQuery(wxOfflineActivityRecord); | |||
| WxOfflineActivityRecord limitOne = wxOfflineActivityRecordMapper.selectLimitOne(wxOfflineActivityRecord); | |||
| Map<String, Object> result = new HashMap<>(); | |||
| Integer audting = 0, audi_success = 0, audt_fail = 0,sum_success = 0, sum_fail = 0; | |||
| @@ -102,10 +102,18 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| } | |||
| @Override | |||
| public List<WxOfflineActivityRecord> getRecordList(Long activityId, WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| WxOfflineActivity activity = wxOfflineActivityMapper.selectById(activityId, wxOfflineActivityRecord.getTenantId()); | |||
| public List<WxOfflineActivityRecord> getRecordList(WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| handlerRecordQuery(wxOfflineActivityRecord); | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | |||
| handlerRecordList(wxOfflineActivityRecord,recordList); | |||
| return recordList; | |||
| } | |||
| private void handlerRecordQuery(WxOfflineActivityRecord wxOfflineActivityRecord){ | |||
| WxOfflineActivity activity = wxOfflineActivityMapper.selectById(wxOfflineActivityRecord.getActivityId(), wxOfflineActivityRecord.getTenantId()); | |||
| if (activity == null) { | |||
| return Collections.emptyList(); | |||
| wxOfflineActivityRecord.setId(-1l); | |||
| return; | |||
| } | |||
| wxOfflineActivityRecord.setCreateDateBegin(activity.getStartTime()); | |||
| wxOfflineActivityRecord.setCreateDateEnd(activity.getEndTime()); | |||
| @@ -117,21 +125,17 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| List<Long> merchantIds = wxOfflineActivityMerchantMapper.getMerchantIdList(activity.getId(), activity.getTenantId()); | |||
| wxOfflineActivityRecord.setNotMerchantIdList(merchantIds); | |||
| } | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | |||
| handlerRecordList(wxOfflineActivityRecord,activity,recordList); | |||
| return recordList; | |||
| } | |||
| private void handlerRecordList(TenantEntity tenantEntity, WxOfflineActivity activity, List<WxOfflineActivityRecord> recordList) { | |||
| private void handlerRecordList(WxOfflineActivityRecord wxOfflineActivityRecord, List<WxOfflineActivityRecord> recordList) { | |||
| if (recordList == null || recordList.isEmpty()) { | |||
| return; | |||
| } | |||
| WxMerchant merchantQ = new WxMerchant(); | |||
| merchantQ.updateTenantInfo(tenantEntity); | |||
| merchantQ.updateTenantInfo(wxOfflineActivityRecord); | |||
| Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | |||
| MallUserInfo userInfoQ = new MallUserInfo(); | |||
| userInfoQ.updateTenantInfo(tenantEntity); | |||
| userInfoQ.updateTenantInfo(wxOfflineActivityRecord); | |||
| Map<Long, MallUserInfo> userMap = mallUserInfoService.getUserMap(userInfoQ); | |||
| for (WxOfflineActivityRecord record : recordList) { | |||
| @@ -140,7 +144,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| record.setAuditByName(userMap.get(record.getAuditBy()).getName()); | |||
| } | |||
| //判断订单是否发奖 | |||
| Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(tenantEntity.getTenantId(),activity.getId(),record.getId()); | |||
| Integer grantCount = wxOfflineActivityRecordGrantMapper.selectGrantCount(wxOfflineActivityRecord.getTenantId(),wxOfflineActivityRecord.getActivityId(),record.getId()); | |||
| if(grantCount >= 1){ | |||
| record.setAuditStatus(EnumOfflineActivityRecordStatus.IS_GRANT.getCode()); | |||
| } | |||
| @@ -377,6 +381,14 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity | |||
| return result; | |||
| } | |||
| @Override | |||
| public void recordExport(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| handlerRecordQuery(wxOfflineActivityRecord); | |||
| List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findList(wxOfflineActivityRecord); | |||
| handlerRecordList(wxOfflineActivityRecord,recordList); | |||
| excelService.exportExcel(recordList, null, "用户参加活动订单列表", WxOfflineActivityGrantSettlement.class, "用户参加活动订单列表.xlsx", response, false); | |||
| } | |||
| } | |||
| @@ -1,7 +1,6 @@ | |||
| package com.iformall.service.impl; | |||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.IdWorker; | |||
| @@ -10,6 +10,7 @@ import com.iformall.domain.vo.OfflineActivityRecordStatistics; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.mapper.WxMerchantMapper; | |||
| import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.MallUserInfoService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxOfflineActivityRecordService; | |||
| @@ -18,6 +19,8 @@ import com.iformall.utils.DateUtils; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.text.NumberFormat; | |||
| import java.util.*; | |||
| @@ -42,6 +45,9 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||
| @Autowired | |||
| MallUserInfoService mallUserInfoService; | |||
| @Autowired | |||
| ExcelService excelService; | |||
| @Override | |||
| public PageInfo<WxOfflineActivityRecord> listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize) { | |||
| handlerQuery(record); | |||
| @@ -222,6 +228,14 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||
| result.put("weekPercentage",weekPercentage); | |||
| return result; | |||
| } | |||
| @Override | |||
| public void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord record) { | |||
| handlerQuery(record); | |||
| List<WxOfflineActivityRecord> list = wxOfflineActivityRecordMapper.findList(record); | |||
| handlerRecordList(record,list); | |||
| excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false); | |||
| } | |||
| } | |||