Commit ad149a5a by zhengyunfei

部分退款

parent 04458752
package com.yunniu.farming.app; package com.yunniu.farming.app;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yunniu.farming.common.plugin.PageInfo; import com.yunniu.farming.common.plugin.PageInfo;
import com.yunniu.farming.result.Result; import com.yunniu.farming.result.Result;
...@@ -197,7 +198,8 @@ public class OrderMainAppController { ...@@ -197,7 +198,8 @@ public class OrderMainAppController {
public Result refundOrder(@RequestBody JSONObject json) { public Result refundOrder(@RequestBody JSONObject json) {
//1. 将前台传过来的json对象转换成具有业务属性的 Java 对象 //1. 将前台传过来的json对象转换成具有业务属性的 Java 对象
OrderMain user = JSONObject.toJavaObject(json, OrderMain.class); OrderMain user = JSONObject.toJavaObject(json, OrderMain.class);
return this.orderService.refundOrder(user); JSONArray ids = json.getJSONArray("ids");
return this.orderService.refundOrder(user,ids);
} }
/** /**
......
...@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; ...@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunniu.farming.common.plugin.PageInfo; import com.yunniu.farming.common.plugin.PageInfo;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -60,7 +61,7 @@ public class OrderMain { ...@@ -60,7 +61,7 @@ public class OrderMain {
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
private String endDate; private String endDate;
//订单状态[10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消 101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝 106 仅退款] //订单状态[10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消 101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝 106仅退款]
public static final Integer STATUS_NOPAY = 10; public static final Integer STATUS_NOPAY = 10;
public static final Integer STATUS_YESPAY = 20; public static final Integer STATUS_YESPAY = 20;
public static final Integer STATUS_WAITING = 30; public static final Integer STATUS_WAITING = 30;
...@@ -96,6 +97,7 @@ public class OrderMain { ...@@ -96,6 +97,7 @@ public class OrderMain {
private Date tpaytime; // 支付时间[yyyy-MM-dd hh:mm:ss] private Date tpaytime; // 支付时间[yyyy-MM-dd hh:mm:ss]
private String refundorderno; private String refundorderno;
private Integer irefundstatus; // 退款状态[101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝] private Integer irefundstatus; // 退款状态[101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝]
private Double irefundmoney; // 退款金额
private Date trefundtime; // 退款时间[yyyy-MM-dd hh:mm:ss] private Date trefundtime; // 退款时间[yyyy-MM-dd hh:mm:ss]
private String srefundreason; // 退款理由 private String srefundreason; // 退款理由
private String srefundpic; // 退款图片 private String srefundpic; // 退款图片
...@@ -112,7 +114,7 @@ public class OrderMain { ...@@ -112,7 +114,7 @@ public class OrderMain {
private String sdef2; // 自定义项2 团购收获手机号 private String sdef2; // 自定义项2 团购收获手机号
private String sdef3; // 自定义项3 团购收货详细地址 private String sdef3; // 自定义项3 团购收货详细地址
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
private String sdef4; // 自定义项4 private String sdef4; // 自定义项4 支付回调标识
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
private String sdef5; // 自定义项5 private String sdef5; // 自定义项5
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
......
...@@ -41,7 +41,7 @@ public class OrderSub { ...@@ -41,7 +41,7 @@ public class OrderSub {
private Double dprosum; //金额小计[单位:元][两位小数] private Double dprosum; //金额小计[单位:元][两位小数]
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
private String sdef1; //自定义项1 private String sdef1; //自定义项1 退款状态 1申请退款,2申请成功,3申请拒绝,4退款成功
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
private String sdef2; //自定义项2 private String sdef2; //自定义项2
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
......
...@@ -148,6 +148,11 @@ public class GroupOrderServiceImpl implements GroupOrderService { ...@@ -148,6 +148,11 @@ public class GroupOrderServiceImpl implements GroupOrderService {
OrderMain order = orderDao.getBySdef1(outRefundNo); OrderMain order = orderDao.getBySdef1(outRefundNo);
order.setIrefundstatus(OrderMain.STATUS_REFUND_SUC); order.setIrefundstatus(OrderMain.STATUS_REFUND_SUC);
int update = orderMainDao.updateById(order); int update = orderMainDao.updateById(order);
List<OrderSub> orderSubs = this.orderSubDao.selectList(Wrappers.<OrderSub>lambdaQuery().eq(OrderSub::getMainid, order.getId()).eq(OrderSub::getSdef1, 2));
orderSubs.forEach(sub->{
sub.setSdef1("4");
orderSubDao.updateById(sub);
});
if (update > 0) { if (update > 0) {
return true; return true;
} }
......
package com.yunniu.farming.webadmin.service.impl; package com.yunniu.farming.webadmin.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yunniu.farming.result.Result; import com.yunniu.farming.result.Result;
import com.yunniu.farming.util.DateTools; import com.yunniu.farming.util.DateTools;
import com.yunniu.farming.util.DateUtils; import com.yunniu.farming.util.DateUtils;
...@@ -25,6 +28,7 @@ import org.springframework.stereotype.Service; ...@@ -25,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -298,7 +302,12 @@ public class OrderMainServiceImpl { ...@@ -298,7 +302,12 @@ public class OrderMainServiceImpl {
this.refundReceive(orderMain); this.refundReceive(orderMain);
} else { } else {
orderMain.setIrefundstatus(OrderMain.STATUS_RETURN_GOODS); orderMain.setIrefundstatus(OrderMain.STATUS_RETURN_GOODS);
this.orderMainDao.updateById(order); this.orderMainDao.updateById(orderMain);
List<OrderSub> orderSubs = this.orderSubDao.selectList(Wrappers.<OrderSub>lambdaQuery().eq(OrderSub::getMainid, order.getId()).eq(OrderSub::getSdef1, 1));
orderSubs.forEach(sub->{
sub.setSdef1("2");
orderSubDao.updateById(sub);
});
} }
return Result.success("成功"); return Result.success("成功");
} }
...@@ -306,12 +315,18 @@ public class OrderMainServiceImpl { ...@@ -306,12 +315,18 @@ public class OrderMainServiceImpl {
/** /**
* 更改订单退款申请拒绝 * 更改订单退款申请拒绝
*/ */
@Transactional(rollbackFor = Exception.class)
public Result refundApplicationRefuse(OrderMain order) { public Result refundApplicationRefuse(OrderMain order) {
if(order.getId() == null){ if(order.getId() == null){
return Result.error(); return Result.error();
} }
order.setIrefundstatus(OrderMain.STATUS_REFUND_REFUSE); order.setIrefundstatus(OrderMain.STATUS_REFUND_REFUSE);
this.orderMainDao.updateById(order); this.orderMainDao.updateById(order);
List<OrderSub> orderSubs = this.orderSubDao.selectList(Wrappers.<OrderSub>lambdaQuery().eq(OrderSub::getMainid, order.getId()).eq(OrderSub::getSdef1, 1));
orderSubs.forEach(sub->{
sub.setSdef1("3");
orderSubDao.updateById(sub);
});
return Result.success("成功"); return Result.success("成功");
} }
...@@ -537,15 +552,29 @@ public class OrderMainServiceImpl { ...@@ -537,15 +552,29 @@ public class OrderMainServiceImpl {
/** /**
* 申请退款 * 申请退款
*
* @param order * @param order
* @param ids
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result refundOrder(OrderMain order) { public Result refundOrder(OrderMain order, JSONArray ids) {
OrderMain orderMain = this.orderMainDao.selectById(order.getId()); OrderMain orderMain = this.orderMainDao.selectById(order.getId());
orderMain.setSrefundreason(order.getSrefundreason()); orderMain.setSrefundreason(order.getSrefundreason());
orderMain.setSrefundpic(order.getSrefundpic()); orderMain.setSrefundpic(order.getSrefundpic());
orderMain.setIrefundstatus(order.getIrefundstatus()); orderMain.setIrefundstatus(order.getIrefundstatus());
Double refundmoney = Double.valueOf(0.0);
if (CollectionUtils.isNotEmpty(ids)) {
List<OrderSub> orderSubs = this.orderSubDao.selectList(Wrappers.<OrderSub>lambdaQuery().eq(OrderSub::getMainid, order.getId()).in(OrderSub::getId, ids));
for (OrderSub sub : orderSubs) {
sub.setSdef1("1");
refundmoney = refundmoney + sub.getDprosum();
this.orderSubDao.updateById(sub);
}
}else {
refundmoney = orderMain.getDactmoney();
}
orderMain.setIrefundmoney(refundmoney);
this.orderMainDao.updateById(orderMain); this.orderMainDao.updateById(orderMain);
return Result.success("成功"); return Result.success("成功");
} }
......
#spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 #spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root #spring.datasource.username=root
#spring.datasource.password=Root_123456 #spring.datasource.password=Root_123456
spring.datasource.url=jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai #spring.datasource.url=jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.username=farming #spring.datasource.username=farming
spring.datasource.password=PKWB6psxa7FBApZB #spring.datasource.password=PKWB6psxa7FBApZB
#spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#spring.datasource.username=root spring.datasource.username=root
#spring.datasource.password=4f9fa23639242790 spring.datasource.password=4f9fa23639242790
#7LwimZ27FqEnzIPg #7LwimZ27FqEnzIPg
##47.101.199.10 ##47.101.199.10
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, mainid, productid,ipronum,dprosum,sgoodprice, id, mainid, productid,ipronum,dprosum,sgoodprice,
sproductname,spshortpic sproductname,spshortpic,sdef1
</sql> </sql>
<sql id="Full_Column_List" > <sql id="Full_Column_List" >
ordersub.id, ordersub.mainid, ordersub.productid,ordersub.ipronum,ordersub.dprosum,ordersub.sgoodprice, ordersub.id, ordersub.mainid, ordersub.productid,ordersub.ipronum,ordersub.dprosum,ordersub.sgoodprice,
......
...@@ -423,7 +423,7 @@ ...@@ -423,7 +423,7 @@
groupBuy.products = products; groupBuy.products = products;
groupBuy.goodsImgArr = goodsImgArr; groupBuy.goodsImgArr = goodsImgArr;
// groupBuy.groupBuyPic = groupBuyPic; // groupBuy.groupBuyPic = groupBuyPic;
groupBuy.groupBuyPic = groupBuyPic; groupBuy.groupBuyPic = "https://yuezhi-1314984551.cos.ap-shanghai.myqcloud.com/register/0f2f3ca914fa4e36ad644f61a3a3a243.jpeg";
groupBuy.startTime = startTime; groupBuy.startTime = startTime;
groupBuy.endTime = endTime; groupBuy.endTime = endTime;
$.ajax({ $.ajax({
......
...@@ -93,7 +93,23 @@ ...@@ -93,7 +93,23 @@
} }
, {field: 'ipronum', width: 100, title: '购买数量'} , {field: 'ipronum', width: 100, title: '购买数量'}
, {field: 'dprosum', width: 100, title: '金额小计'} , {field: 'dprosum', width: 100, title: '金额小计'}
,{
title: "退款状态",
width: 200,
templet: function(d) {
var str = "";
str += '<div>';
var itype = "";
if (d.sdef1 == 1) itype = "<span class='layui-badge layui-bg-gray'>退款申请中</span>";
if (d.sdef1 == 2) itype = "<span class='layui-badge'>申请成功,退货中</span>"
if (d.sdef1 == 3) itype = "<span class='layui-badge layui-bg-gray'>申请拒绝</span>";
if (d.sdef1 == 4) itype = "<span class='layui-badge layui-bg-gray'>退款成功</span>";
// if (d.sdef1 == null) itype = "<span class='layui-badge'></span>";
str += ' <span>' + itype + '</span>';
str += '</div>';
return str ? str : "";
}
}
......
...@@ -185,8 +185,7 @@ ...@@ -185,8 +185,7 @@
return str ? str : ""; return str ? str : "";
} }
} }
, {field: 'irefundmoney', width: 150, title: '退款金额'}
,{ ,{
title: "订单状态", title: "订单状态",
width: 200, width: 200,
......
Markdown is supported
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