package com.matrix.system.shopXcx.api.action; import com.alibaba.fastjson.JSONObject; import com.matrix.biz.bean.BizUser; import com.matrix.component.redis.RedisClient; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.tools.LogUtil; import com.matrix.core.tools.StringUtils; import com.matrix.core.tools.UUIDUtil; import com.matrix.system.app.authority.AppAuthorityManager; import com.matrix.system.app.dto.LoginDto; import com.matrix.system.app.dto.PwdResetDto; import com.matrix.system.app.dto.SmsCodeDto; import com.matrix.system.app.dto.UploadPhotoDto; import com.matrix.system.app.vo.UserInfoVo; import com.matrix.system.common.authority.strategy.AccountPasswordLogin; import com.matrix.system.common.authority.strategy.LoginStrategy; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.common.tools.PasswordUtil; import com.matrix.system.hive.bean.AppVersion; import com.matrix.system.hive.bean.SysOrderFlow; import com.matrix.system.hive.bean.SysShopInfo; 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.plugin.util.CollectionUtils; import com.matrix.system.hive.plugin.util.ImageUtil; 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.ErpOrderDetailItemVo; 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.io.File; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; 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) { BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class); SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber()); if(vipInfo!=null){ erpOrderListDto.setVipId(vipInfo.getId()); List rows=sysOrderDao.selectErpOrderList(erpOrderListDto); rows.forEach(item->{ item.setItems(orderItemDao.selectErpOrderItemByOrderId(item.getOrderId())); }); return AjaxResult.buildSuccessInstance(rows,"查询成功"); }else{ return AjaxResult.buildFailInstance("未查询到相关订单001"); } } @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 sysOrderFlows = orderFlowDao.selectPayMethodsAmountByOrderId(orderId); List 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; } }