|
|
@@ -1,8 +1,10 @@
|
|
|
package shop.alien.second.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -20,12 +22,11 @@ import shop.alien.mapper.second.SecondTradeRecordMapper;
|
|
|
import shop.alien.second.service.PlatformSecondTradeService;
|
|
|
import shop.alien.second.service.SecondGoodsService;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Comparator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@@ -58,6 +59,28 @@ public class PlatformSecondTradeServiceImpl extends ServiceImpl<SecondTradeRecor
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<SecondTradeRecordVo> getTradeRecordList(Integer userId, String beginTime, String endTime) throws Exception {
|
|
|
+ try {
|
|
|
+ Page<SecondTradeRecord> page = new Page<>(1, 1000000);
|
|
|
+ QueryWrapper<SecondTradeRecord> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("trade.delete_flag", 0);
|
|
|
+ wrapper.eq("trade.trade_status", 4);
|
|
|
+ wrapper.ge("trade.transaction_time", StringUtils.isEmpty(beginTime) ? "1970-01-01 00:00:00" : beginTime);
|
|
|
+ wrapper.le("trade.transaction_time", StringUtils.isEmpty(endTime) ? "9999-12-31 23:59:59" : endTime);
|
|
|
+ wrapper.apply(" (trade.buyer_id = " + userId + " or trade.seller_id = " + userId + ") ");
|
|
|
+ wrapper.orderByDesc("trade.created_time");
|
|
|
+ List<SecondTradeRecordVo> voList = secondTradeRecordMapper.getTradeRecordPage(page, wrapper).getRecords();
|
|
|
+ for (SecondTradeRecordVo item : voList) {
|
|
|
+ item.setOperationJsonList(getOperationJsonList(item.getId()));
|
|
|
+ }
|
|
|
+ return voList;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("PlatformSecondTradeServiceImpl.getTradeRecordList(): Error Msg={}", e.getMessage());
|
|
|
+ throw new Exception(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public SecondTradeRecordVo getTradeRecordById(Integer id) throws Exception {
|
|
|
try {
|
|
|
// 交易信息
|
|
|
@@ -254,4 +277,30 @@ public class PlatformSecondTradeServiceImpl extends ServiceImpl<SecondTradeRecor
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<JSONObject> getRankingList(String beginTime, String endTime) throws Exception {
|
|
|
+ try {
|
|
|
+ if (StringUtils.isBlank(beginTime)) beginTime = "1970-01-01 00:00:00";
|
|
|
+ if (StringUtils.isBlank(endTime)) endTime = "9999-12-31 23:59:59";
|
|
|
+ return secondTradeRecordMapper.getRankingList(beginTime, endTime);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("PlatformSecondTradeServiceImpl.getRankingList Error Msg={}", e.getMessage());
|
|
|
+ throw new Exception(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setTradeFailure(Integer tradeId, String failureReason) throws Exception {
|
|
|
+ try {
|
|
|
+ LambdaUpdateWrapper<SecondTradeRecord> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(SecondTradeRecord::getId, tradeId);
|
|
|
+ wrapper.set(SecondTradeRecord::getFailureFlag, 1);
|
|
|
+ wrapper.set(SecondTradeRecord::getFailureReason, failureReason);
|
|
|
+ secondTradeRecordMapper.update(null, wrapper);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("PlatformSecondTradeServiceImpl.setTradeFailure Error Msg={}", e.getMessage());
|
|
|
+ throw new Exception(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|