|
|
@@ -9,11 +9,18 @@ import com.zhongzheng.common.exception.CustomException;
|
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
|
import com.zhongzheng.modules.activity.domain.ActivityConfiguration;
|
|
|
import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
|
|
|
+import com.zhongzheng.modules.activity.service.IActivityConfigurationUseService;
|
|
|
import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
|
|
|
import com.zhongzheng.modules.bank.service.IQuestionBankService;
|
|
|
import com.zhongzheng.modules.bank.vo.QuestionBankVo;
|
|
|
import com.zhongzheng.modules.bank.vo.QuestionVo;
|
|
|
+import com.zhongzheng.modules.collect.bo.CollectBankQueryBo;
|
|
|
+import com.zhongzheng.modules.collect.bo.CollectCourseQueryBo;
|
|
|
import com.zhongzheng.modules.collect.domain.CollectBank;
|
|
|
+import com.zhongzheng.modules.collect.service.ICollectBankService;
|
|
|
+import com.zhongzheng.modules.collect.service.ICollectCourseService;
|
|
|
+import com.zhongzheng.modules.collect.vo.CollectBankVo;
|
|
|
+import com.zhongzheng.modules.collect.vo.CollectCourseVo;
|
|
|
import com.zhongzheng.modules.course.domain.Course;
|
|
|
import com.zhongzheng.modules.course.service.ICourseService;
|
|
|
import com.zhongzheng.modules.course.vo.CourseVo;
|
|
|
@@ -29,12 +36,18 @@ import com.zhongzheng.modules.order.service.*;
|
|
|
import com.zhongzheng.modules.order.vo.CouponVo;
|
|
|
import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
|
import com.zhongzheng.modules.order.vo.OrderVo;
|
|
|
+import com.zhongzheng.modules.order.vo.UserOrderInFo;
|
|
|
import com.zhongzheng.modules.user.bo.OrderPossessUserAddBo;
|
|
|
+import com.zhongzheng.modules.user.bo.OrderPossessUserQueryBo;
|
|
|
+import com.zhongzheng.modules.user.bo.RanKingUserQuery;
|
|
|
import com.zhongzheng.modules.user.domain.OrderPossessUser;
|
|
|
import com.zhongzheng.modules.user.domain.User;
|
|
|
+import com.zhongzheng.modules.user.mapper.UserMapper;
|
|
|
import com.zhongzheng.modules.user.service.IOrderPossessUserService;
|
|
|
import com.zhongzheng.modules.user.service.IUserBankQuestionRecordService;
|
|
|
import com.zhongzheng.modules.user.service.IUserService;
|
|
|
+import com.zhongzheng.modules.user.vo.OrderPossessUserVo;
|
|
|
+import com.zhongzheng.modules.user.vo.RanKingUser;
|
|
|
import com.zhongzheng.modules.user.vo.UserVo;
|
|
|
import com.zhongzheng.modules.wx.service.IWxPayService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -91,12 +104,25 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Autowired
|
|
|
private IActivityConfigurationService activityConfigurationService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IActivityConfigurationUseService activityConfigurationUseService;
|
|
|
+
|
|
|
+
|
|
|
@Autowired
|
|
|
private IOrderActivityService oOrderActivityService;
|
|
|
|
|
|
@Autowired
|
|
|
private OrderMapper orderMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserMapper userMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICollectBankService iCollectBankService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ICollectCourseService iCollectCourseService;
|
|
|
+
|
|
|
@Override
|
|
|
public OrderVo queryById(Long orderId){
|
|
|
Order db = this.baseMapper.selectById(orderId);
|
|
|
@@ -229,6 +255,64 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
return this.removeByIds(ids);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public UserOrderInFo listUserOrder(OrderQueryBo bo) {
|
|
|
+ if (bo.getUserId() == null){
|
|
|
+ throw new IllegalArgumentException("用户ID为空");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<Order> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.eq(bo.getUserId() != null, Order::getUserId, bo.getUserId());
|
|
|
+ lqw.eq(Order::getOrderStatus, 1);
|
|
|
+ List<Order> list = this.list(lqw);
|
|
|
+ BigDecimal price = new BigDecimal("0");
|
|
|
+ for (Order order : list) {
|
|
|
+ price = price.add(order.getOrderPrice());
|
|
|
+ }
|
|
|
+ List<CouponVo> couponVos=iCouponService.listUserOrder(bo.getUserId(),0);
|
|
|
+ List<CouponVo> couponDiscounts=iCouponService.listUserOrder(bo.getUserId(),1);
|
|
|
+ UserVo userVo = iUserService.queryById(bo.getUserId());
|
|
|
+ Integer count = activityConfigurationUseService.queryByCount(bo.getUserId());
|
|
|
+ RanKingUserQuery ranKingUserQuery = new RanKingUserQuery();
|
|
|
+ ranKingUserQuery.setUserId(bo.getUserId());
|
|
|
+ RanKingUser ranKingUser = userMapper.selectByRank(ranKingUserQuery);
|
|
|
+ OrderPossessUserQueryBo orderPossessUserQueryBo = new OrderPossessUserQueryBo();
|
|
|
+ orderPossessUserQueryBo.setUserId(bo.getUserId());
|
|
|
+ orderPossessUserQueryBo.setTypeId(1);
|
|
|
+ OrderPossessUserVo cousreList = iOrderPossessUserService.queryList(orderPossessUserQueryBo);
|
|
|
+ orderPossessUserQueryBo.setTypeId(2);
|
|
|
+ OrderPossessUserVo bankList = iOrderPossessUserService.queryList(orderPossessUserQueryBo);
|
|
|
+ CollectBankQueryBo collectBankQueryBo = new CollectBankQueryBo();
|
|
|
+ collectBankQueryBo.setUserId(bo.getUserId());
|
|
|
+ List<CollectBankVo> collectList = iCollectBankService.selectList(collectBankQueryBo);
|
|
|
+ CollectCourseQueryBo collectCourseQueryBo = new CollectCourseQueryBo();
|
|
|
+ collectCourseQueryBo.setUserId(bo.getUserId());
|
|
|
+ List<CollectCourseVo> collectCourseList = iCollectCourseService.selectList(collectCourseQueryBo);
|
|
|
+ UserOrderInFo userOrderInFo = new UserOrderInFo();
|
|
|
+ userOrderInFo.setPrice(price);
|
|
|
+ userOrderInFo.setOrderNum(list.size());
|
|
|
+ userOrderInFo.setCouponDiscount(couponDiscounts.size());
|
|
|
+ userOrderInFo.setCoupon(couponVos.size());
|
|
|
+ userOrderInFo.setUserLevel(userVo.getUserLevel());
|
|
|
+ userOrderInFo.setIntegral(userVo.getIntegral());
|
|
|
+ userOrderInFo.setActivityNum(count);
|
|
|
+ userOrderInFo.setStudyNum(getHour(ranKingUser.getHourse()));
|
|
|
+ userOrderInFo.setCourseNum(cousreList.getCourseVoList().size());
|
|
|
+ userOrderInFo.setBankNum(bankList.getQuestionBankList().size());
|
|
|
+ userOrderInFo.setCollectCourseNum(collectCourseList.size());
|
|
|
+ userOrderInFo.setCollectBankNum(collectList.size());
|
|
|
+ return userOrderInFo;
|
|
|
+ }
|
|
|
+
|
|
|
+ //Util.java
|
|
|
+ public static String getHour(String date) {
|
|
|
+ //秒数
|
|
|
+ Integer dt = Integer.parseInt(date) ;
|
|
|
+ if (dt < 3600) return Math.round(dt / 60) + "m";
|
|
|
+ int hour = Math.round(dt / 3600);
|
|
|
+ int minute = Math.round((dt - (hour * 3600)) / 60);
|
|
|
+ return hour + "h" + (minute == 0 ? "" : minute + "m");
|
|
|
+ }
|
|
|
+
|
|
|
//购买课程题库重点
|
|
|
public Map<String, String> dealOrder(Order add,List<OrderGoodsAddBo> goodsList,Long couponId,Long activity){
|
|
|
UserVo userVo = iUserService.queryById(add.getUserId());
|