| package com.matrix.system.shopXcx.api.action; | 
|   | 
| import com.matrix.component.redis.RedisClient; | 
| import com.matrix.component.redis.RedisUserLoginUtils; | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.system.app.authority.AppAuthorityManager; | 
| import com.matrix.system.common.service.SysUsersService; | 
| import com.matrix.system.hive.bean.SysOrderFlow; | 
| import com.matrix.system.hive.bean.SysVipInfo; | 
| import com.matrix.system.hive.dao.SysOrderDao; | 
| import com.matrix.system.hive.dao.SysOrderFlowDao; | 
| import com.matrix.system.hive.dao.SysOrderItemDao; | 
| import com.matrix.system.hive.dao.SysVipInfoDao; | 
| import com.matrix.system.hive.service.SysShopInfoService; | 
| import com.matrix.system.shopXcx.api.dto.ErpOrderListDto; | 
| import com.matrix.system.shopXcx.api.vo.ErpOrderDetailFlowVo; | 
| import com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import io.swagger.annotations.ApiResponse; | 
| import io.swagger.annotations.ApiResponses; | 
| import org.springframework.beans.BeanUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.beans.factory.annotation.Value; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.List; | 
|   | 
| /** | 
|  * @author wzy | 
|  * @date 2020-12-21 | 
|  **/ | 
| @Api(value = "WxErpOrderAction", tags = "小程序端Erp订单查询接口") | 
| @RestController | 
| @RequestMapping(value = "/wxapi/erpOrder") | 
| public class WxErpOrderAction { | 
|   | 
|     @Autowired | 
|     private SysUsersService sysUsersService; | 
|   | 
|     @Autowired | 
|     private SysShopInfoService sysShopInfoService; | 
|   | 
|     @Autowired | 
|     private AppAuthorityManager authorityManager; | 
|   | 
|     @Autowired | 
|     private RedisClient redisClient; | 
|   | 
|     @Autowired | 
|     private SysVipInfoDao vipInfoDao; | 
|   | 
|     @Autowired | 
|     RedisUserLoginUtils redisUserLoginUtils; | 
|   | 
|     @Autowired | 
|     private SysOrderDao sysOrderDao; | 
|   | 
|     @Autowired | 
|     private SysOrderItemDao orderItemDao; | 
|   | 
|     @Autowired | 
|     private SysOrderFlowDao orderFlowDao; | 
|   | 
|     @Value("${file_storage_path}") | 
|     private String fileStoragePath; | 
|     @Value("${static_resource_url}") | 
|     private String nginxUrl; | 
|   | 
|     @ApiOperation(value = "查询用户所有在ERP中产生的订单") | 
|     @ApiResponses({ | 
|             @ApiResponse(code = 200, message = "OK", response = ErpOrderListDto.class) | 
|     }) | 
|     @PostMapping(value = "/findUserOrderList") | 
|     public AjaxResult findUserOrderList(@RequestBody @Validated ErpOrderListDto erpOrderListDto) { | 
|         SysVipInfo vipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); | 
|          | 
|         erpOrderListDto.setVipId(vipInfo.getId()); | 
|         List<ErpOrderDetailVo> rows = sysOrderDao.selectErpOrderList(erpOrderListDto); | 
|         rows.forEach(item -> { | 
|             item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId())); | 
|         }); | 
|         return AjaxResult.buildSuccessInstance(rows, "查询成功"); | 
|   | 
|   | 
|     } | 
|   | 
|     @ApiOperation(value = "查询用户在ERP中的订单详情") | 
|     @ApiResponses({ | 
|             @ApiResponse(code = 200, message = "OK", response = ErpOrderListDto.class) | 
|     }) | 
|     @GetMapping(value = "/findUserOrderById/{orderId}") | 
|     public AjaxResult findUserOrderList(@PathVariable Long orderId) { | 
|         ErpOrderDetailVo order = sysOrderDao.findUserOrderById(orderId); | 
|         order.setItems(orderItemDao.selectErpOrderItemByOrderId(order.getOrderId())); | 
|         List<SysOrderFlow> sysOrderFlows = orderFlowDao.selectPayMethodsAmountByOrderId(orderId); | 
|         List<ErpOrderDetailFlowVo> flowVos = new ArrayList<>(); | 
|         sysOrderFlows.forEach(item -> { | 
|             ErpOrderDetailFlowVo erpOrderDetailFlowVo = new ErpOrderDetailFlowVo(); | 
|             BeanUtils.copyProperties(item, erpOrderDetailFlowVo); | 
|             flowVos.add(erpOrderDetailFlowVo); | 
|         }); | 
|         order.setFlow(flowVos); | 
|         AjaxResult result = AjaxResult.buildSuccessInstance("查询成功"); | 
|         result.putInMap("order", order); | 
|         return result; | 
|     } | 
|   | 
|   | 
| } |