diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java index b7714a4..f6f2fdb 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.apiservice.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import org.apache.commons.lang.StringUtils; @@ -31,15 +32,15 @@ import org.jeecg.modules.hanHaiBanner.entity.HanHaiBanner; import org.jeecg.modules.hanHaiBanner.service.IHanHaiBannerService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.hanHaiWater.entity.HanHaiWater; +import org.jeecg.modules.hanHaiWater.service.IHanHaiWaterService; import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.math.BigDecimal; +import java.util.*; @Service public class IndexApiServiceImpl implements IndexApiService { @@ -86,6 +87,9 @@ public class IndexApiServiceImpl implements IndexApiService { //付费记录 @Resource private IAtPhoneOrderService atPhoneOrderService; + //流水信息 + @Resource + private IHanHaiWaterService hanHaiWaterService; @@ -312,9 +316,11 @@ public class IndexApiServiceImpl implements IndexApiService { .one(); map.put("isThumbs_down", one2); } + + HanHaiMember tokenuser = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); //查询是订单支付记录 AtPhoneOrder one = atPhoneOrderService.lambdaQuery() - .eq(AtPhoneOrder::getUserId, byId.getUserId()) + .eq(AtPhoneOrder::getUserId, tokenuser.getId()) .eq(AtPhoneOrder::getOrderId, id) .eq(AtPhoneOrder::getIsPay, "Y") .one(); @@ -325,11 +331,37 @@ public class IndexApiServiceImpl implements IndexApiService { map.put("isPayPhone",1); } - map.put("dayMoney",1000); + // 创建查询条件 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(HanHaiWater::getUserId, byId1.getId()) + .eq(HanHaiWater::getType, 0) + .eq(HanHaiWater::getState, 1) + .between(HanHaiWater::getCreateTime, getLastMonth(), new Date()) + .select(HanHaiWater::getPrice); + + // 执行查询并获取结果 + List result = hanHaiWaterService.list(wrapper); + + // 计算总和并且 + BigDecimal sum = result.stream() + .map(HanHaiWater::getPrice) + .reduce(BigDecimal.ZERO, BigDecimal::add); + //保留两位小数 + sum = sum.setScale(2, BigDecimal.ROUND_HALF_UP); + + + map.put("dayMoney",sum); map.put("details", byId); return Result.OK("演员集详情", map); } + public static Date getLastMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, -1); + calendar.set(Calendar.DAY_OF_MONTH, 1); + return calendar.getTime(); + } + //获取置顶信息类标 diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/InfoApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/InfoApiServiceImpl.java index 21b123a..0fd9028 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/InfoApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/InfoApiServiceImpl.java @@ -3,6 +3,7 @@ package org.jeecg.modules.apiservice.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import com.google.gson.Gson; @@ -141,13 +142,106 @@ public class InfoApiServiceImpl implements InfoApiService { public Result getInfoMoney(String token){ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); Map map = new HashMap(); - map.put("todayMoney",100); - map.put("userMoney",100); - map.put("userSumMoney",100); + + + + // 创建查询条件 + LambdaQueryWrapper todayMoneyWrapper1 = new LambdaQueryWrapper<>(); + todayMoneyWrapper1.eq(HanHaiWater::getUserId, hanHaiMember.getId()) + .eq(HanHaiWater::getType, 0) + .eq(HanHaiWater::getState, 1) + .ge(HanHaiWater::getCreateTime, getToday()) // 使用大于等于今天的日期 + .select(HanHaiWater::getPrice); + +// 执行查询并获取结果 + List todayMoneyResult1 = hanHaiWaterService.list(todayMoneyWrapper1); + +// 计算总和 + BigDecimal todayMoneySum1 = todayMoneyResult1.stream() + .map(HanHaiWater::getPrice) + .reduce(BigDecimal.ZERO, BigDecimal::add); + +// 保留两位小数 + todayMoneySum1 = todayMoneySum1.setScale(2, BigDecimal.ROUND_HALF_UP); + +// 输出今日收益 + System.out.println("今日收益: " + todayMoneySum1); + + + + + + + + + + + map.put("todayMoney",todayMoneySum1); + + LambdaQueryWrapper userMoneywrapper2 = new LambdaQueryWrapper<>(); + userMoneywrapper2.eq(HanHaiWater::getUserId, hanHaiMember.getId()) + .eq(HanHaiWater::getType, 1) + .eq(HanHaiWater::getState, 1) + .select(HanHaiWater::getPrice); + + // 执行查询并获取结果 + List userMoneyresult2 = hanHaiWaterService.list(userMoneywrapper2); + + // 计算总和并且 + BigDecimal userMoneysum2 = userMoneyresult2.stream() + .map(HanHaiWater::getPrice) + .reduce(BigDecimal.ZERO, BigDecimal::add); + //保留两位小数 + userMoneysum2= userMoneysum2.setScale(2, BigDecimal.ROUND_HALF_UP); + + + + + map.put("userMoney",userMoneysum2); + + + + LambdaQueryWrapper userSumMoneywrapper3 = new LambdaQueryWrapper<>(); + userSumMoneywrapper3.eq(HanHaiWater::getUserId, hanHaiMember.getId()) + .eq(HanHaiWater::getType, 0) + .eq(HanHaiWater::getState, 1) + .select(HanHaiWater::getPrice); + + // 执行查询并获取结果 + List userSumMoneyresult3 = hanHaiWaterService.list(userSumMoneywrapper3); + + // 计算总和并且 + BigDecimal userSumMoneysum3 = userSumMoneyresult3.stream() + .map(HanHaiWater::getPrice) + .reduce(BigDecimal.ZERO, BigDecimal::add); + //保留两位小数 + userSumMoneysum3 = userSumMoneysum3.setScale(2, BigDecimal.ROUND_HALF_UP); + + + + map.put("userSumMoney",userSumMoneysum3); map.put("money",hanHaiMember.getPrice()); return Result.OK("查询成功", map); } + + + + + public Date getToday() { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + return calendar.getTime(); + } + + + + + + //修改个人信息接口 @Override public Result updateInfo(String token, HanHaiMember bean){ diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/OrderApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/OrderApiServiceImpl.java index f0051b1..6b23615 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/OrderApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/OrderApiServiceImpl.java @@ -4,19 +4,27 @@ import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.apiUtils.printUtil; import org.jeecg.modules.apiservice.OrderApiService; +import org.jeecg.modules.atActorCollection.entity.AtActorCollection; +import org.jeecg.modules.atActorCollection.service.IAtActorCollectionService; import org.jeecg.modules.atOrder.entity.AtOrder; import org.jeecg.modules.atOrder.service.IAtOrderService; import org.jeecg.modules.atPhoneOrder.entity.AtPhoneOrder; import org.jeecg.modules.atPhoneOrder.service.IAtPhoneOrderService; import org.jeecg.modules.atTrends.entity.AtTrends; import org.jeecg.modules.atTrends.service.IAtTrendsService; +import org.jeecg.modules.hanHaiConf.entity.HanHaiConf; +import org.jeecg.modules.hanHaiConf.service.IHanHaiConfService; import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.hanHaiWater.entity.HanHaiWater; +import org.jeecg.modules.hanHaiWater.service.IHanHaiWaterService; import org.jeecg.modules.pay.MpWxPayService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; +import java.util.Date; @Service @@ -34,6 +42,18 @@ public class OrderApiServiceImpl implements OrderApiService { //获取动态帖子 @Resource private IAtTrendsService atTrendsService; + //流失 + @Resource + private IHanHaiWaterService hanHaiWaterService; + //获取演员集 + @Resource + private IAtActorCollectionService atActorCollectionService; + //流失 + @Resource + private IHanHaiConfService hanHaiConfService; + //流失 + @Resource + private IHanHaiMemberService hanHaiMemberService; @@ -106,6 +126,36 @@ public class OrderApiServiceImpl implements OrderApiService { if ("N".equals(byId.getIsPay())){ byId.setIsPay("Y"); atPhoneOrderService.updateById(byId); + + //根据订单表示查询当前演员集 + AtActorCollection collection = atActorCollectionService.getById(byId.getOrderId()); + + //增加发布者流水信息并且修改发布者的钱 + HanHaiWater hanHaiWater = new HanHaiWater(); + hanHaiWater.setUserId(collection.getUserId()); //发布者 + //相关配置 + HanHaiConf money = hanHaiConfService.lambdaQuery().eq(HanHaiConf::getKeyValue, "money").one(); + money.getContent(); + // money.getContent() 装换成BigDecimal 并且保留两位小数 + BigDecimal bigDecimal = + new BigDecimal(money.getContent()) + .multiply(byId.getPrice()) + .setScale(2, BigDecimal.ROUND_HALF_UP); + + hanHaiWater.setPrice(bigDecimal); + hanHaiWater.setType(0); + hanHaiWater.setCreateTime(new Date()); + hanHaiWater.setState(1); + hanHaiWater.setSuccessTime(new Date()); + hanHaiWaterService.save(hanHaiWater); + + + //修改用余额 + HanHaiMember byId1 = hanHaiMemberService.getById(collection.getUserId()); + byId1.setPrice(byId1.getPrice().add(bigDecimal)); + + + } }