From 16207f06b1aae069c05657c178855388a2bcf5b2 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 26 八月 2025 18:45:09 +0800 Subject: [PATCH] 会员支付相关 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java | 144 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 144 insertions(+), 0 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java index caeeeb5..ee54dfc 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipPaymentController.java @@ -11,18 +11,27 @@ import com.dsh.guns.modular.system.model.TStore; import com.dsh.guns.modular.system.model.Vip; import com.dsh.guns.modular.system.model.dto.VipDetailDto; +import com.dsh.guns.modular.system.model.dto.VipPaymentDto; import com.dsh.guns.modular.system.model.vo.VipDetailVO; +import com.dsh.guns.modular.system.model.vo.VipPaymentListVO; import com.dsh.guns.modular.system.service.IStoreService; import com.dsh.guns.modular.system.service.ITSiteService; import com.dsh.guns.modular.system.service.IVipService; import com.dsh.guns.modular.system.service.TOperatorService; +import com.dsh.guns.modular.system.util.DateUtil; +import com.dsh.guns.modular.system.util.ExcelUtil; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.List; import java.util.stream.Collectors; @@ -176,6 +185,141 @@ } return res; } + /** + * 导出会员权益明细 + * @param + */ + @GetMapping("/export") + public void exportData(String vipName, Integer type + , String phone, String storeName + , Integer operatorId, Integer status + , String time + , String useTime, HttpServletResponse response) { + Integer objectType = UserExt.getUser().getObjectType(); + Integer objectId = UserExt.getUser().getObjectId(); + VipDetailDto vipDetailDto = new VipDetailDto(); + vipDetailDto.setOperatorId(operatorId); + vipDetailDto.setStatus(status); + vipDetailDto.setType(type); + vipDetailDto.setObjectType(objectType); + if (objectType == 2){ + vipDetailDto.setStatus(2); + } + if (StringUtils.hasLength(vipName)){ + List<Integer> vipIds = vipService.lambdaQuery().like(Vip::getVipName, vipName) + .list().stream().map(Vip::getId).collect(Collectors.toList()); + if (vipIds.isEmpty()){ + vipIds.add(-1); + } + vipDetailDto.setVipIds(vipIds); + } + if (StringUtils.hasLength(phone)){ + QueryByNamePhone queryByNamePhone = new QueryByNamePhone(); + queryByNamePhone.setPhone( phone); + List<Integer> userIds = appUserClient.queryByNamePhone(queryByNamePhone).stream().map(TAppUser::getId) + .collect(Collectors.toList()); + if (userIds.isEmpty()){ + userIds.add(-1); + } + vipDetailDto.setUserIds(userIds); + + } + if (StringUtils.hasLength(storeName)){ + List<Integer> storeIds = storeService.lambdaQuery().like(TStore::getName, storeName) + .eq(objectType!=1,TStore::getOperatorId,objectId ).list() + .stream().map(TStore::getId).collect(Collectors.toList()); + if (storeIds.isEmpty()){ + storeIds.add(-1); + } + vipDetailDto.setStoreIds(storeIds); + } + + if (StringUtils.hasLength(time)){ + String stareTime = null; + String endTime = null; + stareTime = time.split(" - ")[0] + " 00:00:00"; + endTime = time.split(" - ")[1] + " 23:59:59"; + vipDetailDto.setStartTime(stareTime); + vipDetailDto.setEndTime(endTime); + } + if (StringUtils.hasLength(useTime)){ + String stareTime = null; + String endTime = null; + stareTime = time.split(" - ")[0] + " 00:00:00"; + endTime = time.split(" - ")[1] + " 23:59:59"; + vipDetailDto.setUseStartTime(stareTime); + vipDetailDto.setUseEndTime(endTime); + } + List<VipDetailVO> res = couponClient.vipDetail(vipDetailDto); + QueryByNamePhone queryByNamePhone = new QueryByNamePhone(); + List<TAppUser> tAppUsers = appUserClient.queryByNamePhone(queryByNamePhone); + List<Vip> vipList = vipService.list(); + List<TStore> storeList = storeService.list(); + List<TSite> siteList = siteService.list(); + List<TOperator> operatorList = operatorService.list(); + for (VipDetailVO re : res) { + TAppUser tAppUser = tAppUsers.stream().filter(e -> e.getId().equals(re.getAppUserId())).findFirst().orElse(null); + if (tAppUser!=null){ + re.setAppUserName(tAppUser.getName()); + re.setAppUserPhone(tAppUser.getPhone()); + } + Vip vip = vipList.stream().filter(e -> e.getId().equals(re.getVipId())).findFirst().orElse(null); + if (vip!=null){ + re.setVipName(vip.getVipName()); + } + if (re.getUseSiteId()!=null){ + TSite site = siteList.stream().filter(e -> e.getId().equals(re.getUseSiteId())).findFirst().orElse(null); + if (site!=null){ + re.setGoodsName(site.getName()); + } + } + if (re.getUseStoreId()!=null){ + TStore store = storeList.stream().filter(e -> e.getId().equals(re.getUseStoreId())).findFirst().orElse(null); + if (store!=null){ + re.setStoreName(store.getName()); + } + } + if (re.getOperatorId()!=null){ + if (re.getOperatorId()==0){ + re.setOperatorName("总平台"); + }else{ + TOperator operator = operatorList.stream().filter(e -> e.getId().equals(re.getOperatorId())).findFirst().orElse(null); + if (operator!=null){ + re.setOperatorName(operator.getName()); + } + } + + } + } + + String[] titleArr = {"权益名称", "权益类型", "关联会员类型", "购买会员姓名", "联系电话", "使用状态", "使用场地/商品名称", "使用门店", "归属运营商", "获得时间", "使用时间"}; + String[][] values = new String[res.size()][]; + for (int i = 0; i < res.size(); i++) { + VipDetailVO vipDetailVO = res.get(i); + values[i] = new String[titleArr.length]; + values[i][0] = vipDetailVO.getTicketName(); + values[i][1] = vipDetailVO.getType()==1 ? "优惠券" : "门票"; + values[i][2] = vipDetailVO.getVipName(); + values[i][3] = vipDetailVO.getAppUserName(); + values[i][4] = vipDetailVO.getAppUserPhone(); + values[i][5] = vipDetailVO.getStatus() == 1 ? "未使用" : vipDetailVO.getStatus()==2 ? "已使用" : "已过期"; + values[i][6] = vipDetailVO.getGoodsName(); + values[i][7] = vipDetailVO.getStoreName(); + values[i][8] = vipDetailVO.getOperatorName(); + values[i][9] = DateUtil.format(vipDetailVO.getInsertTime(), "yyyy-MM-dd HH:mm:ss"); + values[i][10] = vipDetailVO.getUseTime()!=null?DateUtil.format(vipDetailVO.getUseTime(), "yyyy-MM-dd HH:mm:ss"):""; + } + try { + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("会员权益使用明细", titleArr, values, null); + ExcelUtil.setResponseHeader(response, "会员权益使用明细.xls"); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } } -- Gitblit v1.7.1