diff --git a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java index 41542b9b..6f7b6174 100644 --- a/src/main/java/com/sqx/modules/orders/controller/OrdersController.java +++ b/src/main/java/com/sqx/modules/orders/controller/OrdersController.java @@ -120,6 +120,15 @@ public class OrdersController extends AbstractController { result.put("tuiMemberOrdersMoney", tuiMemberOrdersMoney); result.put("cashCount", cashCount == null ? 0 : cashCount); result.put("cashSum", cashSum == null ? 0 : new BigDecimal(cashSum).setScale(2, RoundingMode.HALF_UP)); + + double signInAwardMoney = ordersService.selectSignInAwardMoney(flag, time, sysUserId); + double shareAwardMoney = ordersService.selectShareAwardMoney(flag, time, sysUserId); + double newUserTaskDoneAwardMoney = ordersService.selectNewUserTaskDoneAwardMoney(flag, time, sysUserId); + double inviteTaskDoneAwardMoney = ordersService.selectInviteTaskDoneAwardMoney(flag, time, sysUserId); + result.put("signInAwardMoney", signInAwardMoney); + result.put("shareAwardMoney", shareAwardMoney); + result.put("newUserTaskDoneAwardMoney", newUserTaskDoneAwardMoney); + result.put("inviteTaskDoneAwardMoney", inviteTaskDoneAwardMoney); return Result.success().put("data", result); } diff --git a/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java b/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java index 6105299f..3203d5d9 100644 --- a/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java +++ b/src/main/java/com/sqx/modules/orders/dao/OrdersDao.java @@ -45,4 +45,36 @@ public interface OrdersDao extends BaseMapper { Integer countOrderNum(Long userId, String time); BigDecimal sumPayByCourseId(Long courseId); + + /** + * 下级签到奖励金额总和 + * @param flag 1-天,2-月,3-年 + * @param time 时间范围,格式:2019-01-01,2019-01-31 + * @return 签到奖励金额总和 + */ + Double selectSignInAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 分享达标奖励金额总和 + * @param flag 1-天,2-月,3-年 + * @param time 时间范围,格式:2019-01-01,2019-01-31 + * @return 分享达标奖励金额总和 + */ + Double selectShareAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 新人福利任务完成奖励金额总和 + * @param flag 1-天,2-月,3-年 + * @param time 时间范围,格式:2019-01-01,2019-01-31 + * @return 新人福利任务完成奖励金额总和 + */ + Double selectNewUserTaskDoneAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 邀请15人完成达标任务奖励金额总和 + * @param flag 1-天,2-月,3-年 + * @param time 时间范围,格式:2019-01-01,2019-01-31 + * @return 邀请15人完成达标任务奖励金额总和 + */ + Double selectInviteTaskDoneAwardMoney(Integer flag, String time, Long sysUserId); } diff --git a/src/main/java/com/sqx/modules/orders/service/OrdersService.java b/src/main/java/com/sqx/modules/orders/service/OrdersService.java index 90063555..f5c280b5 100644 --- a/src/main/java/com/sqx/modules/orders/service/OrdersService.java +++ b/src/main/java/com/sqx/modules/orders/service/OrdersService.java @@ -73,4 +73,28 @@ public interface OrdersService extends IService { void fillSysUserId(Orders orders); SummaryDTO queryByTradeNo(String outTradeNo); + + /** + * 下级签到奖励金额总和 + * @return 签到奖励金额总和 + */ + double selectSignInAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 分享达标奖励金额总和 + * @return 分享达标奖励金额总和 + */ + double selectShareAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 新人福利任务完成奖励金额总和 + * @return 新人福利任务完成奖励金额总和 + */ + double selectNewUserTaskDoneAwardMoney(Integer flag, String time, Long sysUserId); + + /** + * 邀请15人完成达标任务奖励金额总和 + * @return 邀请15人完成达标任务奖励金额总和 + */ + double selectInviteTaskDoneAwardMoney(Integer flag, String time, Long sysUserId); } diff --git a/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java index 9548c0f2..7066b922 100644 --- a/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/orders/service/impl/OrdersServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.db.Db; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -19,6 +20,7 @@ import com.sqx.common.exception.SqxException; import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; +import com.sqx.common.utils.SqlFetcher; import com.sqx.modules.app.entity.*; import com.sqx.modules.app.service.*; import com.sqx.modules.common.service.CommonInfoService; @@ -47,9 +49,11 @@ import com.sqx.modules.sys.entity.SysUserEntity; import com.sqx.modules.utils.AliPayOrderUtil; import com.sqx.modules.utils.InvitationCodeUtil; import com.sqx.modules.utils.TimeCompleteUtils; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -103,6 +107,10 @@ public class OrdersServiceImpl extends ServiceImpl implements @Autowired private RedisService redisService; + @Autowired + private SqlFetcher sqlFetcher; + @Value("${spring.profiles.active}") + private String profiles; private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true); @@ -279,7 +287,7 @@ public class OrdersServiceImpl extends ServiceImpl implements // reentrantReadWriteLock.writeLock().lock(); try { CourseDetails courseDetail = null; - if(courseDetailsId != null){ + if (courseDetailsId != null) { courseDetail = courseDetailsService.getOne(new LambdaQueryWrapper() .eq(CourseDetails::getCourseDetailsId, courseDetailsId) .eq(CourseDetails::getCourseId, courseId)); @@ -845,19 +853,19 @@ public class OrdersServiceImpl extends ServiceImpl implements Long userId = null; try { // 提现回调单号 - if (outTradeNo.contains("-") && outTradeNo.contains(":")){ + if (outTradeNo.contains("-") && outTradeNo.contains(":")) { tradeNo = outTradeNo.split("-")[0]; userId = Convert.toLong(outTradeNo.split("-")[1].split(":")[0]); } // 支付回调单号 - else if(outTradeNo.contains("-")){ + else if (outTradeNo.contains("-")) { tradeNo = outTradeNo.split("-")[0]; userId = Convert.toLong(outTradeNo.split("-")[1]); } - }catch (Exception e){ + } catch (Exception e) { throw new SqxException("交易订单号不合法"); } - if(StrUtil.isEmpty(tradeNo) || userId == null){ + if (StrUtil.isEmpty(tradeNo) || userId == null) { throw new SqxException("交易订单号不合法"); } SummaryDTO data = new SummaryDTO(); @@ -906,4 +914,52 @@ public class OrdersServiceImpl extends ServiceImpl implements return data; } + @Override + @SneakyThrows + public double selectSignInAwardMoney(Integer flag, String time, Long sysUserId) { + Map param = new HashMap<>(3); + param.put("flag", flag); + param.put("time", time); + param.put("sysUserId", sysUserId); + String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.orders.dao.OrdersDao.selectSignInAwardMoney", param); + System.out.println(sql); + return Db.use(profiles).queryNumber(sql).doubleValue(); + } + + @Override + @SneakyThrows + public double selectShareAwardMoney(Integer flag, String time, Long sysUserId) { + Map param = new HashMap<>(3); + param.put("flag", flag); + param.put("time", time); + param.put("sysUserId", sysUserId); + String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.orders.dao.OrdersDao.selectShareAwardMoney", param); + System.out.println(sql); + return Db.use(profiles).queryNumber(sql).doubleValue(); + } + + @Override + @SneakyThrows + public double selectNewUserTaskDoneAwardMoney(Integer flag, String time, Long sysUserId) { + Map param = new HashMap<>(3); + param.put("flag", flag); + param.put("time", time); + param.put("sysUserId", sysUserId); + String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.orders.dao.OrdersDao.selectNewUserTaskDoneAwardMoney", param); + System.out.println(sql); + return Db.use(profiles).queryNumber(sql).doubleValue(); + } + + @Override + @SneakyThrows + public double selectInviteTaskDoneAwardMoney(Integer flag, String time, Long sysUserId) { + Map param = new HashMap<>(3); + param.put("flag", flag); + param.put("time", time); + param.put("sysUserId", sysUserId); + String sql = sqlFetcher.getSqlFromXml("com.sqx.modules.orders.dao.OrdersDao.selectInviteTaskDoneAwardMoney", param); + System.out.println(sql); + return Db.use(profiles).queryNumber(sql).doubleValue(); + } + } diff --git a/src/main/resources/mapper/orders/OrdersDao.xml b/src/main/resources/mapper/orders/OrdersDao.xml index 8fbc97c5..0d6d916d 100644 --- a/src/main/resources/mapper/orders/OrdersDao.xml +++ b/src/main/resources/mapper/orders/OrdersDao.xml @@ -330,5 +330,97 @@ and course_id = #{courseId} group by course_id + + + +