From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 728 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 715 insertions(+), 13 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java index 39bbbfe..98ae1de 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java @@ -1,15 +1,21 @@ package com.dsh.guns.modular.system.controller.code; +import com.dsh.course.feignClient.account.*; +import com.dsh.course.feignClient.competition.model.Competition; +import com.dsh.course.feignClient.competition.model.CompetitionQuery; +import com.dsh.course.feignClient.competition.model.PaymentCompetition; +import com.dsh.course.feignClient.competition.model.TCompetition; +import com.dsh.course.feignClient.other.SiteClient; +import com.google.common.collect.Lists; import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.dsh.course.feignClient.account.AppUserClient; -import com.dsh.course.feignClient.account.CityClient; -import com.dsh.course.feignClient.account.FinanceClient; import com.dsh.course.feignClient.account.model.*; import com.dsh.course.feignClient.competition.CompetitionClient; import com.dsh.course.feignClient.course.CancelledClassesClient; +import com.dsh.course.feignClient.course.CoursePackagePaymentClient; +import com.dsh.course.feignClient.other.StoreClient; import com.dsh.course.mapper.UserMapper; import com.dsh.guns.config.UserExt; import com.dsh.guns.core.base.controller.BaseController; @@ -17,14 +23,14 @@ import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; import com.dsh.guns.modular.system.model.*; -import com.dsh.guns.modular.system.service.ICityService; -import com.dsh.guns.modular.system.service.IEvaluationService; -import com.dsh.guns.modular.system.service.IStoreService; -import com.dsh.guns.modular.system.service.StoreConfigService; +import com.dsh.guns.modular.system.service.*; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; +import com.sun.org.apache.bcel.internal.generic.NEW; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -33,6 +39,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.stream.Collectors; /** * 财务控制器 @@ -48,23 +55,33 @@ @Autowired private ICityService cityService; @Autowired + private IRegionService regionService; + @Autowired private FinanceClient financeClient; @Autowired private CancelledClassesClient cancelledClassesClient; + @Autowired + private StoreClient storeClient; + @Autowired + private CoursePackagePaymentClient coursePackagePaymentClient; + @Autowired + private VipPaymentClient vipPaymentClient; + @Autowired + private CompetitionClient competitionClient; + @Autowired + private SiteClient siteClient; + /** * 跳转到充值记录页面 */ @RequestMapping("/rechargeRecords") public String index(Model model) { - List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); model.addAttribute("list",list); - Integer objectType = UserExt.getUser().getObjectType(); Integer objectId = UserExt.getUser().getObjectId(); model.addAttribute("userType",objectType); - // 去重 String roleid = UserExt.getUser().getRoleid(); model.addAttribute("objectType",objectType); return PREFIX + "RechargeRecords.html"; @@ -76,9 +93,20 @@ @ResponseBody public List<RechargeRecordsVO> list(String province, String city, String name, String phone,String time,Integer type) { RechargeRecordsQuery coachQuery = new RechargeRecordsQuery(); - coachQuery.setProvince(province); - coachQuery.setCity(city); + Region provinceCode = regionService.getOne(new QueryWrapper<Region>().eq("code", province)); + Region cityCode = regionService.getOne(new QueryWrapper<Region>().eq("code", city)); + if (provinceCode!=null){ + coachQuery.setProvince(provinceCode.getName()); + }else{ + coachQuery.setProvince(province); + } + if (cityCode!=null){ + coachQuery.setCity(cityCode.getName()); + }else{ + coachQuery.setCity(city); + } coachQuery.setName(name); + coachQuery.setPhone(phone); coachQuery.setTime(time); coachQuery.setType(type); @@ -100,11 +128,75 @@ coachQuery.setType(type); List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(coachQuery); BigDecimal total = new BigDecimal("0.00"); + BigDecimal result = new BigDecimal("0.00"); for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { BigDecimal amount = rechargeRecordsVO.getAmount(); - total.add(amount); + total = total.add(amount); // 将新的值赋给total + result = result.add(amount); // 将新的值赋给result } return total; + } + /** + * 获取报名订单统计数据 + */ + @RequestMapping(value = "/getData") + @ResponseBody + public RegisterDataVO getData(String province,String city,Integer storeId,String registerTime + ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) { + RegisterDataVO registerDataVO = new RegisterDataVO(); + RegisterOrderQuery query = new RegisterOrderQuery(); + query.setProvince(province); + query.setCity(city); + query.setStoreId(storeId); + query.setInsertType(UserExt.getUser().getObjectType()); + if(UserExt.getUser().getObjectType()==2){ + List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>() + .eq("operatorId", UserExt.getUser().getObjectId())).stream() + .map(TStore::getId).collect(Collectors.toList()); + query.setStoresIds(operatorId); + } + if(UserExt.getUser().getObjectType()==3){ + query.setStoreId(UserExt.getUser().getObjectId()); + } + query.setRegisterTime(registerTime); + query.setUserName(userName); + query.setUserIds(Lists.newArrayList()); + query.setPhone(phone); + query.setStudentName(studentName); + query.setStudentIds(Lists.newArrayList()); + query.setCoursePackageName(coursePackageName); + query.setSalesName(salesName); + query.setOrderSource(orderSource); + + AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); + appUserByNameAndPhoneDTO.setUserName(query.getUserName()); + appUserByNameAndPhoneDTO.setPhone(query.getPhone()); + List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); + // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中 + List<Integer> userIds = tAppUsers.stream() + .map(TAppUser::getId) // 使用方法引用获取每个对象的 id + .collect(Collectors.toList()); + query.setUserIds(userIds); + if (userIds.size()!=0){ + List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); + BigDecimal total = new BigDecimal("0.00"); + BigDecimal result = new BigDecimal("0.00"); + int playPaiCoin = 0 ; + for (RegisterOrderVO rechargeRecordsVO : registerOrderVOS) { + if (rechargeRecordsVO.getMoney()!=null){ + BigDecimal amount = rechargeRecordsVO.getMoney(); + total = total.add(amount); // 将新的值赋给total + result = result.add(amount); // 将新的值赋给result + } + if (rechargeRecordsVO.getPlayPaiCoin()!=null){ + playPaiCoin += rechargeRecordsVO.getPlayPaiCoin(); + } + } + registerDataVO.setCashPayment(total); + registerDataVO.setTotalOrder(registerOrderVOS.size()); + registerDataVO.setPlayPaiCoin(playPaiCoin); + } + return registerDataVO; } /** * 跳转到消课记录页面 @@ -117,6 +209,559 @@ return PREFIX + "CancelledClasses.html"; } /** + * 根据市获取门店 + */ + @RequestMapping(value = "/getStore") + @ResponseBody + public List<Store> getStore(String city) { + return storeClient.getStore(city); + } + /** + * 跳转到消课记录页面 + */ + @RequestMapping("/registrationOrder") + public String registrationOrder(Model model) { + List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0)); + model.addAttribute("list",list); + Integer objectType = UserExt.getUser().getObjectType(); + model.addAttribute("userType",objectType); + model.addAttribute("roleType",objectType); + return PREFIX + "RegistrationOrder.html"; + } + /** + * 跳转到消课记录页面 + */ + @RequestMapping("/income") + public String income(Model model) { + Integer objectType = UserExt.getUser().getObjectType(); + model.addAttribute("roleType",objectType); + return PREFIX + "Income.html"; + } + /** + * 获取收入管理列表 + */ + @RequestMapping(value = "/incomeListAll") + @ResponseBody + public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) { + + // 充值记录查询query + RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery(); + // 报名课程查询query + RegisterOrderQuery query = new RegisterOrderQuery(); + query.setInsertType(UserExt.getUser().getObjectType()); + if(UserExt.getUser().getObjectType()==2){ + query.setStoresIds(storeService.list(new QueryWrapper<TStore>() + .eq("operatorId",UserExt.getUser().getObjectId()) + ).stream().map(TStore::getId).collect(Collectors.toList())); + } + // 赛事活动查询query + CompetitionQuery competitionQuery = new CompetitionQuery(); + // 会员支付查询query + IncomeQuery incomeQuery = new IncomeQuery(); + // 场地预约记录查询query + SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); + AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); + appUserByNameAndPhoneDTO.setUserName(userName); + if (userName!=null){ + if (!userName.equals("")){ + List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); + // 用户ids + List<Integer> collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); + competitionQuery.setUserIds(collect); + rechargeRecordsQuery.setUserIds(collect); + query.setUserIds(collect); + incomeQuery.setUserIds(collect); + siteBookingQuery.setUserIds(collect); + } + } + if (amount==null || amount.equals("")){ + siteBookingQuery.setAmount(null); + query.setAmount(null); + rechargeRecordsQuery.setAmount(null); + competitionQuery.setAmount(null); + incomeQuery.setAmount(null); + }else { + siteBookingQuery.setAmount(new BigDecimal(amount)); + query.setAmount(new BigDecimal(amount)); + rechargeRecordsQuery.setAmount(new BigDecimal(amount)); + competitionQuery.setAmount(new BigDecimal(amount)); + incomeQuery.setAmount(new BigDecimal(amount)); + } + if (UserExt.getUser().getObjectType()==2){ + // 拿到门店集合id + List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>() + .eq("operatorId", UserExt.getUser().getObjectId())).stream() + .map(TStore::getId).collect(Collectors.toList()); + query.setStoresIds(operatorId); + competitionQuery.setOperatorId(UserExt.getUser().getObjectId()); + siteBookingQuery.setStoreIds(operatorId); + } + + siteBookingQuery.setTime(time); + query.setRegisterTime(time); + rechargeRecordsQuery.setTime(time); + competitionQuery.setTime(time); + incomeQuery.setTime(time); + Integer roleType = UserExt.getUser().getObjectType(); + IncomeVO incomeVO = new IncomeVO(); + List<IncomeVO> incomeVOS = new ArrayList<>(); + + if ( incomeType==null || incomeType == 1){ + // 会员支付记录 + List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery); + for (VipPayment vipPayment : vipPayments) { + if (UserExt.getUser().getObjectType()!=1){ + break; + } + TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(vipPayment.getId()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setStoreName(""); + temp.setAmount(new BigDecimal(vipPayment.getAmount().toString())); + temp.setIncomeType(1); + temp.setState(vipPayment.getState()); + temp.setInsertTime(vipPayment.getInsertTime()); + if (UserExt.getUser().getObjectType()!=1){ + break; + } + incomeVOS.add(temp); + } + } + if ( incomeType==null || incomeType == 2) { + // 充值记录 + List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); + for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { + if (UserExt.getUser().getObjectType()!=1){ + break; + } + TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(rechargeRecordsVO.getId().intValue()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setStoreName(""); + temp.setInsertTime(rechargeRecordsVO.getInsertTime()); + if (rechargeRecordsVO.getAmount() != null) { + temp.setAmount(rechargeRecordsVO.getAmount()); + } + temp.setIncomeType(2); + temp.setState(rechargeRecordsVO.getPayStatus()); + + incomeVOS.add(temp); + } + } + if ( incomeType==null || incomeType == 3) { + // 报名课程记录 + List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); + for (RegisterOrderVO registerOrderVO : registerOrderVOS) { + if (registerOrderVO.getMoney() == null) { + continue; + } + TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(registerOrderVO.getId().intValue()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + + temp.setStoreName(registerOrderVO.getStoreName()); + + temp.setInsertTime(registerOrderVO.getInsertTime()); + if (registerOrderVO.getMoney() != null) { + temp.setAmount(registerOrderVO.getMoney()); + } + temp.setIncomeType(3); + temp.setState(registerOrderVO.getPayStatus()); + incomeVOS.add(temp); + } + } + if(roleType !=3) { + if (incomeType == null || incomeType == 4) { + // 报名活动 + List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery); + for (PaymentCompetition competition : competitions) { + if (competition.getPayStatus() == 3) { + continue; + } + IncomeVO temp = new IncomeVO(); + TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); + Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); + if(null == competition1){ + continue; + } + if (!competition1.getStoreId().equals("")){ + String[] split = competition1.getStoreId().split(","); + List<Integer> list = new ArrayList<>(); + for (String s : split) { + list.add(Integer.valueOf(s)); + } + List<TStore> id = storeService.list(new QueryWrapper<TStore>().in("id", list)); + StringBuilder storeNames = new StringBuilder(""); + for (TStore store : id) { + // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称) + storeNames.append(store.getName() + ","); + } + String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1); + + temp.setStoreName(substring); + } + temp.setId(competition.getId().intValue()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setInsertTime(competition.getInsertTime()); + if (competition.getAmount() != null) { + temp.setAmount(new BigDecimal(competition.getAmount().toString())); + } + temp.setIncomeType(4); + temp.setState(competition.getPayStatus()); + incomeVOS.add(temp); + } + } + } + if (incomeType == null || incomeType == 5) { + // 预约场地 + List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery); + for (SiteBooking siteBooking : siteBookings) { + IncomeVO temp = new IncomeVO(); + if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) { + temp.setState(1); + } else { + temp.setState(2); + } + TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId()); + Store store = storeClient.getStoreById(siteBooking.getStoreId()); + + temp.setId(siteBooking.getId()); + temp.setProvince(siteBooking.getProvince()); + temp.setCity(siteBooking.getCity()); + temp.setStoreName(store.getName()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + + temp.setInsertTime(siteBooking.getInsertTime()); + if (siteBooking.getPayMoney() != null) { + temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString())); + } + temp.setIncomeType(5); + incomeVOS.add(temp); + } + } + return incomeVOS; + } + + /** + * 获取收入管理列表 + */ + @RequestMapping(value = "/getIncomeData") + @ResponseBody + public Object getIncomeData(String time,Integer incomeType,String userName,String amount) { + // 充值记录查询query + RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery(); + // 报名课程查询query + RegisterOrderQuery query = new RegisterOrderQuery(); + query.setInsertType(UserExt.getUser().getObjectType()); + query.setStoresIds(storeService.list(new QueryWrapper<TStore>() + .eq("operatorId",UserExt.getUser().getObjectId())) + .stream().map(TStore::getId).collect(Collectors.toList())); + // 赛事活动查询query + CompetitionQuery competitionQuery = new CompetitionQuery(); + // 会员支付查询query + IncomeQuery incomeQuery = new IncomeQuery(); + // 场地预约记录查询query + SiteBookingQuery siteBookingQuery = new SiteBookingQuery(); + AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); + appUserByNameAndPhoneDTO.setUserName(userName); + if (userName!=null){ + if (!userName.equals("")){ + List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); + // 用户ids + List<Integer> collect = tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()); + competitionQuery.setUserIds(collect); + rechargeRecordsQuery.setUserIds(collect); + query.setUserIds(collect); + incomeQuery.setUserIds(collect); + siteBookingQuery.setUserIds(collect); + } + } + if (amount==null || amount.equals("")){ + siteBookingQuery.setAmount(null); + query.setAmount(null); + rechargeRecordsQuery.setAmount(null); + competitionQuery.setAmount(null); + incomeQuery.setAmount(null); + }else { + siteBookingQuery.setAmount(new BigDecimal(amount)); + query.setAmount(new BigDecimal(amount)); + rechargeRecordsQuery.setAmount(new BigDecimal(amount)); + competitionQuery.setAmount(new BigDecimal(amount)); + incomeQuery.setAmount(new BigDecimal(amount)); + } + if (UserExt.getUser().getObjectType()==2){ + // 拿到门店集合id + List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>() + .eq("operatorId", UserExt.getUser().getObjectId())).stream() + .map(TStore::getId).collect(Collectors.toList()); + query.setStoresIds(operatorId); + competitionQuery.setOperatorId(UserExt.getUser().getObjectId()); + siteBookingQuery.setStoreIds(operatorId); + } + + siteBookingQuery.setTime(time); + query.setRegisterTime(time); + rechargeRecordsQuery.setTime(time); + competitionQuery.setTime(time); + incomeQuery.setTime(time); + Integer roleType = UserExt.getUser().getObjectType(); + IncomeVO incomeVO = new IncomeVO(); + List<IncomeVO> incomeVOS = new ArrayList<>(); + + if ( incomeType==null || incomeType == 1){ + // 会员支付记录 + List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery); + for (VipPayment vipPayment : vipPayments) { + if (UserExt.getUser().getObjectType()!=1){ + break; + } + TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(vipPayment.getId()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setStoreName(""); + temp.setAmount(new BigDecimal(vipPayment.getAmount().toString())); + temp.setIncomeType(1); + temp.setState(vipPayment.getState()); + temp.setInsertTime(vipPayment.getInsertTime()); + if (UserExt.getUser().getObjectType()!=1){ + break; + } + incomeVOS.add(temp); + } + } + if ( incomeType==null || incomeType == 2) { + // 充值记录 + List<RechargeRecordsVO> rechargeRecordsVOS = financeClient.rechargeList(rechargeRecordsQuery); + for (RechargeRecordsVO rechargeRecordsVO : rechargeRecordsVOS) { + if (UserExt.getUser().getObjectType()!=1){ + break; + } + TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(rechargeRecordsVO.getId().intValue()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setStoreName(""); + temp.setInsertTime(rechargeRecordsVO.getInsertTime()); + if (rechargeRecordsVO.getAmount() != null) { + temp.setAmount(rechargeRecordsVO.getAmount()); + } + temp.setIncomeType(2); + temp.setState(rechargeRecordsVO.getPayStatus()); + + incomeVOS.add(temp); + } + } + if ( incomeType==null || incomeType == 3) { + // 报名课程记录 + List<RegisterOrderVO> registerOrderVOS = coursePackagePaymentClient.listAllRegister(query); + for (RegisterOrderVO registerOrderVO : registerOrderVOS) { + if (registerOrderVO.getMoney() == null) { + continue; + } + TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId()); + IncomeVO temp = new IncomeVO(); + temp.setId(registerOrderVO.getId().intValue()); + if (registerOrderVO.getPayStatus()==2) { + temp.setState(2); + } else { + temp.setState(1); + } + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + + temp.setStoreName(registerOrderVO.getStoreName()); + + temp.setInsertTime(registerOrderVO.getInsertTime()); + if (registerOrderVO.getMoney() != null) { + temp.setAmount(registerOrderVO.getMoney()); + } + temp.setIncomeType(3); + temp.setState(registerOrderVO.getPayStatus()); + incomeVOS.add(temp); + } + } + if(roleType !=3) { + if (incomeType == null || incomeType == 4) { + // 报名活动 + List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery); + for (PaymentCompetition competition : competitions) { + if (competition.getPayStatus() == 3) { + continue; + } + IncomeVO temp = new IncomeVO(); + TAppUser tAppUser = appUserClient.queryById(competition.getAppUserId()); + Competition competition1 = competitionClient.queryById(competition.getCompetitionId()); + if(null == competition1){ + continue; + } + if (!competition1.getStoreId().equals("")){ + String[] split = competition1.getStoreId().split(","); + List<Integer> list = new ArrayList<>(); + for (String s : split) { + list.add(Integer.valueOf(s)); + } + List<TStore> id = storeService.list(new QueryWrapper<TStore>().in("id", list)); + StringBuilder storeNames = new StringBuilder(""); + for (TStore store : id) { + // 赛事举办门店 (可能会有多个门店举办 需要拼接门店名称) + storeNames.append(store.getName() + ","); + } + String substring = storeNames.toString().substring(0, storeNames.toString().length() - 1); + + temp.setStoreName(substring); + } + if (competition.getPayStatus()==2) { + temp.setState(2); + } else { + temp.setState(1); + } + temp.setId(competition.getId().intValue()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + temp.setInsertTime(competition.getInsertTime()); + if (competition.getAmount() != null) { + temp.setAmount(new BigDecimal(competition.getAmount().toString())); + } + temp.setIncomeType(4); + temp.setState(competition.getPayStatus()); + incomeVOS.add(temp); + } + } + } + if (incomeType == null || incomeType == 5) { + // 预约场地 + List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery); + for (SiteBooking siteBooking : siteBookings) { + IncomeVO temp = new IncomeVO(); + if (siteBooking.getStatus() == 0 || siteBooking.getStatus() == 5 || siteBooking.getStatus() == 4) { + temp.setState(1); + } else { + temp.setState(2); + } + TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId()); + Store store = storeClient.getStoreById(siteBooking.getStoreId()); + + temp.setId(siteBooking.getId()); + temp.setProvince(siteBooking.getProvince()); + temp.setCity(siteBooking.getCity()); + temp.setStoreName(store.getName()); + if (tAppUser!=null){ + if (tAppUser.getProvince()!=null){ + temp.setProvince(tAppUser.getProvince()); + } + if (tAppUser.getCity()!=null){ + temp.setCity(tAppUser.getCity()); + } + temp.setPayUser(tAppUser.getName()); + temp.setPhone(tAppUser.getPhone()); + } + + temp.setInsertTime(siteBooking.getInsertTime()); + if (siteBooking.getPayMoney() != null) { + temp.setAmount(new BigDecimal(siteBooking.getPayMoney().toString())); + } + temp.setIncomeType(5); + incomeVOS.add(temp); + } + } + + BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0 + + for (IncomeVO vo : incomeVOS) { + if (vo.getAmount() == null ){ + BigDecimal temp = BigDecimal.ZERO; + totalAmount = totalAmount.add(temp); + }else{ + BigDecimal totalMoney = vo.getAmount(); + totalAmount = totalAmount.add(totalMoney); // 累加每个IncomeVO对象的amount + } + } + return totalAmount; + } + /** * 获取消课记录 */ @RequestMapping(value = "/cancelListAll") @@ -127,8 +772,65 @@ coachQuery.setCoachName(coachName); coachQuery.setCourseName(courseName); coachQuery.setTime(beginTime); + if(UserExt.getUser().getObjectType()==3){ + coachQuery.setStoreId(UserExt.getUser().getObjectId()); + } + if(UserExt.getUser().getObjectType()==2){ + // 运营商门店ids + List<Integer> storeIds = storeService + .list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId())) + .stream().map(TStore::getId).collect(Collectors.toList()); + coachQuery.setStoreIds(storeIds); + } return cancelledClassesClient.listAll(coachQuery); } + /** + * 获取报名订单记录 + */ + @Autowired + private IStoreService storeService; + @RequestMapping(value = "/registerListAll") + @ResponseBody + public List<RegisterOrderVO> registerListAll(String province,String city,Integer storeId,String registerTime + ,String userName,String phone,String studentName,String coursePackageName,String salesName,Integer orderSource) { + RegisterOrderQuery query = new RegisterOrderQuery(); + query.setProvince(province); + query.setCity(city); + query.setStoreId(storeId); + query.setInsertType(UserExt.getUser().getObjectType()); + if(UserExt.getUser().getObjectType()==2){ + query.setStoresIds(storeService.list(new QueryWrapper<TStore>() + .eq("operatorId",UserExt.getUser().getObjectId()) + ).stream().map(TStore::getId).collect(Collectors.toList())); + } + if(UserExt.getUser().getObjectType()==3){ + query.setStoreId(UserExt.getUser().getObjectId()); + } + query.setRegisterTime(registerTime); + query.setUserName(userName); + query.setUserIds(Lists.newArrayList()); + query.setPhone(phone); + query.setStudentName(studentName); + query.setStudentIds(Lists.newArrayList()); + query.setCoursePackageName(coursePackageName); + query.setSalesName(salesName); + query.setOrderSource(orderSource); + AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO(); + appUserByNameAndPhoneDTO.setUserName(query.getUserName()); + appUserByNameAndPhoneDTO.setPhone(query.getPhone()); + List<TAppUser> tAppUsers = appUserClient.queryAPPUserByNameAndPhone(appUserByNameAndPhoneDTO); + // 使用 Stream API 将 tAppUsers 中的 id 收集到一个集合中 + List<Integer> userIds = tAppUsers.stream() + .map(TAppUser::getId) // 使用方法引用获取每个对象的 id + .collect(Collectors.toList()); + query.setUserIds(userIds); + if (userIds.size()==0){ + return new ArrayList<>(); + } + + + return coursePackagePaymentClient.listAllRegister(query); + } -- Gitblit v1.7.1