|
@@ -1,5 +1,7 @@
|
|
|
package com.kxs.store.biz.service.impl;
|
|
package com.kxs.store.biz.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.lang.Snowflake;
|
|
import cn.hutool.core.lang.Snowflake;
|
|
@@ -20,8 +22,12 @@ import com.kxs.product.api.model.KxsBrand;
|
|
|
import com.kxs.product.api.model.KxsMachine;
|
|
import com.kxs.product.api.model.KxsMachine;
|
|
|
import com.kxs.product.api.model.KxsMachineCirculationLog;
|
|
import com.kxs.product.api.model.KxsMachineCirculationLog;
|
|
|
import com.kxs.product.api.model.KxsTicket;
|
|
import com.kxs.product.api.model.KxsTicket;
|
|
|
|
|
+import com.kxs.product.api.vo.admin.so.SysSoPageVO;
|
|
|
|
|
+import com.kxs.store.api.dto.admin.SysMachineApplyPageDTO;
|
|
|
import com.kxs.store.api.dto.kxsapp.storeOrder.*;
|
|
import com.kxs.store.api.dto.kxsapp.storeOrder.*;
|
|
|
import com.kxs.store.api.model.*;
|
|
import com.kxs.store.api.model.*;
|
|
|
|
|
+import com.kxs.store.api.vo.admin.machineApply.SysMachineApplyApplyDetailVO;
|
|
|
|
|
+import com.kxs.store.api.vo.admin.machineApply.SysMachineApplyPageVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalDetailVO;
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalDetailVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalVO;
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.OrderMonthTotalVO;
|
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.StoreOrderDetailVO;
|
|
import com.kxs.store.api.vo.kxsapp.storeOrder.StoreOrderDetailVO;
|
|
@@ -38,6 +44,7 @@ import com.kxs.system.api.util.MsgTemplateUtil;
|
|
|
import com.kxs.user.api.feign.RemoteKxsUserService;
|
|
import com.kxs.user.api.feign.RemoteKxsUserService;
|
|
|
import com.kxs.user.api.model.KxsUser;
|
|
import com.kxs.user.api.model.KxsUser;
|
|
|
import com.kxs.user.api.model.KxsUserAdvance;
|
|
import com.kxs.user.api.model.KxsUserAdvance;
|
|
|
|
|
+import com.kxs.user.api.vo.admin.user.SysFeignUserDetailVO;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -51,6 +58,7 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -85,6 +93,8 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
|
|
|
|
|
private final KxsSendTotalService kxsSendTotalService;
|
|
private final KxsSendTotalService kxsSendTotalService;
|
|
|
|
|
|
|
|
|
|
+ private final KxsMachineApplyDetailService kxsMachineApplyDetailService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
@GlobalTransactional
|
|
@GlobalTransactional
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -567,5 +577,51 @@ public class KxsMachineApplyServiceImpl extends ServiceImpl<KxsMachineApplyMappe
|
|
|
return userApplyMachineDetailVO;
|
|
return userApplyMachineDetailVO;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<SysMachineApplyPageVO> applyPage(Page page, SysMachineApplyPageDTO param) {
|
|
|
|
|
+ List<SysMachineApplyPageVO> list = baseMapper.applyPage(page, param);
|
|
|
|
|
+ packageTopUser(list);
|
|
|
|
|
+ if(page != null){
|
|
|
|
|
+ page.setRecords(list);
|
|
|
|
|
+ }
|
|
|
|
|
+ return list;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public SysMachineApplyApplyDetailVO applyDetail(String id) {
|
|
|
|
|
+ KxsMachineApply kxsMachineApply = this.getById(id);
|
|
|
|
|
+ List<KxsMachineApplyDetail> kxsMachineApplyDetails = kxsMachineApplyDetailService.listByOrderId(id);
|
|
|
|
|
+ SysMachineApplyApplyDetailVO sysMachineApplyApplyDetailVO = new SysMachineApplyApplyDetailVO();
|
|
|
|
|
+ BeanUtil.copyProperties(kxsMachineApply,sysMachineApplyApplyDetailVO);
|
|
|
|
|
+ List<String> sendSn = new ArrayList<>();
|
|
|
|
|
+ List<String> swapSnExpand = new ArrayList<>();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(kxsMachineApplyDetails)){
|
|
|
|
|
+ sendSn = kxsMachineApplyDetails.stream().map(o -> o.getPosSn()).collect(Collectors.toList());
|
|
|
|
|
+ swapSnExpand = kxsMachineApplyDetails.stream().map(o -> o.getTicketCode()).collect(Collectors.toList());
|
|
|
|
|
+ }
|
|
|
|
|
+ sysMachineApplyApplyDetailVO.setSendSn(sendSn);
|
|
|
|
|
+ sysMachineApplyApplyDetailVO.setSwapSnExpand(swapSnExpand);
|
|
|
|
|
+ return sysMachineApplyApplyDetailVO;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void packageTopUser(List<SysMachineApplyPageVO> list){
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(list)){
|
|
|
|
|
+ List<Integer> userIds = list.stream().map(o ->o.getUserId()).collect(Collectors.toList());
|
|
|
|
|
+ R<Map<Integer, SysFeignUserDetailVO>> mapR = remoteKxsUserService.topUserList(userIds, SecurityConstants.FROM_IN);
|
|
|
|
|
+ if (mapR.getStatus() == 1) {
|
|
|
|
|
+ Map<Integer, SysFeignUserDetailVO> topUserMap = mapR.getData();
|
|
|
|
|
+ for(SysMachineApplyPageVO machineApplyPageVO:list){
|
|
|
|
|
+ Integer userId = machineApplyPageVO.getUserId();
|
|
|
|
|
+ if(topUserMap.containsKey(userId)){
|
|
|
|
|
+ SysFeignUserDetailVO sysFeignUserDetailVO = topUserMap.get(userId);
|
|
|
|
|
+ machineApplyPageVO.setTopUserCode(sysFeignUserDetailVO.getTopUserCode());
|
|
|
|
|
+ machineApplyPageVO.setTopUsername(sysFeignUserDetailVO.getTopUsername());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|