|
@@ -11,13 +11,19 @@ import cn.rankin.common.utils.api.page.Page;
|
|
|
import cn.rankin.common.utils.enums.LedgerTypeEnum;
|
|
|
import cn.rankin.common.utils.enums.ProductTypeEnum;
|
|
|
import cn.rankin.common.utils.util.BeanUtil;
|
|
|
+import cn.rankin.data.api.cms.OrderDetailWebSearchDTO;
|
|
|
import cn.rankin.data.api.cms.OrderSearchWebDTO;
|
|
|
+import cn.rankin.data.api.cms.OrderSnapshotWebSearchDTO;
|
|
|
import cn.rankin.data.api.product.vo.GoodsVo;
|
|
|
import cn.rankin.data.api.trade.dto.OrderDTO;
|
|
|
+import cn.rankin.data.api.trade.dto.OrderDetailSearchDTO;
|
|
|
import cn.rankin.data.api.trade.dto.OrderGoodsDTO;
|
|
|
+import cn.rankin.data.api.trade.entity.OrderDetail;
|
|
|
import cn.rankin.data.api.trade.entity.OrderGoods;
|
|
|
import cn.rankin.data.api.trade.entity.Order;
|
|
|
-import cn.rankin.data.api.trade.vo.UserOrderVo;
|
|
|
+import cn.rankin.data.api.trade.entity.OrderProductSnapshot;
|
|
|
+import cn.rankin.data.api.trade.vo.OrderDetailVo;
|
|
|
+import cn.rankin.data.api.trade.vo.OrderVo;
|
|
|
import cn.rankin.data.api.user.dto.CampusSearchDTO;
|
|
|
import cn.rankin.data.api.user.dto.MerchantPayDTO;
|
|
|
import cn.rankin.data.api.user.vo.CampusVo;
|
|
@@ -41,7 +47,7 @@ import static cn.rankin.cmsweb.utils.DTOConverter.convert;
|
|
|
public class OrderService {
|
|
|
|
|
|
@Autowired
|
|
|
- private OrderServiceFeign orderServiceFeign;
|
|
|
+ private OrderClient orderClient;
|
|
|
|
|
|
@Autowired
|
|
|
private GoodsService goodsService;
|
|
@@ -56,7 +62,7 @@ public class OrderService {
|
|
|
private MerchantService merchantService;
|
|
|
|
|
|
public APIResult<Boolean> pay(String orderId) {
|
|
|
- APIResult<Order> userOrderAPIResult = orderServiceFeign.getOrder(orderId);
|
|
|
+ APIResult<Order> userOrderAPIResult = orderClient.getOrder(orderId);
|
|
|
Order order = userOrderAPIResult.getData();
|
|
|
if (order == null || !userOrderAPIResult.getSuccess()) {
|
|
|
log.error("查询订单错误, orderId={}, {}", orderId, userOrderAPIResult.getMessage());
|
|
@@ -85,7 +91,7 @@ public class OrderService {
|
|
|
}
|
|
|
|
|
|
// 更新订单状态
|
|
|
- APIResult<Boolean> orderAPIResult = orderServiceFeign.pay(orderId);
|
|
|
+ APIResult<Boolean> orderAPIResult = orderClient.pay(orderId);
|
|
|
if (!orderAPIResult.getSuccess()) {
|
|
|
return APIResult.error(new BaseCode(orderAPIResult.getCode(), orderAPIResult.getMessage()));
|
|
|
}
|
|
@@ -96,10 +102,10 @@ public class OrderService {
|
|
|
}
|
|
|
|
|
|
public APIResult<Boolean> cancel(String orderId) {
|
|
|
- return orderServiceFeign.cancel(orderId);
|
|
|
+ return orderClient.cancel(orderId);
|
|
|
}
|
|
|
|
|
|
- public APIResult<UserOrderVo> create(OrderDTO orderDTO) {
|
|
|
+ public APIResult<OrderVo> create(OrderDTO orderDTO) {
|
|
|
String uid = orderDTO.getUid();
|
|
|
APIResult<TerminalUserVo> userVoAPIResult = terminalUserService.getUser(uid);
|
|
|
if (!userVoAPIResult.getSuccess()) {
|
|
@@ -108,6 +114,9 @@ public class OrderService {
|
|
|
|
|
|
TerminalUserVo terminalUserVo = userVoAPIResult.getData();
|
|
|
|
|
|
+ String merchantId = terminalUserVo.getMerchantId();
|
|
|
+ orderDTO.setMerchantId(merchantId);
|
|
|
+
|
|
|
List<OrderGoodsDTO> orderGoodsDTOList = orderDTO.getGoods();
|
|
|
if (CollectionUtils.isEmpty(orderGoodsDTOList)) {
|
|
|
return APIResult.error(CmsWebAPICode.error("商品为空"));
|
|
@@ -155,21 +164,42 @@ public class OrderService {
|
|
|
orderDTO.setOriginPrice(totalPrice);
|
|
|
orderDTO.setGoods(finalGoodsList);
|
|
|
|
|
|
- APIResult userOrderAPIResult = orderServiceFeign.create(orderDTO);
|
|
|
+ APIResult userOrderAPIResult = orderClient.create(orderDTO);
|
|
|
return userOrderAPIResult;
|
|
|
}
|
|
|
|
|
|
- public APIResult<UserOrderVo> getOrder(String orderId) {
|
|
|
- APIResult<Order> userOrderVoAPIResult = orderServiceFeign.getOrder(orderId);
|
|
|
- if (!userOrderVoAPIResult.getSuccess()) {
|
|
|
- return APIResult.error(new BaseCode(userOrderVoAPIResult.getCode(), userOrderVoAPIResult.getMessage()));
|
|
|
+ public APIResult<OrderVo> getOrder(String orderId) {
|
|
|
+ APIResult<Order> orderAPIResult = orderClient.getOrder(orderId);
|
|
|
+ if (!orderAPIResult.getSuccess()) {
|
|
|
+ return APIResult.error(new BaseCode(orderAPIResult.getCode(), orderAPIResult.getMessage()));
|
|
|
}
|
|
|
|
|
|
- Order order = userOrderVoAPIResult.getData();
|
|
|
- UserOrderVo userOrderVo = convert(order);
|
|
|
+ Order order = orderAPIResult.getData();
|
|
|
+ OrderVo orderVo = convert(order);
|
|
|
List<OrderGoods> orderGoodsList = order.getGoods();
|
|
|
if (CollectionUtils.isEmpty(orderGoodsList)) {
|
|
|
- return APIResult.ok(userOrderVo);
|
|
|
+ return APIResult.ok(orderVo);
|
|
|
+ }
|
|
|
+
|
|
|
+ String uid = order.getUid();
|
|
|
+ APIResult<TerminalUserVo> userAPIResult = terminalUserService.getUser(uid);
|
|
|
+ TerminalUserVo terminalUserVo = userAPIResult.getData();
|
|
|
+
|
|
|
+ if (userAPIResult.getSuccess()) {
|
|
|
+ orderVo.setMerchantId(terminalUserVo.getMerchantId());
|
|
|
+ orderVo.setMerchantName(terminalUserVo.getMerchantName());
|
|
|
+ orderVo.setUserCode(terminalUserVo.getCode());
|
|
|
+ orderVo.setClassroomName(terminalUserVo.getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ String campusId = terminalUserVo.getCampusId();
|
|
|
+ APIResult<CampusVo> campusAPIResult = campusService.getCampus(campusId);
|
|
|
+ CampusVo campusVo = campusAPIResult.getData();
|
|
|
+
|
|
|
+ if (campusVo != null) {
|
|
|
+ orderVo.setProvinceCode(campusVo.getProvinceCode());
|
|
|
+ orderVo.setCityName(campusVo.getCityName());
|
|
|
+ orderVo.setZoneName(campusVo.getZoneName());
|
|
|
}
|
|
|
|
|
|
List<String> goodsIdList = new ArrayList<>();
|
|
@@ -178,152 +208,260 @@ public class OrderService {
|
|
|
if (!goodsAPIResult.getSuccess()) {
|
|
|
log.error("goods api error: {}", goodsAPIResult.getMessage());
|
|
|
}
|
|
|
- userOrderVo.setGoods(goodsAPIResult.getData());
|
|
|
- return APIResult.ok(userOrderVo);
|
|
|
+ orderVo.setGoods(goodsAPIResult.getData());
|
|
|
+ return APIResult.ok(orderVo);
|
|
|
}
|
|
|
|
|
|
- public APIResult<Page<UserOrderVo>> search(OrderSearchWebDTO searchWebDTO) {
|
|
|
+ public APIResult<Page<OrderVo>> search(OrderSearchWebDTO searchWebDTO) {
|
|
|
String userCode = searchWebDTO.getUserCode();
|
|
|
String campusCode = searchWebDTO.getCampusCode();
|
|
|
String campusName = searchWebDTO.getCampusName();
|
|
|
+ String merchantId = searchWebDTO.getMerchantId();
|
|
|
|
|
|
- List<String> uids = new ArrayList<>();
|
|
|
+ List<String> userIdList = new ArrayList<>();
|
|
|
|
|
|
- // 用户及校区的Map
|
|
|
- Map<String, TerminalUserVo> userVoMap = new HashMap<>();
|
|
|
- Map<String, CampusVo> campusVoMap = new HashMap<>();
|
|
|
+ List<TerminalUserVo> terminalUserVoList = findTerminalUsers(userCode, campusCode, campusName, merchantId);
|
|
|
+ terminalUserVoList.forEach(terminalUserVo -> userIdList.add(terminalUserVo.getId()));
|
|
|
|
|
|
- if (!StringUtils.isEmpty(userCode)) {
|
|
|
- // 按用户查询
|
|
|
- Map<String, Object> searchDTO = new HashMap<>();
|
|
|
- searchDTO.put("code", userCode);
|
|
|
- APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByCondition(searchDTO);
|
|
|
+ Map<String, Object> searchParams = new HashMap<>();
|
|
|
+ searchParams.put("pageNo", searchWebDTO.getPageNo());
|
|
|
+ searchParams.put("pageSize", searchWebDTO.getPageSize());
|
|
|
+ searchParams.put("beginTime", searchWebDTO.getBeginTime());
|
|
|
+ searchParams.put("endTime", searchWebDTO.getEndTime());
|
|
|
+ searchParams.put("status", searchWebDTO.getStatus());
|
|
|
+ searchParams.put("uid", userIdList);
|
|
|
+ searchParams.put("merchantId", merchantId);
|
|
|
+
|
|
|
+ APIResult<Page<Order>> orderAPIResult = orderClient.search(searchParams);
|
|
|
+ if (!orderAPIResult.getSuccess()) {
|
|
|
+ log.error("order query error: {}", orderAPIResult.getMessage());
|
|
|
+ return APIResult.error(new BaseCode(orderAPIResult.getCode(), orderAPIResult.getMessage()));
|
|
|
+ }
|
|
|
+
|
|
|
+ Page<Order> userOrderPage = orderAPIResult.getData();
|
|
|
+ Page<OrderVo> page = new Page<>(userOrderPage.getTotalSize(), userOrderPage.getPageNo(), userOrderPage.getPageSize());
|
|
|
+
|
|
|
+ List<Order> orderList = orderAPIResult.getData().getList();
|
|
|
+ List<OrderVo> orderVoList = new ArrayList<>();
|
|
|
+ if (CollectionUtils.isEmpty(orderList)) {
|
|
|
+ return APIResult.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(userIdList)) {
|
|
|
+ orderList.forEach(order -> userIdList.add(order.getUid()));
|
|
|
+ APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByIds(userIdList);
|
|
|
if (!userAPIResult.getSuccess()) {
|
|
|
return APIResult.error(new BaseCode(userAPIResult.getCode(), userAPIResult.getMessage()));
|
|
|
}
|
|
|
+ terminalUserVoList = userAPIResult.getData();
|
|
|
+ }
|
|
|
|
|
|
- List<TerminalUserVo> userVoList = userAPIResult.getData();
|
|
|
- if (CollectionUtils.isEmpty(userVoList)) {
|
|
|
- return APIResult.ok(new Page<>());
|
|
|
+ // 用户信息
|
|
|
+ Map<String, TerminalUserVo> terminalUserVoMap = new HashMap<>();
|
|
|
+ // 加载校区信息
|
|
|
+ List<String> campusIdList = new ArrayList<>();
|
|
|
+ for (TerminalUserVo terminalUserVo : terminalUserVoList) {
|
|
|
+ String campusId = terminalUserVo.getCampusId();
|
|
|
+ if (!campusIdList.contains(campusId)) {
|
|
|
+ campusIdList.add(campusId);
|
|
|
}
|
|
|
+ terminalUserVoMap.put(terminalUserVo.getId(), terminalUserVo);
|
|
|
+ }
|
|
|
|
|
|
- List<String> campusIdList = new ArrayList<>();
|
|
|
- // 记录数据,查到数据后要set回去
|
|
|
- userVoList.forEach(userVo -> {
|
|
|
- uids.add(userVo.getId());
|
|
|
- campusIdList.add(userVo.getCampusId());
|
|
|
- userVoMap.put(userVo.getId(), userVo);
|
|
|
- });
|
|
|
-
|
|
|
+ Map<String, CampusVo> campusVoMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(campusIdList)) {
|
|
|
APIResult<Map<String, CampusVo>> campusAPIResult = campusService.findByIds(campusIdList);
|
|
|
- if (campusAPIResult.getSuccess()) {
|
|
|
- campusVoMap = campusAPIResult.getData();
|
|
|
- }
|
|
|
- } else if (!StringUtils.isEmpty(campusCode) || !StringUtils.isEmpty(campusName)) {
|
|
|
- // 按校区查询
|
|
|
- CampusSearchDTO campusSearchDTO = new CampusSearchDTO();
|
|
|
- campusSearchDTO.setCode(campusCode);
|
|
|
- campusSearchDTO.setName(campusName);
|
|
|
- APIResult<List<CampusVo>> campusAPIResult = campusService.findByCondition(BeanUtil.convertToMap(campusSearchDTO));
|
|
|
if (!campusAPIResult.getSuccess()) {
|
|
|
- return APIResult.error(new BaseCode(campusAPIResult.getCode(), campusAPIResult.getMessage()));
|
|
|
- }
|
|
|
- List<CampusVo> campusVoList = campusAPIResult.getData();
|
|
|
- if (CollectionUtils.isEmpty(campusVoList)) {
|
|
|
- return APIResult.ok(new Page<>());
|
|
|
+ log.error("load campus info error");
|
|
|
+ }else {
|
|
|
+ campusVoMap = campusAPIResult.getData();
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- List<String> campusIdList = new ArrayList<>();
|
|
|
- for (CampusVo campusVo : campusVoList) {
|
|
|
- campusIdList.add(campusVo.getId());
|
|
|
- campusVoMap.put(campusVo.getId(), campusVo);
|
|
|
- }
|
|
|
+ for (Order order : orderList) {
|
|
|
+ OrderVo orderVo = convert(order);
|
|
|
+ String uid = orderVo.getUid();
|
|
|
|
|
|
- APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByCampusIds(campusIdList);
|
|
|
- if (!userAPIResult.getSuccess()) {
|
|
|
- return APIResult.error(new BaseCode(userAPIResult.getCode(), userAPIResult.getMessage()));
|
|
|
+ TerminalUserVo terminalUserVo = terminalUserVoMap.get(uid);
|
|
|
+ if (terminalUserVo == null) {
|
|
|
+ log.error("用户不存在: {}", uid);
|
|
|
+ orderVoList.add(orderVo);
|
|
|
+ continue;
|
|
|
}
|
|
|
- List<TerminalUserVo> userVoList = userAPIResult.getData();
|
|
|
- for (TerminalUserVo userVo : userVoList) {
|
|
|
- uids.add(userVo.getId());
|
|
|
- userVoMap.put(userVo.getId(), userVo);
|
|
|
+ orderVo.setMerchantId(terminalUserVo.getMerchantId());
|
|
|
+ orderVo.setMerchantName(terminalUserVo.getMerchantName());
|
|
|
+ orderVo.setUserCode(terminalUserVo.getCode());
|
|
|
+ orderVo.setClassroomName(terminalUserVo.getName());
|
|
|
+
|
|
|
+ String campusId = terminalUserVo.getCampusId();
|
|
|
+ CampusVo campusVo = campusVoMap.get(campusId);
|
|
|
+
|
|
|
+ if (campusVo == null) {
|
|
|
+ log.error("campus is null, uid={}", uid);
|
|
|
+ orderVoList.add(orderVo);
|
|
|
+ continue;
|
|
|
}
|
|
|
+ orderVo.setProvinceCode(campusVo.getProvinceCode());
|
|
|
+ orderVo.setCityName(campusVo.getCityName());
|
|
|
+ orderVo.setZoneName(campusVo.getZoneName());
|
|
|
+
|
|
|
+ orderVoList.add(orderVo);
|
|
|
}
|
|
|
|
|
|
- Map<String, Object> searchParams = new HashMap<>();
|
|
|
- searchParams.put("pageNo", searchWebDTO.getPageNo());
|
|
|
- searchParams.put("pageSize", searchWebDTO.getPageSize());
|
|
|
- searchParams.put("beginTime", searchWebDTO.getBeginTime());
|
|
|
- searchParams.put("endTime", searchWebDTO.getEndTime());
|
|
|
- searchParams.put("status", searchWebDTO.getStatus());
|
|
|
- searchParams.put("uid", uids);
|
|
|
+ page.setList(orderVoList);
|
|
|
+ return APIResult.ok(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查拆单
|
|
|
+ public APIResult<Page<OrderDetailVo>> search(OrderDetailWebSearchDTO searchWebDTO) {
|
|
|
+ String userCode = searchWebDTO.getUserCode();
|
|
|
+ String campusCode = searchWebDTO.getCampusCode();
|
|
|
+ String campusName = searchWebDTO.getCampusName();
|
|
|
+ String merchantId = searchWebDTO.getMerchantId();
|
|
|
+
|
|
|
+ List<String> userIdList = new ArrayList<>();
|
|
|
+
|
|
|
+ List<TerminalUserVo> terminalUserVoList = findTerminalUsers(userCode, campusCode, campusName, merchantId);
|
|
|
+ terminalUserVoList.forEach(terminalUserVo -> userIdList.add(terminalUserVo.getId()));
|
|
|
+
|
|
|
+ OrderDetailSearchDTO searchDTO = new OrderDetailSearchDTO();
|
|
|
+ searchDTO.setPageNo(searchWebDTO.getPageNo());
|
|
|
+ searchDTO.setPageSize(searchWebDTO.getPageSize());
|
|
|
+ searchDTO.setBeginTime(searchWebDTO.getBeginTime());
|
|
|
+ searchDTO.setEndTime(searchWebDTO.getEndTime());
|
|
|
+ searchDTO.setStatus(searchWebDTO.getStatus());
|
|
|
+ searchDTO.setUid(userIdList);
|
|
|
+ searchDTO.setMerchantId(merchantId);
|
|
|
|
|
|
- APIResult<Page<Order>> orderAPIResult = orderServiceFeign.search(searchParams);
|
|
|
+ APIResult<Page<OrderDetail>> orderAPIResult = orderClient.searchDetail(searchDTO);
|
|
|
if (!orderAPIResult.getSuccess()) {
|
|
|
log.error("order query error: {}", orderAPIResult.getMessage());
|
|
|
return APIResult.error(new BaseCode(orderAPIResult.getCode(), orderAPIResult.getMessage()));
|
|
|
}
|
|
|
|
|
|
- Page<Order> userOrderPage = orderAPIResult.getData();
|
|
|
- Page<UserOrderVo> page = new Page<>(userOrderPage.getTotalSize(), userOrderPage.getPageNo(), userOrderPage.getPageSize());
|
|
|
+ Page<OrderDetail> orderPage = orderAPIResult.getData();
|
|
|
+ Page<OrderDetailVo> page = new Page<>(orderPage.getTotalSize(), orderPage.getPageNo(), orderPage.getPageSize());
|
|
|
|
|
|
- List<Order> orderList = orderAPIResult.getData().getList();
|
|
|
- List<UserOrderVo> userOrderVoList = new ArrayList<>();
|
|
|
- if (CollectionUtils.isEmpty(orderList)) {
|
|
|
+ List<OrderDetail> orderDetailList = orderAPIResult.getData().getList();
|
|
|
+ if (CollectionUtils.isEmpty(orderDetailList)) {
|
|
|
return APIResult.ok(page);
|
|
|
}
|
|
|
|
|
|
- if (uids.isEmpty() && !CollectionUtils.isEmpty(orderList)) {
|
|
|
- orderList.forEach(userOrderVo -> uids.add(userOrderVo.getUid()));
|
|
|
- APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByIds(uids);
|
|
|
+ if (CollectionUtils.isEmpty(userIdList)) {
|
|
|
+ orderDetailList.forEach(order -> userIdList.add(order.getUid()));
|
|
|
+ APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByIds(userIdList);
|
|
|
if (!userAPIResult.getSuccess()) {
|
|
|
return APIResult.error(new BaseCode(userAPIResult.getCode(), userAPIResult.getMessage()));
|
|
|
}
|
|
|
+ terminalUserVoList = userAPIResult.getData();
|
|
|
+ }
|
|
|
|
|
|
- List<TerminalUserVo> userVoList = userAPIResult.getData();
|
|
|
- if (CollectionUtils.isEmpty(userVoList)) {
|
|
|
- return APIResult.error(CmsWebAPICode.error("用户信息查询错误"));
|
|
|
- }
|
|
|
-
|
|
|
- List<String> campusIdList = new ArrayList<>();
|
|
|
- // 记录数据,查到数据后要set回去
|
|
|
- for (TerminalUserVo userVo : userVoList) {
|
|
|
- campusIdList.add(userVo.getCampusId());
|
|
|
- userVoMap.put(userVo.getId(), userVo);
|
|
|
+ // 用户信息
|
|
|
+ Map<String, TerminalUserVo> terminalUserVoMap = new HashMap<>();
|
|
|
+ // 加载校区信息
|
|
|
+ List<String> campusIdList = new ArrayList<>();
|
|
|
+ for (TerminalUserVo terminalUserVo : terminalUserVoList) {
|
|
|
+ String campusId = terminalUserVo.getCampusId();
|
|
|
+ if (!campusIdList.contains(campusId)) {
|
|
|
+ campusIdList.add(campusId);
|
|
|
}
|
|
|
+ terminalUserVoMap.put(terminalUserVo.getId(), terminalUserVo);
|
|
|
+ }
|
|
|
|
|
|
- if (CollectionUtils.isEmpty(campusIdList)) {
|
|
|
- return APIResult.error(CmsWebAPICode.error("查询校区信息错误"));
|
|
|
- }
|
|
|
+ Map<String, CampusVo> campusVoMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(campusIdList)) {
|
|
|
APIResult<Map<String, CampusVo>> campusAPIResult = campusService.findByIds(campusIdList);
|
|
|
- if (campusAPIResult.getSuccess()) {
|
|
|
+ if (!campusAPIResult.getSuccess()) {
|
|
|
+ log.error("load campus info error");
|
|
|
+ }else {
|
|
|
campusVoMap = campusAPIResult.getData();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for (Order order : orderList) {
|
|
|
- UserOrderVo userOrderVo = convert(order);
|
|
|
- String uid = userOrderVo.getUid();
|
|
|
+ List<OrderDetailVo> orderDetailVoList = new ArrayList<>();
|
|
|
+ for (OrderDetail order : orderDetailList) {
|
|
|
+ OrderDetailVo orderDetailVo = convert(order);
|
|
|
+ String uid = orderDetailVo.getUid();
|
|
|
|
|
|
- TerminalUserVo terminalUserVo = userVoMap.get(uid);
|
|
|
+ TerminalUserVo terminalUserVo = terminalUserVoMap.get(uid);
|
|
|
if (terminalUserVo == null) {
|
|
|
log.error("用户不存在: {}", uid);
|
|
|
+ orderDetailVoList.add(orderDetailVo);
|
|
|
continue;
|
|
|
}
|
|
|
- userOrderVo.setMerchantId(terminalUserVo.getMerchantId());
|
|
|
- userOrderVo.setMerchantName(terminalUserVo.getMerchantName());
|
|
|
- userOrderVo.setUserCode(terminalUserVo.getCode());
|
|
|
- userOrderVo.setClassroomName(terminalUserVo.getName());
|
|
|
+ orderDetailVo.setMerchantId(terminalUserVo.getMerchantId());
|
|
|
+ orderDetailVo.setMerchantName(terminalUserVo.getMerchantName());
|
|
|
+ orderDetailVo.setUserCode(terminalUserVo.getCode());
|
|
|
+ orderDetailVo.setClassroomName(terminalUserVo.getName());
|
|
|
|
|
|
String campusId = terminalUserVo.getCampusId();
|
|
|
CampusVo campusVo = campusVoMap.get(campusId);
|
|
|
- userOrderVo.setProvinceCode(campusVo.getProvinceCode());
|
|
|
- userOrderVo.setCityName(campusVo.getCityName());
|
|
|
|
|
|
- userOrderVoList.add(userOrderVo);
|
|
|
+ if (campusVo == null) {
|
|
|
+ log.error("campus is null, uid={}", uid);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ orderDetailVo.setProvinceCode(campusVo.getProvinceCode());
|
|
|
+ orderDetailVo.setCityName(campusVo.getCityName());
|
|
|
+ orderDetailVo.setZoneName(campusVo.getZoneName());
|
|
|
+
|
|
|
+ orderDetailVoList.add(orderDetailVo);
|
|
|
}
|
|
|
|
|
|
- page.setList(userOrderVoList);
|
|
|
+ page.setList(orderDetailVoList);
|
|
|
return APIResult.ok(page);
|
|
|
}
|
|
|
+
|
|
|
+ public APIResult<Page<OrderProductSnapshot>> search(OrderSnapshotWebSearchDTO searchDTO) {
|
|
|
+ Map<String, Object> map = BeanUtil.convertToMap(searchDTO);
|
|
|
+ return orderClient.searchSnapshot(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 根据搜索条件查找用户
|
|
|
+ public List<TerminalUserVo> findTerminalUsers(String userCode, String campusCode, String campusName, String merchantId) {
|
|
|
+ List<TerminalUserVo> terminalUserVoList = new ArrayList<>();
|
|
|
+
|
|
|
+ if (!StringUtils.isEmpty(userCode)) {
|
|
|
+ // 按用户查询
|
|
|
+ Map<String, Object> searchDTO = new HashMap<>();
|
|
|
+ searchDTO.put("code", userCode);
|
|
|
+ searchDTO.put("merchantId", merchantId);
|
|
|
+ APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByCondition(searchDTO);
|
|
|
+ if (!userAPIResult.getSuccess()) {
|
|
|
+ log.error("load user id list error");
|
|
|
+ return terminalUserVoList;
|
|
|
+ }
|
|
|
+ terminalUserVoList = userAPIResult.getData();
|
|
|
+
|
|
|
+ } else if (!StringUtils.isEmpty(campusCode) || !StringUtils.isEmpty(campusName)) {
|
|
|
+ // 按校区查询
|
|
|
+ CampusSearchDTO campusSearchDTO = new CampusSearchDTO();
|
|
|
+ campusSearchDTO.setCode(campusCode);
|
|
|
+ campusSearchDTO.setName(campusName);
|
|
|
+ campusSearchDTO.setMerchantId(merchantId);
|
|
|
+ APIResult<List<CampusVo>> campusAPIResult = campusService.findByCondition(BeanUtil.convertToMap(campusSearchDTO));
|
|
|
+ if (!campusAPIResult.getSuccess()) {
|
|
|
+ log.error("load user id list error when find campus");
|
|
|
+ return terminalUserVoList;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<CampusVo> campusVoList = campusAPIResult.getData();
|
|
|
+ if (CollectionUtils.isEmpty(campusVoList)) {
|
|
|
+ return terminalUserVoList;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> campusIdList = new ArrayList<>();
|
|
|
+ for (CampusVo campusVo : campusVoList) {
|
|
|
+ campusIdList.add(campusVo.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ APIResult<List<TerminalUserVo>> userAPIResult = terminalUserService.findByCampusIds(campusIdList);
|
|
|
+ if (!userAPIResult.getSuccess()) {
|
|
|
+ log.error("load user id list error");
|
|
|
+ return terminalUserVoList;
|
|
|
+ }
|
|
|
+ terminalUserVoList = userAPIResult.getData();
|
|
|
+ }
|
|
|
+ return terminalUserVoList;
|
|
|
+ }
|
|
|
}
|