|
@@ -1156,66 +1156,115 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
userCount = goodsList.stream().map(TopOldOrderGoods::getUserCard).collect(Collectors.toSet()).size();
|
|
userCount = goodsList.stream().map(TopOldOrderGoods::getUserCard).collect(Collectors.toSet()).size();
|
|
}
|
|
}
|
|
if (query.getOrderFrom() != 4){
|
|
if (query.getOrderFrom() != 4){
|
|
- // 老系统查询学习状态
|
|
|
|
- TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, query.getOrderSn()));
|
|
|
|
- BigDecimal bonus = BigDecimal.ZERO;
|
|
|
|
- if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) > 0){
|
|
|
|
- bonus = order.getPretaxBrokerage().divide(new BigDecimal(list.size()),BigDecimal.ROUND_CEILING);
|
|
|
|
- }
|
|
|
|
- Map<String, String> params = new HashMap<>();
|
|
|
|
- Long nowTime = DateUtils.getNowTime();
|
|
|
|
- String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
|
- params.put("stamp", nowTime.toString());
|
|
|
|
- params.put("sign", sign);
|
|
|
|
- params.put("orderSn", query.getOrderSn());
|
|
|
|
- params.put("type", order.getOrderType().toString());
|
|
|
|
- String respone = "";
|
|
|
|
- try {
|
|
|
|
- respone = HttpUtils.postFormBody(ORDER_STUDY, params);
|
|
|
|
- if (!respone.contains("\"Status\":true")) {
|
|
|
|
- throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
|
- }
|
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
|
- Object data = jsonObject.get("Data");
|
|
|
|
- if (ObjectUtils.isNull(data)) {
|
|
|
|
- //data 为空
|
|
|
|
- for (TopOldOrderGoodsListVo x : list) {
|
|
|
|
- x.setPretaxBrokerage(bonus);
|
|
|
|
- x.setStudyStatus("未开始");
|
|
|
|
- //分成模式
|
|
|
|
- if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
|
|
|
|
- x.setDivideRateStr(x.getDivideRate()+"%");
|
|
|
|
- }else {
|
|
|
|
- x.setDivideRateStr(x.getDivideRate().toString());
|
|
|
|
|
|
+ //查询视图 v_top_order
|
|
|
|
+ TopOldOrderVo orderVo = baseMapper.queryById(query.getOrderSn());
|
|
|
|
+ if (orderVo.getOrderBase() == 1){
|
|
|
|
+ list.forEach(item -> {
|
|
|
|
+ User user = userService.getByCardNoTenant(EncryptHandler.decrypt(item.getUserCard()));
|
|
|
|
+ if (ObjectUtils.isNotNull(user)){
|
|
|
|
+ Order orderOne = orderService.getOne(new LambdaQueryWrapper<Order>()
|
|
|
|
+ .eq(Order::getInputOrderSn, orderVo.getInputOrderSn())
|
|
|
|
+ .eq(Order::getUserId,user.getUserId())
|
|
|
|
+ .last("limit 1"));
|
|
|
|
+ if (ObjectUtils.isNotNull(orderOne)){
|
|
|
|
+ List<OrderGoods> orderGoodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
|
|
|
+ .eq(OrderGoods::getOrderSn, orderOne.getOrderSn())
|
|
|
|
+ .eq(OrderGoods::getGoodsId, item.getGoodsId())
|
|
|
|
+ .ne(OrderGoods::getRefundStatus,2)
|
|
|
|
+ .ne(OrderGoods::getPayStatus,1));
|
|
|
|
+ if (CollectionUtils.isNotEmpty(orderGoodsList)){
|
|
|
|
+ orderGoodsList.forEach(goods -> {
|
|
|
|
+ Goods goodsById = goodsService.getById(goods.getGoodsId());
|
|
|
|
+ //学习状态
|
|
|
|
+ if (ObjectUtils.isNotNull(goodsById.getGoodsType()) && ObjectUtils.isNotNull(goods.getGradeId()) && goodsById.getGoodsType() == 1) {
|
|
|
|
+ int count = userPeriodService.count(new LambdaQueryWrapper<UserPeriod>()
|
|
|
|
+ .eq(UserPeriod::getUserId, user.getUserId())
|
|
|
|
+ .eq(UserPeriod::getGradeId, goods.getGradeId()));
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ //学完/未学完
|
|
|
|
+ ClassGradeUser classGradeUser = classGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>()
|
|
|
|
+ .eq(ClassGradeUser::getUserId, user.getUserId())
|
|
|
|
+ .eq(ClassGradeUser::getGradeId, goods.getGradeId())
|
|
|
|
+ .last("limit 1"));
|
|
|
|
+ item.setStudyStatus(
|
|
|
|
+ ObjectUtils.isNotNull(classGradeUser.getFinishStatus()) && classGradeUser.getFinishStatus() == 1 ? "已结束" : "学习中");
|
|
|
|
+ } else {
|
|
|
|
+ item.setStudyStatus("未开始");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
|
|
|
|
- for (TopOldOrderGoodsListVo item : list) {
|
|
|
|
- item.setPretaxBrokerage(bonus);
|
|
|
|
- item.setStudyStatus("未开始");
|
|
|
|
- TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
|
|
|
|
- && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
|
|
|
|
- if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
|
|
|
|
- if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
|
|
|
|
- item.setStudyStatus("未开始");
|
|
|
|
- } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
|
|
|
|
- item.setStudyStatus("学习中");
|
|
|
|
- } else {
|
|
|
|
- item.setStudyStatus("已结束");
|
|
|
|
|
|
+ //分成模式
|
|
|
|
+ if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
|
|
|
|
+ item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
|
|
|
|
+ }else {
|
|
|
|
+ item.setDivideRateStr(item.getDivideRate().toString());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else {
|
|
|
|
+ // 老系统查询学习状态
|
|
|
|
+ TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, query.getOrderSn()));
|
|
|
|
+ BigDecimal bonus = BigDecimal.ZERO;
|
|
|
|
+ if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) > 0){
|
|
|
|
+ bonus = order.getPretaxBrokerage().divide(new BigDecimal(list.size()),BigDecimal.ROUND_CEILING);
|
|
|
|
+ }
|
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
|
+ params.put("sign", sign);
|
|
|
|
+ params.put("orderSn", query.getOrderSn());
|
|
|
|
+ params.put("type", order.getOrderType().toString());
|
|
|
|
+ String respone = "";
|
|
|
|
+ try {
|
|
|
|
+ respone = HttpUtils.postFormBody(ORDER_STUDY, params);
|
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
|
+ throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
|
+ }
|
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
|
+ if (ObjectUtils.isNull(data)) {
|
|
|
|
+ //data 为空
|
|
|
|
+ for (TopOldOrderGoodsListVo x : list) {
|
|
|
|
+ x.setPretaxBrokerage(bonus);
|
|
|
|
+ x.setStudyStatus("未开始");
|
|
|
|
+ //分成模式
|
|
|
|
+ if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
|
|
|
|
+ x.setDivideRateStr(x.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
|
|
|
|
+ }else {
|
|
|
|
+ x.setDivideRateStr(x.getDivideRate().toString());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- //分成模式
|
|
|
|
- if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
|
|
|
|
- item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
|
|
|
|
- }else {
|
|
|
|
- item.setDivideRateStr(item.getDivideRate().toString());
|
|
|
|
|
|
+ } else {
|
|
|
|
+ List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
|
|
|
|
+ for (TopOldOrderGoodsListVo item : list) {
|
|
|
|
+ item.setPretaxBrokerage(bonus);
|
|
|
|
+ item.setStudyStatus("未开始");
|
|
|
|
+ TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
|
|
|
|
+ && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
|
|
|
|
+ if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
|
|
|
|
+ if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
|
|
|
|
+ item.setStudyStatus("未开始");
|
|
|
|
+ } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
|
|
|
|
+ item.setStudyStatus("学习中");
|
|
|
|
+ } else {
|
|
|
|
+ item.setStudyStatus("已结束");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //分成模式
|
|
|
|
+ if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
|
|
|
|
+ item.setDivideRateStr(item.getDivideRate().multiply(new BigDecimal("100.00"))+"%");
|
|
|
|
+ }else {
|
|
|
|
+ item.setDivideRateStr(item.getDivideRate().toString());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ log.error("旧系统订单学员学习情况接口请求错误" + respone);
|
|
|
|
+ throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
}
|
|
}
|
|
- } catch (IOException e) {
|
|
|
|
- log.error("旧系统订单学员学习情况接口请求错误" + respone);
|
|
|
|
- throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|