Commit 0896af59 authored by Junling Bu's avatar Junling Bu
Browse files

fix[litemall-wx, litemall-wx-api]: 调整订单操作。

1. 添加订单则商品货品数量减少
2. 取消订单和退款取消则商品货品数量增加
3. 小程序下单时点击确定模拟支付成功,点击取消模拟支付失败。
parent 5e670ae1
...@@ -28,7 +28,7 @@ public class OrderUtil { ...@@ -28,7 +28,7 @@ public class OrderUtil {
public static final Short STATUS_PAY = 201; public static final Short STATUS_PAY = 201;
public static final Short STATUS_SHIP= 301; public static final Short STATUS_SHIP= 301;
public static final Short STATUS_CONFIRM = 401; public static final Short STATUS_CONFIRM = 401;
public static final Short STATUS_CANCEL= 201; public static final Short STATUS_CANCEL= 102;
public static final Short STATUS_REFUND = 202; public static final Short STATUS_REFUND = 202;
public static final Short STATUS_AUTO_CONFIRM= 402; public static final Short STATUS_AUTO_CONFIRM= 402;
......
...@@ -2,10 +2,7 @@ package org.linlinjava.litemall.wx.web; ...@@ -2,10 +2,7 @@ package org.linlinjava.litemall.wx.web;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.linlinjava.litemall.db.domain.LitemallAddress; import org.linlinjava.litemall.db.domain.*;
import org.linlinjava.litemall.db.domain.LitemallCart;
import org.linlinjava.litemall.db.domain.LitemallOrder;
import org.linlinjava.litemall.db.domain.LitemallOrderGoods;
import org.linlinjava.litemall.db.service.*; import org.linlinjava.litemall.db.service.*;
import org.linlinjava.litemall.db.util.JacksonUtil; import org.linlinjava.litemall.db.util.JacksonUtil;
import org.linlinjava.litemall.db.util.OrderHandleOption; import org.linlinjava.litemall.db.util.OrderHandleOption;
...@@ -29,7 +26,7 @@ import java.util.Map; ...@@ -29,7 +26,7 @@ import java.util.Map;
* *
* 订单状态: * 订单状态:
* 101 订单生成,未支付;102,订单生产,但是未支付就取消; * 101 订单生成,未支付;102,订单生产,但是未支付就取消;
* 201 支付完成,商家未发货;202,订单生产,已付款未发货,取消 * 201 支付完成,商家未发货;202,订单生产,已付款未发货,但是退款取消
* 301 商家发货,用户未确认; * 301 商家发货,用户未确认;
* 401 用户确认收货,订单结束; 402 用户没有确认收货,但是快递反馈已收获后,超过一定时间,系统自动确认收货,订单结束。 * 401 用户确认收货,订单结束; 402 用户没有确认收货,但是快递反馈已收获后,超过一定时间,系统自动确认收货,订单结束。
* *
...@@ -39,7 +36,8 @@ import java.util.Map; ...@@ -39,7 +36,8 @@ import java.util.Map;
* 当401用户确认收货以后,此时用户可以进行的操作是删除订单,评价商品,或者再次购买 * 当401用户确认收货以后,此时用户可以进行的操作是删除订单,评价商品,或者再次购买
* 当402系统自动确认收货以后,此时用户可以删除订单,评价商品,或者再次购买 * 当402系统自动确认收货以后,此时用户可以删除订单,评价商品,或者再次购买
* *
* 目前不支持订单退货 * 目前不支持订单退货和售后服务
*
*/ */
@RestController @RestController
@RequestMapping("/wx/order") @RequestMapping("/wx/order")
...@@ -56,6 +54,8 @@ public class WxOrderController { ...@@ -56,6 +54,8 @@ public class WxOrderController {
private LitemallCartService cartService; private LitemallCartService cartService;
@Autowired @Autowired
private LitemallRegionService regionService; private LitemallRegionService regionService;
@Autowired
private LitemallProductService productService;
public WxOrderController() { public WxOrderController() {
} }
...@@ -73,12 +73,27 @@ public class WxOrderController { ...@@ -73,12 +73,27 @@ public class WxOrderController {
/** /**
* 订单列表 * 订单列表
* showType: * @param userId 用户ID
* 0, 全部订单 * @param showType 订单信息
* 1,待付款 * 0, 全部订单
* 2,待发货 * 1,待付款
* 3,待收货 * 2,待发货
* 4,待评价 * 3,待收货
* 4,待评价
* @param page 分页页数
* @param size 分页大小
* @return 订单操作结果
* 成功则
* {
* errno: 0,
* errmsg: '成功',
* data:
* {
* data: xxx ,
* count: xxx
* }
* }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@RequestMapping("list") @RequestMapping("list")
public Object list(@LoginUser Integer userId, Integer showType, public Object list(@LoginUser Integer userId, Integer showType,
...@@ -127,8 +142,23 @@ public class WxOrderController { ...@@ -127,8 +142,23 @@ public class WxOrderController {
/** /**
* 订单详情 * 订单详情
*
* @param userId 用户ID
* @param orderId 订单信息
* @return 订单操作结果
* 成功则
* {
* errno: 0,
* errmsg: '成功',
* data:
* {
* orderInfo: xxx ,
* orderGoods: xxx
* }
* }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@RequestMapping("detail") @GetMapping("detail")
public Object detail(@LoginUser Integer userId, Integer orderId) { public Object detail(@LoginUser Integer userId, Integer orderId) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.fail401();
...@@ -179,14 +209,24 @@ public class WxOrderController { ...@@ -179,14 +209,24 @@ public class WxOrderController {
/** /**
* 提交订单 * 提交订单
* 1. 根据购物车ID、地址ID、优惠券ID,创建订单表项
* 2. 购物车清空
* 3. TODO 优惠券设置已用
* 4. 商品货品数量减少
*
* @param userId 用户ID
* @param body 订单信息,{ cartId:xxx, addressId: xxx, couponId: xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功', data: { orderInfo: xxx } }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@PostMapping("submit") @PostMapping("submit")
public Object submit(@LoginUser Integer userId, @RequestBody String body) { public Object submit(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
if(body == null){ if(body == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
} }
Integer cartId = JacksonUtil.parseInteger(body, "cartId"); Integer cartId = JacksonUtil.parseInteger(body, "cartId");
Integer addressId = JacksonUtil.parseInteger(body, "addressId"); Integer addressId = JacksonUtil.parseInteger(body, "addressId");
...@@ -202,7 +242,7 @@ public class WxOrderController { ...@@ -202,7 +242,7 @@ public class WxOrderController {
// 使用优惠券减免的金额 // 使用优惠券减免的金额
BigDecimal couponPrice = new BigDecimal(0.00); BigDecimal couponPrice = new BigDecimal(0.00);
// 品价格 // 品价格
List<LitemallCart> checkedGoodsList = null; List<LitemallCart> checkedGoodsList = null;
if (cartId.equals(0)) { if (cartId.equals(0)) {
checkedGoodsList = cartService.queryByUidAndChecked(userId); checkedGoodsList = cartService.queryByUidAndChecked(userId);
...@@ -216,8 +256,8 @@ public class WxOrderController { ...@@ -216,8 +256,8 @@ public class WxOrderController {
return ResponseUtil.badArgumentValue(); return ResponseUtil.badArgumentValue();
} }
BigDecimal checkedGoodsPrice = new BigDecimal(0.00); BigDecimal checkedGoodsPrice = new BigDecimal(0.00);
for (LitemallCart cart : checkedGoodsList) { for (LitemallCart checkGoods : checkedGoodsList) {
checkedGoodsPrice = checkedGoodsPrice.add(cart.getRetailPrice().multiply(new BigDecimal(cart.getNumber()))); checkedGoodsPrice = checkedGoodsPrice.add(checkGoods.getRetailPrice().multiply(new BigDecimal(checkGoods.getNumber())));
} }
// 根据订单商品总价计算运费,满88则免运费,否则8元; // 根据订单商品总价计算运费,满88则免运费,否则8元;
...@@ -239,7 +279,7 @@ public class WxOrderController { ...@@ -239,7 +279,7 @@ public class WxOrderController {
order.setUserId(userId); order.setUserId(userId);
order.setOrderSn(orderService.generateOrderSn(userId)); order.setOrderSn(orderService.generateOrderSn(userId));
order.setAddTime(LocalDateTime.now()); order.setAddTime(LocalDateTime.now());
order.setOrderStatus(OrderUtil.STATUS_PAY); order.setOrderStatus(OrderUtil.STATUS_CREATE);
order.setConsignee(checkedAddress.getName()); order.setConsignee(checkedAddress.getName());
order.setMobile(checkedAddress.getMobile()); order.setMobile(checkedAddress.getMobile());
String detailedAddress = detailedAddress(checkedAddress); String detailedAddress = detailedAddress(checkedAddress);
...@@ -271,51 +311,207 @@ public class WxOrderController { ...@@ -271,51 +311,207 @@ public class WxOrderController {
// 删除购物车里面的商品信息 // 删除购物车里面的商品信息
cartService.clearGoods(userId); cartService.clearGoods(userId);
// 商品货品数量减少
for (LitemallCart checkGoods : checkedGoodsList) {
checkedGoodsPrice = checkedGoodsPrice.add(checkGoods.getRetailPrice().multiply(new BigDecimal(checkGoods.getNumber())));
Integer productId= checkGoods.getProductId();
LitemallProduct product = productService.findById(productId);
if(product == null){
return ResponseUtil.badArgumentValue();
}
Integer remainNumber = product.getGoodsNumber() - checkGoods.getNumber();
if(remainNumber < 0){
return ResponseUtil.badArgumentValue();
}
product.setGoodsNumber(remainNumber);
productService.updateById(product);
}
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
data.put("orderInfo", order); data.put("orderInfo", order);
return ResponseUtil.ok(data); return ResponseUtil.ok(data);
} }
/** /**
* 取消订单 * 取消订单
* 1. 检测当前订单是否能够取消
* 2. 设置订单取消状态
* 3. 商品货品数量增加
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@RequestMapping("cancel") @PostMapping("cancel")
public Object cancel(@LoginUser Integer userId, Integer orderId) { public Object cancel(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){ if(orderId == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
} }
LitemallOrder order = orderService.findById(orderId); LitemallOrder order = orderService.findById(orderId);
if(order == null){ if(order == null){
return ResponseUtil.fail403(); return ResponseUtil.badArgumentValue();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
} }
// 检测是否能够取消
OrderHandleOption handleOption = OrderUtil.build(order); OrderHandleOption handleOption = OrderUtil.build(order);
if(!handleOption.isCancel()){ if(!handleOption.isCancel()){
return ResponseUtil.fail(403, "订单不能取消"); return ResponseUtil.fail(403, "订单不能取消");
} }
order.setOrderStatus((short)102); // 设置订单已取消状态
order.setOrderStatus(OrderUtil.STATUS_CANCEL);
orderService.update(order); orderService.update(order);
// 商品货品数量增加
List<LitemallOrderGoods> orderGoodsList = orderGoodsService.queryByOid(orderId);
for(LitemallOrderGoods orderGoods : orderGoodsList){
Integer productId = orderGoods.getProductId();
LitemallProduct product = productService.findById(productId);
if(product == null){
return ResponseUtil.badArgumentValue();
}
Integer number = product.getGoodsNumber() + orderGoods.getNumber();
product.setGoodsNumber(number);
productService.updateById(product);
}
return ResponseUtil.ok(); return ResponseUtil.ok();
} }
@RequestMapping("refund") /**
public Object refund(@LoginUser Integer userId, Integer orderId) { * 付款
* 1. 检测当前订单是否能够付款
* 2. 设置订单付款状态
* 3. TODO 微信后台申请支付,同时设置付款状态
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@PostMapping("pay")
public Object pay(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){ if(orderId == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
}
LitemallOrder order = orderService.findById(orderId);
if(order == null){
return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
}
// 检测是否能够付款
OrderHandleOption handleOption = OrderUtil.build(order);
if(!handleOption.isPay()){
return ResponseUtil.fail(403, "订单不能付款");
}
// 微信后台申请微信支付订单号
String payId = "";
// 微信支付订单号生产未支付
Short payStatus = 1;
order.setOrderStatus(OrderUtil.STATUS_PAY);
order.setPayId(payId);
order.setPayStatus(payStatus);
orderService.update(order);
return ResponseUtil.ok();
}
/**
* 付款成功回调接口
* 1. 检测当前订单是否是付款状态
* 2. 设置订单付款成功状态相关信息
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx, payId: xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*
* 注意,这里pay_notify是示例地址,开发者应该设立一个隐蔽的回调地址
* TODO 这里需要根据微信支付文档设计
*/
@PostMapping("pay_notify")
public Object pay_notify(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){
return ResponseUtil.unlogin();
}
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
Integer payId = JacksonUtil.parseInteger(body, "payId");
if(orderId == null || payId == null){
return ResponseUtil.badArgument();
}
LitemallOrder order = orderService.findById(orderId);
if(order == null){
return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
}
// 检测是否是付款状态
if(!order.getOrderStatus().equals(OrderUtil.STATUS_PAY)){
logger.error("系统内部错误");
}
if(!order.getPayId().equals(payId)){
logger.error("系统内部错误");
}
Short payStatus = (short)2;
order.setPayStatus(payStatus);
order.setPayTime(LocalDateTime.now());
orderService.update(order);
return ResponseUtil.ok();
}
/**
* 退款取消订单
* 1. 检测当前订单是否能够退款取消
* 2. 设置订单退款取消状态
* 3. TODO 退款
* 4. 商品货品数量增加
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@PostMapping("refund")
public Object refund(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){
return ResponseUtil.unlogin();
}
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){
return ResponseUtil.badArgument();
} }
LitemallOrder order = orderService.findById(orderId); LitemallOrder order = orderService.findById(orderId);
if(order == null){ if(order == null){
return ResponseUtil.fail403(); return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
} }
OrderHandleOption handleOption = OrderUtil.build(order); OrderHandleOption handleOption = OrderUtil.build(order);
...@@ -323,56 +519,139 @@ public class WxOrderController { ...@@ -323,56 +519,139 @@ public class WxOrderController {
return ResponseUtil.fail(403, "订单不能取消"); return ResponseUtil.fail(403, "订单不能取消");
} }
// 设置订单取消状态
order.setOrderStatus(OrderUtil.STATUS_REFUND);
orderService.update(order);
// 退款操作 // 退款操作
// 设置订单取消状态 // 商品货品数量增加
order.setOrderStatus((short)202); List<LitemallOrderGoods> orderGoodsList = orderGoodsService.queryByOid(orderId);
for(LitemallOrderGoods orderGoods : orderGoodsList){
Integer productId = orderGoods.getProductId();
LitemallProduct product = productService.findById(productId);
if(product == null){
return ResponseUtil.badArgumentValue();
}
Integer number = product.getGoodsNumber() + orderGoods.getNumber();
product.setGoodsNumber(number);
productService.updateById(product);
}
return ResponseUtil.ok();
}
/**
* 发货
* 1. 检测当前订单是否能够发货
* 2. 设置订单发货状态
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx, shipSn: xxx, shipChannel: xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@PostMapping("ship")
public Object ship(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){
return ResponseUtil.unlogin();
}
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
String shipSn = JacksonUtil.parseString(body, "shipSn");
String shipChannel = JacksonUtil.parseString(body, "shipChannel");
if(orderId == null || shipSn == null || shipChannel == null){
return ResponseUtil.badArgument();
}
LitemallOrder order = orderService.findById(orderId);
if(order == null){
return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
}
// 如果订单不是已付款状态,则不能发货
if(!order.getOrderStatus().equals(OrderUtil.STATUS_PAY)){
return ResponseUtil.fail(403, "订单不能确认收货");
}
order.setOrderStatus(OrderUtil.STATUS_SHIP);
order.setShipSn(shipSn);
order.setShipChannel(shipChannel);
order.setShipStartTime(LocalDateTime.now());
orderService.update(order); orderService.update(order);
return ResponseUtil.ok(); return ResponseUtil.ok();
} }
@RequestMapping("delete") /**
public Object delete(@LoginUser Integer userId, Integer orderId) { * 确认收货
* 1. 检测当前订单是否能够确认订单
* 2. 设置订单确认状态
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@PostMapping("confirm")
public Object confirm(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){ if(orderId == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
} }
LitemallOrder order = orderService.findById(orderId); LitemallOrder order = orderService.findById(orderId);
if(order == null){ if(order == null){
return ResponseUtil.fail403(); return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
} }
OrderHandleOption handleOption = OrderUtil.build(order); OrderHandleOption handleOption = OrderUtil.build(order);
if(!handleOption.isDelete()){ if(!handleOption.isConfirm()){
return ResponseUtil.fail(403, "订单不能删除"); return ResponseUtil.fail(403, "订单不能确认收货");
} }
// 订单order_status没有字段用于标识删除 order.setOrderStatus(OrderUtil.STATUS_CONFIRM);
// 而是存在专门的is_delete字段表示是否删除 order.setConfirmTime(LocalDateTime.now());
orderService.deleteById(orderId); orderService.update(order);
return ResponseUtil.ok(); return ResponseUtil.ok();
} }
/** /**
* 用户确认收货 * 自动确认收货
* 1. 检测当前订单是否能够自动确认订单
* 2. 设置订单自动确认状态
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@RequestMapping("confirm") @PostMapping("autoconfirm")
public Object confirm(@LoginUser Integer userId, Integer orderId) { public Object autoconfirm(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){ if(orderId == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
} }
LitemallOrder order = orderService.findById(orderId); LitemallOrder order = orderService.findById(orderId);
if(order == null){ if(order == null){
return ResponseUtil.fail403(); return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
} }
OrderHandleOption handleOption = OrderUtil.build(order); OrderHandleOption handleOption = OrderUtil.build(order);
...@@ -380,22 +659,70 @@ public class WxOrderController { ...@@ -380,22 +659,70 @@ public class WxOrderController {
return ResponseUtil.fail(403, "订单不能确认收货"); return ResponseUtil.fail(403, "订单不能确认收货");
} }
order.setOrderStatus((short)401); order.setOrderStatus(OrderUtil.STATUS_AUTO_CONFIRM);
order.setConfirmTime(LocalDateTime.now()); order.setConfirmTime(LocalDateTime.now());
orderService.update(order); orderService.update(order);
return ResponseUtil.ok();
}
/**
* 删除订单
* 1. 检测当前订单是否删除
* 2. 设置订单删除状态
* @param userId 用户ID
* @param body 订单信息,{ orderId:xxx }
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功' }
* 失败则 { errno: XXX, errmsg: XXX }
*/
@PostMapping("delete")
public Object delete(@LoginUser Integer userId, @RequestBody String body) {
if(userId == null){
return ResponseUtil.unlogin();
}
Integer orderId = JacksonUtil.parseInteger(body, "orderId");
if(orderId == null){
return ResponseUtil.badArgument();
}
LitemallOrder order = orderService.findById(orderId);
if(order == null){
return ResponseUtil.badArgument();
}
if(!order.getUserId().equals(userId)){
return ResponseUtil.badArgumentValue();
}
OrderHandleOption handleOption = OrderUtil.build(order);
if(!handleOption.isDelete()){
return ResponseUtil.fail(403, "订单不能删除");
}
// 订单order_status没有字段用于标识删除
// 而是存在专门的delete字段表示是否删除
orderService.deleteById(orderId);
return ResponseUtil.ok(); return ResponseUtil.ok();
} }
/** /**
* 用户评价的商品信息 * 可以评价的订单商品信息
*
* @param userId 用户ID
* @param orderId 订单ID
* @param goodsId 商品ID
* @return 订单操作结果
* 成功则 { errno: 0, errmsg: '成功', data: xxx }
* 失败则 { errno: XXX, errmsg: XXX }
*/ */
@RequestMapping("comment") @GetMapping("comment")
public Object comment(@LoginUser Integer userId, Integer orderId, Integer goodsId) { public Object comment(@LoginUser Integer userId, Integer orderId, Integer goodsId) {
if(userId == null){ if(userId == null){
return ResponseUtil.fail401(); return ResponseUtil.unlogin();
} }
if(orderId == null || goodsId == null){ if(orderId == null){
return ResponseUtil.fail402(); return ResponseUtil.badArgument();
} }
List<LitemallOrderGoods> orderGoodsList = orderGoodsService.findByOidAndGid(orderId, goodsId); List<LitemallOrderGoods> orderGoodsList = orderGoodsService.findByOidAndGid(orderId, goodsId);
......
...@@ -12,7 +12,7 @@ Page({ ...@@ -12,7 +12,7 @@ Page({
// 页面初始化 options为页面跳转所带来的参数 // 页面初始化 options为页面跳转所带来的参数
this.setData({ this.setData({
orderId: options.orderId, orderId: options.orderId,
status: options.status status: options.status === '1' ? true : false
}) })
}, },
onReady: function () { onReady: function () {
......
...@@ -109,27 +109,43 @@ Page({ ...@@ -109,27 +109,43 @@ Page({
// 目前不能支持微信支付,这里仅仅是模拟支付成功,同理,后台也仅仅是返回一个成功的消息而已 // 目前不能支持微信支付,这里仅仅是模拟支付成功,同理,后台也仅仅是返回一个成功的消息而已
wx.showModal({ wx.showModal({
title: '目前不能微信支付', title: '目前不能微信支付',
content: '点击确定模拟支付成功', content: '点击确定模拟支付成功,点击取消模拟未支付成功',
showCancel: false, success: function(res) {
success: function(res) { if (res.confirm) {
wx.redirectTo({ util.request(api.OrderPay, { orderId: orderId }, 'POST').then(res => {
url: '/pages/payResult/payResult?status=true&orderId=' + orderId if (res.errno === 0) {
}); wx.redirectTo({
url: '/pages/payResult/payResult?status=1&orderId=' + orderId
});
}
else{
wx.redirectTo({
url: '/pages/payResult/payResult?status=0&orderId=' + orderId
});
}
});
}
else if (res.cancel) {
wx.redirectTo({
url: '/pages/payResult/payResult?status=0&orderId=' + orderId
});
}
} }
}); });
// pay.payOrder(orderId).then(res => { // pay.payOrder(orderId).then(res => {
// wx.redirectTo({ // wx.redirectTo({
// url: '/pages/payResult/payResult?status=true&orderId=' + orderId // url: '/pages/payResult/payResult?status=1&orderId=' + orderId
// }); // });
// }).catch(res => { // }).catch(res => {
// wx.redirectTo({ // wx.redirectTo({
// url: '/pages/payResult/payResult?status=false&orderId=' + orderId // url: '/pages/payResult/payResult?status=0&orderId=' + orderId
// }); // });
// }); // });
// } else { // } else {
// wx.redirectTo({ // wx.redirectTo({
// url: '/pages/payResult/payResult?status=false&orderId=' + orderId // url: '/pages/payResult/payResult?status=0&orderId=' + orderId
// }); // });
} }
}); });
......
...@@ -35,7 +35,7 @@ Page({ ...@@ -35,7 +35,7 @@ Page({
let that = this; let that = this;
util.request(api.PayPrepayId, { util.request(api.PayPrepayId, {
orderId: that.data.orderId orderId: that.data.orderId
}).then(function (res) { }, 'POST').then(function (res) {
if (res.errno === 0) { if (res.errno === 0) {
const payParam = res.data; const payParam = res.data;
wx.requestPayment({ wx.requestPayment({
...@@ -67,7 +67,7 @@ Page({ ...@@ -67,7 +67,7 @@ Page({
if (res.confirm) { if (res.confirm) {
util.request(api.OrderCancel, { util.request(api.OrderCancel, {
orderId: orderInfo.id orderId: orderInfo.id
}).then(function (res) { }, 'POST').then(function (res) {
if (res.errno === 0) { if (res.errno === 0) {
wx.showToast({ wx.showToast({
title: '取消订单成功' title: '取消订单成功'
...@@ -94,7 +94,7 @@ Page({ ...@@ -94,7 +94,7 @@ Page({
if (res.confirm) { if (res.confirm) {
util.request(api.OrderRefund, { util.request(api.OrderRefund, {
orderId: orderInfo.id orderId: orderInfo.id
}).then(function (res) { }, 'POST').then(function (res) {
if (res.errno === 0) { if (res.errno === 0) {
wx.showToast({ wx.showToast({
title: '取消订单成功' title: '取消订单成功'
...@@ -109,7 +109,7 @@ Page({ ...@@ -109,7 +109,7 @@ Page({
} }
}); });
}, },
// “取消订单并退款”点击效果 // “删除”点击效果
deleteOrder: function () { deleteOrder: function () {
let that = this; let that = this;
let orderInfo = that.data.orderInfo; let orderInfo = that.data.orderInfo;
...@@ -121,7 +121,7 @@ Page({ ...@@ -121,7 +121,7 @@ Page({
if (res.confirm) { if (res.confirm) {
util.request(api.OrderDelete, { util.request(api.OrderDelete, {
orderId: orderInfo.id orderId: orderInfo.id
}).then(function (res) { }, 'POST').then(function (res) {
if (res.errno === 0) { if (res.errno === 0) {
wx.showToast({ wx.showToast({
title: '删除订单成功' title: '删除订单成功'
...@@ -148,7 +148,7 @@ Page({ ...@@ -148,7 +148,7 @@ Page({
if (res.confirm) { if (res.confirm) {
util.request(api.OrderConfirm, { util.request(api.OrderConfirm, {
orderId: orderInfo.id orderId: orderInfo.id
}).then(function (res) { }, 'POST').then(function (res) {
if (res.errno === 0) { if (res.errno === 0) {
wx.showToast({ wx.showToast({
title: '确认收货成功!' title: '确认收货成功!'
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment