提交 0d4be035 作者: zhenjie

商城订单-采购订单列表优化、确认订单修复

上级 ad9da37e
......@@ -38,8 +38,8 @@ public class UavPOController extends BaseController {
@ApiOperation(value = "平台采购订单列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = UavPurchaseOrderDTO.class)})
@PostMapping("listPurchaseOrder")
private ResultBody listPurchase(@RequestBody UavPOrderQO uavPOrderQO){
return uavPOService.listPurchase(uavPOrderQO);
private ResultBody listPurchase(@RequestBody UavPOrderQO uavPOrderQO, HttpServletRequest request){
return uavPOService.listPurchase(uavPOrderQO, this.getCurrentAccount(request));
}
@ApiOperation(value = "订单详情")
......
......@@ -23,7 +23,7 @@ public interface UavPODao {
List<UavPurchaseOrderDO> listPurchaseOrder(UavPOrderQO uavPOrderQO);
void updateUavPOrderStatus(Integer id, Integer nextCode);
void updateUavPOrderStatus(Integer id, Integer statusCode);
List<UavPurchaseOrderPayDO> listUavPOrderPay(Integer uavPurchaseOrderId);
......
......@@ -6,6 +6,7 @@ import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.uav.PayWalletDTO;
import com.mmc.oms.model.dto.user.UserAccountSimpleDTO;
import com.mmc.oms.model.qo.UserAccountQO;
import com.mmc.oms.model.qo.mall.BUserAccountQO;
import com.mmc.oms.model.vo.uav.PayUavWalletVO;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import io.swagger.annotations.ApiParam;
......@@ -59,4 +60,13 @@ public interface UserAppApi {
@RequestMapping(value = "/user-account/feignGetUserSimpleInfo", method = RequestMethod.GET)
public UserAccountSimpleDTO feignGetUserSimpleInfo(@RequestParam Integer userAccountId, @RequestHeader("token") String token);
/**
* 获取后台用户集合列表页面
*
* @param bUserAccountQO 问:b用户帐户
* @return {@link List}<{@link UserAccountSimpleDTO}>
*/
@PostMapping("/userapp/back-user/feignListBAccountPage")
List<UserAccountSimpleDTO> feignListBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO, @RequestHeader("token") String token);
}
......@@ -7,6 +7,7 @@ import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.uav.PayWalletDTO;
import com.mmc.oms.model.dto.user.UserAccountSimpleDTO;
import com.mmc.oms.model.qo.UserAccountQO;
import com.mmc.oms.model.qo.mall.BUserAccountQO;
import com.mmc.oms.model.vo.uav.PayUavWalletVO;
import com.mmc.oms.model.vo.wallet.TopUpOrderVO;
import lombok.extern.slf4j.Slf4j;
......@@ -67,4 +68,10 @@ public class UserAppApiHystrix implements UserAppApi {
log.error("熔断:UserAppApiHystrix.feignGetUserSimpleInfo==error==>param:{}", JSONObject.toJSONString(userAccountId));
return null;
}
@Override
public List<UserAccountSimpleDTO> feignListBAccountPage(BUserAccountQO bUserAccountQO, String token) {
log.error("熔断:UserAppApiHystrix.feignListBAccountPage==error==>param:{}", JSONObject.toJSONString(bUserAccountQO));
return null;
}
}
......@@ -33,6 +33,10 @@ public class UavPurchaseOrderDTO implements Serializable {
private Integer backUserAccountId;
@ApiModelProperty(value = "第三方商家用户id")
private Integer thirdUserAccountId;
@ApiModelProperty(value = "第三方商家公司名称")
private String companyName;
@ApiModelProperty(value = "第三方商家公司电话")
private String thirdPhoneNum;
@ApiModelProperty(value = "被关联订单id")
private Integer uavOrderId;
@ApiModelProperty(value = "订单金额")
......
......@@ -14,7 +14,7 @@ import com.mmc.oms.model.vo.uav.UavPOConfirmVO;
public interface UavPOService {
ResultBody confirmPOrder(UavPOConfirmVO uavPOConfirmVO, BaseAccountDTO currentAccount);
ResultBody listPurchase(UavPOrderQO uavPOrderQO);
ResultBody listPurchase(UavPOrderQO uavPOrderQO, BaseAccountDTO currentAccount);
ResultBody getPurchaseOrder(Integer id, BaseAccountDTO currentAccount);
......
......@@ -278,17 +278,17 @@ public class UavOrderServiceImpl implements UavOrderService {
@Override
public ResultBody close(Integer id, String token) {
UavOrderDO uavOrderDO = uavOrderDao.detail(id);
// 修改订单状态
this.updateUavOrderStatus(id, UavOrderStatus.CLOSE);
// 退云享金、佣金
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setCashAmount(uavOrderDO.getShareAmount());
payUavWalletVO.setSalaryAmount(uavOrderDO.getSalaryAmount());
payUavWalletVO.setOrderStatus(1400);
payUavWalletVO.setUserAccountId(uavOrderDO.getUserAccountId());
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, token);
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())){
return resultBody;
if (uavOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || uavOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) {
PayUavWalletVO payUavWalletVO = new PayUavWalletVO();
payUavWalletVO.setCashAmount(uavOrderDO.getShareAmount());
payUavWalletVO.setSalaryAmount(uavOrderDO.getSalaryAmount());
payUavWalletVO.setOrderStatus(1400);
payUavWalletVO.setUserAccountId(uavOrderDO.getUserAccountId());
ResultBody resultBody = userAppApi.feignPayUavWallet(payUavWalletVO, token);
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())){
return resultBody;
}
}
// 微信退款
if ("wechatpay".equals(uavOrderDO.getPayType())) {
......@@ -303,6 +303,8 @@ public class UavOrderServiceImpl implements UavOrderService {
throw new BizException("关闭订单失败!");
}
}
// 修改订单状态
this.updateUavOrderStatus(id, UavOrderStatus.CLOSE);
return ResultBody.success();
}
......@@ -397,7 +399,6 @@ public class UavOrderServiceImpl implements UavOrderService {
if (!uavOrderDO.getStatusCode().toString().equals(UavOrderStatus.WAITING_RECEIVE_GOODS.getCode().toString())) {
return ResultBody.error("操作有误,请重试!");
}
this.updateUavOrderStatus(id, UavOrderStatus.WAITING_RECEIVE_GOODS);
// 解冻用户钱包金额
if (uavOrderDO.getShareAmount().compareTo(BigDecimal.ZERO) > 0 || uavOrderDO.getSalaryAmount().compareTo(BigDecimal.ZERO) > 0) {
PayUavWalletVO userPayUavWalletVO = new PayUavWalletVO();
......@@ -440,6 +441,7 @@ public class UavOrderServiceImpl implements UavOrderService {
}
uavOrderDao.updateUavOrderProportion(uavOrderDO.getId(), UavOrderProportion.PROPORTION.intValue());
}
this.updateUavOrderStatus(id, UavOrderStatus.WAITING_RECEIVE_GOODS);
return ResultBody.success();
}
......
......@@ -6,7 +6,6 @@ import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.dao.uav.UavOrderExpressDao;
import com.mmc.oms.dao.uav.UavPODao;
import com.mmc.oms.entity.uav.UavOrderExpressDO;
import com.mmc.oms.entity.uav.UavOrderPayDO;
import com.mmc.oms.entity.uav.UavPurchaseOrderDO;
import com.mmc.oms.entity.uav.UavPurchaseOrderPayDO;
import com.mmc.oms.enums.UavOrderStatus;
......@@ -15,6 +14,8 @@ import com.mmc.oms.model.dto.ContractInfoDTO;
import com.mmc.oms.model.dto.uav.UavOrderPayDTO;
import com.mmc.oms.model.dto.uav.UavPurchaseOrderDTO;
import com.mmc.oms.model.dto.user.BaseAccountDTO;
import com.mmc.oms.model.dto.user.UserAccountSimpleDTO;
import com.mmc.oms.model.qo.mall.BUserAccountQO;
import com.mmc.oms.model.qo.uav.UavPOrderQO;
import com.mmc.oms.model.vo.uav.UavOrderExpressVO;
import com.mmc.oms.model.vo.uav.UavOrderPayVO;
......@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -90,7 +92,7 @@ public class UavPOServiceImpl implements UavPOService {
}
@Override
public ResultBody listPurchase(UavPOrderQO uavPOrderQO) {
public ResultBody listPurchase(UavPOrderQO uavPOrderQO, BaseAccountDTO currentAccount) {
int count = uavPODao.countListPurchaseOrder(uavPOrderQO);
if (count == 0) {
return ResultBody.success(PageResult.buildPage(uavPOrderQO.getPageNo(), uavPOrderQO.getPageSize(), count));
......@@ -99,7 +101,20 @@ public class UavPOServiceImpl implements UavPOService {
uavPOrderQO.buildCurrentPage();
List<UavPurchaseOrderDO> uavPurchaseOrderDOS = uavPODao.listPurchaseOrder(uavPOrderQO);
List<UavPurchaseOrderDTO> purchaseOrderDTOS = uavPurchaseOrderDOS.stream().map(UavPurchaseOrderDO::buildUavPurchaseOrderDTO).collect(Collectors.toList());
// TODO 提供商信息
// 提供商信息
List<Integer> userIds = purchaseOrderDTOS.stream().map(UavPurchaseOrderDTO::getThirdUserAccountId).collect(Collectors.toList());
BUserAccountQO bUserAccountQO = new BUserAccountQO();
bUserAccountQO.setUserIds(userIds);
List<UserAccountSimpleDTO> accountSimpleDTOS = userAppApi.feignListBAccountPage(bUserAccountQO, currentAccount.getToken());
if (CollectionUtils.isNotEmpty(accountSimpleDTOS)) {
Map<Integer, UserAccountSimpleDTO> accountSimpleDTOMap = accountSimpleDTOS.stream().collect(Collectors.toMap(UserAccountSimpleDTO::getId, v1 -> v1, (v1, v2) -> v2));
for (UavPurchaseOrderDTO purchaseOrderDTO : purchaseOrderDTOS) {
if (accountSimpleDTOMap.containsKey(purchaseOrderDTO.getThirdUserAccountId())) {
purchaseOrderDTO.setCompanyName(accountSimpleDTOMap.get(purchaseOrderDTO.getThirdUserAccountId()).getCompanyName());
purchaseOrderDTO.setThirdPhoneNum(accountSimpleDTOMap.get(purchaseOrderDTO.getThirdUserAccountId()).getPhoneNum());
}
}
}
return ResultBody.success(PageResult.buildPage(pageNo, uavPOrderQO.getPageSize(), count, purchaseOrderDTOS));
}
......
......@@ -64,7 +64,7 @@
<select id="listNoReceive" resultType="com.mmc.oms.entity.uav.UavOrderExpressDO">
select
<include refid="uav_order_express_column" />
from uav_order_express where is_receive = 0 and send_time > timestampdiff(day, send_time, NOW())
from uav_order_express where is_receive = 0 and timestampdiff(day, send_time, NOW()) >= 14
</select>
......
......@@ -98,7 +98,7 @@
where uav_order_id = #{uavOrderId}
</select>
<select id="getUavPOrder" resultType="com.mmc.oms.entity.uav.UavPurchaseOrderDO">
<select id="getUavPOrder" resultMap="uavPOResultMap">
select <include refid="uav_purchase_order_column"/>
from uav_purchase_order where id = #{id}
</select>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论