modify order logic

This commit is contained in:
376654749@qq.com 2022-03-15 16:31:35 +08:00
parent 1417dbc64f
commit cd6a9f9e27
2 changed files with 124 additions and 109 deletions

View File

@ -66,9 +66,7 @@ public class OrderController {
public ResponseDTO<Map<String, String>> generateOrderWX(@RequestBody List<OrdersEntity> ordersEntityList){
StringBuffer productId = new StringBuffer();
StringBuffer productName = new StringBuffer();
StringBuffer remark = new StringBuffer();
Map<String, String> resultMsg = new HashMap<>();
String memberId = "";
String mobile = "";
int buyCount = 0;
double total_fee = 0 ;
@ -77,8 +75,12 @@ public class OrderController {
JSONArray orderDatilListJson = new JSONArray();
OrdersEntity ordersEntity = new OrdersEntity();
OrderAddress orderAddress = new OrderAddress();
String memberId = "";
String couponCode = "";
try {
for (OrdersEntity ordersEntitys : ordersEntityList) {
//删除购物车信息
cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode());
//存储orderDetailList
@ -94,10 +96,30 @@ public class OrderController {
orderDatilListEntity.setProductCode(goodsObject.getString("productCode"));
orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice"));
orderDatilListJson.add(orderDatilListEntity);
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode()+",");
productName.append(ordersEntitys.getProductName()+",");
memberId = ordersEntitys.getMemberId();
if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) {
couponCode = ordersEntitys.getCouponCode();
}
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
}
//验证优惠卷
if (couponCode != "" && couponCode != null) {
CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity();
couponGetAllEntity.setMemberId(ordersEntitys.getMemberId());
couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode());
couponGetAllEntity.setMemberId(memberId);
couponGetAllEntity.setCouponCode(couponCode);
String couponInfo = couponService.couponGetAll(couponGetAllEntity);
JSONObject jsonObject = JSONObject.parseObject(couponInfo);
com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data"));
@ -115,23 +137,7 @@ public class OrderController {
ordersEntity.setCouponName(jsonObjectData.getString("couponName"));
ordersEntity.setCouponId(jsonObjectData.getString("couponId"));
ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId"));
total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount());
} else {
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
}
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode() + ",");
productName.append(ordersEntitys.getProductName() + ",");
remark.append(ordersEntitys.getBuyCount() + ",");
memberId = ordersEntitys.getMemberId();
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee);
}
ordersEntity.setOrderAddress(orderAddress);
ordersEntity.setProductCode(productId.substring(0,productId.length()-1));
@ -143,7 +149,7 @@ public class OrderController {
ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo());
ordersEntity.setOrderStatus("0");
ordersEntity.setBasePoint(basePoint);
ordersEntity.setRemark(remark.substring(0,remark.length() - 1));
ordersEntity.setPayType("3");
resultMsg = orderService.generateOrder(ordersEntity, orderDatilListJson);
if (resultMsg.get("code").equals("1")) {
wxPayEntity.setProduct_id(ordersEntity.getProductCode());
@ -173,7 +179,6 @@ public class OrderController {
StringBuffer productId = new StringBuffer();
StringBuffer productName = new StringBuffer();
Map<String, String> resultMsg = new HashMap<>();
String memberId = "";
String mobile = "";
int buyCount = 0;
double total_fee = 0 ;
@ -182,8 +187,12 @@ public class OrderController {
JSONArray orderDatilListJson = new JSONArray();
OrdersEntity ordersEntity = new OrdersEntity();
OrderAddress orderAddress = new OrderAddress();
String memberId = "";
String couponCode = "";
try {
for (OrdersEntity ordersEntitys : ordersEntityList) {
//删除购物车信息
cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode());
//存储orderDetailList
@ -199,10 +208,28 @@ public class OrderController {
orderDatilListEntity.setProductCode(goodsObject.getString("productCode"));
orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice"));
orderDatilListJson.add(orderDatilListEntity);
if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) {
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode()+",");
productName.append(ordersEntitys.getProductName()+",");
memberId = ordersEntitys.getMemberId();
couponCode = ordersEntitys.getCouponCode();
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
}
//验证优惠卷
if (couponCode != "" && couponCode != null) {
CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity();
couponGetAllEntity.setMemberId(ordersEntitys.getMemberId());
couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode());
couponGetAllEntity.setMemberId(memberId);
couponGetAllEntity.setCouponCode(couponCode);
String couponInfo = couponService.couponGetAll(couponGetAllEntity);
JSONObject jsonObject = JSONObject.parseObject(couponInfo);
com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data"));
@ -220,22 +247,7 @@ public class OrderController {
ordersEntity.setCouponName(jsonObjectData.getString("couponName"));
ordersEntity.setCouponId(jsonObjectData.getString("couponId"));
ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId"));
total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount());
} else {
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
}
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode()+",");
productName.append(ordersEntitys.getProductName()+",");
memberId = ordersEntitys.getMemberId();
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee);
}
ordersEntity.setOrderAddress(orderAddress);
ordersEntity.setProductCode(productId.substring(0,productId.length()-1));
@ -276,7 +288,6 @@ public class OrderController {
StringBuffer productId = new StringBuffer();
StringBuffer productName = new StringBuffer();
Map<String, String> resultMsg = new HashMap<>();
String memberId = "";
String mobile = "";
int buyCount = 0;
double total_fee = 0 ;
@ -285,8 +296,12 @@ public class OrderController {
JSONArray orderDatilListJson = new JSONArray();
OrdersEntity ordersEntity = new OrdersEntity();
OrderAddress orderAddress = new OrderAddress();
String memberId = "";
String couponCode = "";
try {
for (OrdersEntity ordersEntitys : ordersEntityList) {
//删除购物车信息
cartService.cancelProduct(ordersEntitys.getMemberId(), ordersEntity.getProductCode());
//存储orderDetailList
@ -302,10 +317,28 @@ public class OrderController {
orderDatilListEntity.setProductCode(goodsObject.getString("productCode"));
orderDatilListEntity.setEcPrice(goodsObject.getString("ecPrice"));
orderDatilListJson.add(orderDatilListEntity);
if (ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) {
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode()+",");
productName.append(ordersEntitys.getProductName()+",");
memberId = ordersEntitys.getMemberId();
couponCode = ordersEntitys.getCouponCode();
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
}
//验证优惠卷
if (couponCode != "" && couponCode != null) {
CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity();
couponGetAllEntity.setMemberId(ordersEntitys.getMemberId());
couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode());
couponGetAllEntity.setMemberId(memberId);
couponGetAllEntity.setCouponCode(couponCode);
String couponInfo = couponService.couponGetAll(couponGetAllEntity);
JSONObject jsonObject = JSONObject.parseObject(couponInfo);
com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data"));
@ -323,22 +356,7 @@ public class OrderController {
ordersEntity.setCouponName(jsonObjectData.getString("couponName"));
ordersEntity.setCouponId(jsonObjectData.getString("couponId"));
ordersEntity.setCouponTypeId(jsonObjectData.getString("couponTypeId"));
total_fee = total_fee + orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), Double.parseDouble(goodsObject.getString("ecPrice")), ordersEntitys.getBuyCount());
} else {
total_fee = total_fee + Double.parseDouble(goodsObject.getString("ecPrice")) * ordersEntitys.getBuyCount();
}
basePoint = basePoint + ordersEntitys.getBasePoint();
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductCode()+",");
productName.append(ordersEntitys.getProductName()+",");
memberId = ordersEntitys.getMemberId();
mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount();
total_fee = orderService.couponTotal(ordersEntity.getCouponTypeId(), Double.parseDouble(ordersEntity.getCouponAmount()), total_fee);
}
ordersEntity.setOrderAddress(orderAddress);
ordersEntity.setProductCode(productId.substring(0,productId.length()-1));

View File

@ -298,7 +298,7 @@ public class OrderService {
}
public double couponTotal(String couponTypeId,double discount,double total,int buyCount){
public double couponTotal(String couponTypeId,double discount,double total){
double endTotal = 0;
switch (couponTypeId)
{
@ -306,22 +306,19 @@ public class OrderService {
// endTotal = (total * (buyCount-1)) + (total * discount);
// break;
case "2":
endTotal = total * buyCount - discount;
endTotal = total - discount;
break;
case "3":
endTotal = (total * buyCount) * (1-discount);
endTotal = total * (1-discount);
break;
case "1" :
endTotal = total * buyCount - discount;
endTotal = total - discount;
break;
case "4" :
endTotal = (total * buyCount) * (1-discount);
endTotal = total * (1-discount);
break;
case "6" :
endTotal = total * buyCount - discount;
break;
case "0":
endTotal = total * buyCount;
endTotal = total - discount;
break;
}
return endTotal;