diff --git a/rc-busness/ajax/getData.js b/rc-busness/ajax/getData.js
index bbcb5a5e..319db10f 100644
--- a/rc-busness/ajax/getData.js
+++ b/rc-busness/ajax/getData.js
@@ -91,7 +91,6 @@ export const monitorOrderNotify = (OrderNumber) => {
* 删除购物车
*/
export const deleteCart = ( productCode) => {
- debugger;
var data = {
productCode
}
diff --git a/rc-busness/assets/css/global.less b/rc-busness/assets/css/global.less
index c9c0ff25..f34e1a19 100644
--- a/rc-busness/assets/css/global.less
+++ b/rc-busness/assets/css/global.less
@@ -328,7 +328,7 @@ picture {
height: auto;
position: fixed;
right: 0;
- top: 40%;
+ top: 56vh;
background: #FFFFFF;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
border-radius: .25rem;
diff --git a/rc-busness/assets/css/search.less b/rc-busness/assets/css/search.less
index bf719986..b9e060be 100644
--- a/rc-busness/assets/css/search.less
+++ b/rc-busness/assets/css/search.less
@@ -341,6 +341,7 @@ border-radius: 100px;
font-size: 18px;
color: #333333;
font-weight: bold;
+ margin-top:1rem;
}
.ts-scrollable{
margin-top: 1rem;
diff --git a/rc-busness/pages/personal/discount.vue b/rc-busness/pages/personal/discount.vue
index 9bd34dd9..fd34793b 100644
--- a/rc-busness/pages/personal/discount.vue
+++ b/rc-busness/pages/personal/discount.vue
@@ -34,7 +34,7 @@
¥
- {{item.couponTypeId=='4'?parseInt(((item.discount)*10))+'折':item.couponAmount}}
+ {{ item.couponAmount?item.couponAmount:(parseInt((item.discount)*10)+'折') }}
{{ item.couponName }}
diff --git a/rc-busness/pages/personal/settlement.less b/rc-busness/pages/personal/settlement.less
index fd3cbee5..2a8899e4 100644
--- a/rc-busness/pages/personal/settlement.less
+++ b/rc-busness/pages/personal/settlement.less
@@ -426,7 +426,7 @@ ul li ol li em strong i {
display: flex;
justify-content: flex-end;
flex-direction: column;
- align-items: self-end;
+ align-items: flex-end;
text-align: right;
i {
font-style: normal;
@@ -440,7 +440,7 @@ ul li ol li em strong i {
color: #e1001a;
font-size: 26px;
display:inline-block;
- width:5rem;
+ min-width:6rem;
}
.discountInfo {
diff --git a/rc-busness/pages/personal/settlement.vue b/rc-busness/pages/personal/settlement.vue
index 65f1923a..87d3e530 100644
--- a/rc-busness/pages/personal/settlement.vue
+++ b/rc-busness/pages/personal/settlement.vue
@@ -52,7 +52,7 @@
¥{{ item.productPrice }}
X{{ item.buyCount }}
-
¥{{ item.productPrice }}
+
¥{{ item.productPrice * item.buyCount }}
@@ -93,7 +93,7 @@
{{ discountAmount }}
合计金额:
- {{ discountedSumPrice }}
+ {{ finalAmount }}
提交订单
@@ -167,7 +167,7 @@
¥
- {{item.couponTypeId=='4'?parseInt(((item.discount)*10))+'折':item.couponAmount}}
+ {{ item.couponAmount?item.couponAmount:(parseInt((item.discount)*10)+'折') }}
{{ item.couponName }}
@@ -251,7 +251,9 @@ export default {
promotion: "¥167.00",
payment: "¥0.00 ",
},
- discountAmount:0
+ discountAmount:0,
+ finalAmount:0,
+ discountedProductCode:undefined,
};
},
computed: {
@@ -261,65 +263,101 @@ export default {
}, 0);
},
// 折扣计算
- discountedSumPrice() {
- let total = 0;
- if(this.curCoupon.couponId) {
- //Coupon Calculation
- let couponUsed=false;
- for(let itemInCart of this.goldmedal) {
- if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) {
- if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) {
- //Check minQuantity
- total+=(itemInCart.buyCount * itemInCart.productPrice);
- } else if(this.curCoupon.minPrice && this.curCoupon.minPrice > (itemInCart.buyCount * itemInCart.productPrice)) {
- //Check minPrice
- total+=(itemInCart.buyCount * itemInCart.productPrice);
- } else {
- //Into coupon discount calculation
- switch(this.curCoupon.couponTypeId) {
- case 1: //Amount deduct
- total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount);
- this.discountAmount = this.curCoupon.couponAmount;
- couponUsed=true;
- break;
- case 2: //Amount deduct with minPrice restriction
- case 6:
- total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount;
- this.discountAmount = this.curCoupon.couponAmount;
- couponUsed=true;
- break;
- case 3: //Limited product % discount
- case 4: //% discount
- total = total + (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount;
- this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount);
- couponUsed=true;
- break;
- default:
- total += itemInCart.productPrice * itemInCart.buyCount;
- break;
- }
- //Into coupon discount calculation end
- }
- } else {
- total += itemInCart.productPrice * itemInCart.buyCount;
- }
- }
- } else {
- //Normal Calculation
- total=this.goldmedal.reduce((pre, cur) => {
- return pre + cur.buyCount * cur.productPrice;
- }, 0);
- }
- if(this.discountAmount)
- this.discountAmount = this.discountAmount.toFixed(2);
- if(!total)
- total=0;
- total = total.toFixed(2);
- return total;
- },
},
methods: {
...mapMutations(["checkIsLogin"]),
+ discountedSumPrice() {
+ let total = 0;
+ if(this.curCoupon.productCodes)
+ this.finalAmount = this.qualifiedProductDiscount();
+ else
+ this.finalAmount = this.wholeOrderDiscount();
+ this.finalAmount = parseFloat(this.finalAmount).toFixed(2);
+ this.discountAmount = parseFloat(this.discountAmount).toFixed(2);
+ },
+ wholeOrderDiscount(){
+ this.discountedItemIndex = 0;
+ let checkResult = true;
+ if(this.curCoupon.minPrice && this.curCoupon.minPrice > this.sumPrice) {
+ checkResult = false;
+ }
+ if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > this.sumPrice) {
+ checkResult = false;
+ }
+ if(checkResult) {
+ if(this.curCoupon.couponAmount && this.curCoupon.couponAmount>0) {
+ this.discountAmount = this.curCoupon.couponAmount;
+ return this.sumPrice - this.curCoupon.couponAmount;
+ } else if(this.curCoupon.discount && this.curCoupon.discount>0) {
+ this.discountAmount = this.sumPrice*this.curCoupon.discount;
+ return this.sumPrice * (1-this.curCoupon.discount);
+ }
+ } else {
+ return this.sumPrice;
+ }
+ },
+ qualifiedProductDiscount(){
+ this.discountedItemIndex = 0;
+ let total = 0;
+ let couponUsed = false;
+ let tmpShoppingCartList = this.arrSort(this.goldmedal);
+
+ for(let itemInCart of tmpShoppingCartList) {
+ if((!this.curCoupon.productCodes || this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) && !couponUsed) {
+ if(this.curCoupon.minQuantity && this.curCoupon.minQuantity>itemInCart.buyCount) {
+ //Check minQuantity
+ total+=(itemInCart.buyCount * itemInCart.productPrice);
+ } else if(this.curCoupon.minPrice && this.curCoupon.minPrice > (itemInCart.buyCount * itemInCart.productPrice)) {
+ //Check minPrice
+ total+=(itemInCart.buyCount * itemInCart.productPrice);
+ } else {
+ //Into coupon discount calculation
+ switch(this.curCoupon.couponTypeId) {
+ case 1: //Amount deduct
+ total = total + (itemInCart.productPrice * itemInCart.buyCount - this.curCoupon.couponAmount);
+ this.discountAmount = this.curCoupon.couponAmount;
+ this.discountedProductCode = itemInCart.productCode;
+ couponUsed=true;
+ break;
+ case 2: //Amount deduct with minPrice restriction
+ case 6:
+ total = total + (itemInCart.productPrice * itemInCart.buyCount) - this.curCoupon.couponAmount;
+ this.discountAmount = this.curCoupon.couponAmount;
+ this.discountedProductCode = itemInCart.productCode;
+ couponUsed=true;
+ break;
+ case 3: //Limited product % discount
+ case 4: //% discount
+ total = total + (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount;
+ this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount);
+ this.discountedProductCode = itemInCart.productCode;
+ couponUsed=true;
+ break;
+ default:
+ total += itemInCart.productPrice * itemInCart.buyCount;
+ break;
+ }
+ //Into coupon discount calculation end
+ }
+ } else {
+ total += itemInCart.productPrice * itemInCart.buyCount;
+ }
+ }
+ return total;
+ },
+ arrSort(arr) {
+ let userarr=[]
+ let a=[];
+ for(let i in arr){
+ arr[i].total=arr[i].productPrice*arr[i].buyCount;
+ if(arr[i].total){
+ userarr.push(arr[i]);
+ }
+ }
+ return userarr.sort((n1,n2)=>{
+ return n2.total-n1.total;
+ });
+ },
async getAddressList() {
let memberId = JSON.parse(localStorage.getItem("userInfo")).data.id;
let { data } = await memberAddress("getAll", { memberId: memberId });
@@ -351,9 +389,11 @@ export default {
let valDateFromTime=0;
let valDateToTime=0;
let dateChecked=true;
+
if (data) {
this.drawlist=[];
for(let itemInCart of this.goldmedal) {
+ let tmpIndex=0;
for(let myCoupon of data.data) {
valDateFromTime=0;
valDateToTime=0;
@@ -370,9 +410,18 @@ export default {
if(valDateToTime && curTime > valDateToTime) {
dateChecked=false;
}
- if(dateChecked && myCoupon.status == 0 && (myCoupon.productCodes.indexOf(itemInCart.productCode)>-1 || !myCoupon.productCodes)) {
+ if(myCoupon.minQuantity && myCoupon.minQuantity>itemInCart.buyCount) {
+ dateChecked=false;
+ }
+ if(myCoupon.minPrice && myCoupon.minPrice>this.sumPrice) {
+ dateChecked=false;
+ }
+
+ if(dateChecked && myCoupon.activityId != 10 && myCoupon.status == 0 && (!myCoupon.productCodes || myCoupon.productCodes.indexOf(itemInCart.productCode)>-1)) {
+ data.data.splice(tmpIndex,1);
_self.drawlist.push(myCoupon);
}
+ tmpIndex++;
}
}
}
@@ -380,6 +429,7 @@ export default {
pickCoupon(item){
this.curCoupon = item;
this.dialogInfo1 = false;
+ this.discountedSumPrice();
},
editAddress(item) {
this.dialogAddTitle = "修改收货地址";
@@ -459,6 +509,7 @@ export default {
return;
}
let postData = [];
+ let tmpCounter=0;
this.goldmedal.forEach((item) => {
let basePoint = (item.basePoint?item.basePoint:0);
let oneProduct = {
@@ -483,7 +534,7 @@ export default {
addressDetailInfo: orderAddress[0].detailAddress,
},
};
- if(this.curCoupon.couponId) {
+ if(this.curCoupon.couponId && item.productCode == this.discountedProductCode) {
oneProduct.couponId = this.curCoupon.couponId;
oneProduct.couponTypeId = this.curCoupon.couponTypeId;
oneProduct.couponName = this.curCoupon.couponName;
@@ -491,6 +542,7 @@ export default {
oneProduct.couponAmount = (this.curCoupon.couponAmount?this.curCoupon.couponAmount:this.curCoupon.discount);
}
postData.push(oneProduct);
+ tmpCounter++;
});
// let postData = [
// {
@@ -570,6 +622,7 @@ export default {
this.goldmedal = JSON.parse(this.$route.query.list);
this.getAddressList();
this.checkIsLogin();
+ this.finalAmount = this.sumPrice;
// this.addressstype = this.$route.query.stype;
// this.orderNumber = this.$route.query.orderNumber;
// this.canceldanhao(this.orderNumber);
diff --git a/rc-busness/pages/personal/userpay.vue b/rc-busness/pages/personal/userpay.vue
index 156c1b67..b66fdc0e 100644
--- a/rc-busness/pages/personal/userpay.vue
+++ b/rc-busness/pages/personal/userpay.vue
@@ -64,7 +64,9 @@
您的商品我们正在抓紧打包,请耐心等候!
-
+
+

+
微信扫一扫,识别二维码
加入社群0元试用商品随单发放
@@ -94,7 +96,7 @@ export default {
activeIndex: 0,
paymentTimer:undefined,
isSucess: false,
- dialogSuccess: false,
+ dialogSuccess: true,
paytype: "微信",
userpaystype: [
{
diff --git a/rc-busness/pages/productdetails/producted.vue b/rc-busness/pages/productdetails/producted.vue
index a33cdc17..4627a29c 100644
--- a/rc-busness/pages/productdetails/producted.vue
+++ b/rc-busness/pages/productdetails/producted.vue
@@ -4,7 +4,7 @@
-
+
商品编号:{{ curItem.brandCode }}{{ curItem.productCode }}
@@ -224,7 +224,7 @@
¥
- {{item.couponTypeId=='4'?parseInt(((item.discount)*10))+'折':item.couponAmount}}
+ {{ item.couponAmount?item.couponAmount:(parseInt((item.discount)*10)+'折') }}
{{ item.couponName }}
@@ -551,13 +551,13 @@ export default {
if(valDateToTime && curTime > valDateToTime) {
dateChecked=false;
}
- if(dateChecked) {
+ if(dateChecked && item.activityId!=10) {
if(!item.productCodes) {
menualist.push(item);
} else {
item.productCodes = item.productCodes.split(",");
item.productCodes.forEach((element) => {
- if (element == this.curItem.productCode && item.activityId !== 10) {
+ if (element == this.curItem.productCode) {
menualist.push(item);
}
});
@@ -593,6 +593,8 @@ export default {
// let userid=JSON.parse(location.getItem('userInfo'));
// let mobile=JSON.parse(location.getItem('userInfo'));
// console.log(userid,mobile);
+ let basePoint = item.basePoint;
+ basePoint = basePoint?basePoint:0;
let data = await postCourseId(
item.productCode,
this.sales_num,
@@ -603,7 +605,7 @@ export default {
item.ecPrice,
item.specifications,
item.leftAllotment,
- item.basePoint
+ basePoint
);
if (data) {
this.productlist = data;
@@ -655,7 +657,7 @@ export default {
this.dialogInfo2 = true;
return;
} else {
- this.userdraw(this.usermessage.data.mobile);
+ //this.userdraw(this.usermessage.data.mobile);
this.alldrawlist(this.usermessage.data.id);
this.dialogInfo1 = true;
}
diff --git a/rc-busness/pages/productdetails/productlist.vue b/rc-busness/pages/productdetails/productlist.vue
index 878b0a50..a2bad863 100644
--- a/rc-busness/pages/productdetails/productlist.vue
+++ b/rc-busness/pages/productdetails/productlist.vue
@@ -110,7 +110,7 @@
- {{ item.categoryName }}
+ {{ item.name }}
{{ item.ecPrice?("¥"+item.ecPrice):'' }}
{
this.success = responseCodeConst.isSuccess();
}
+
private ResponseDTO(ResponseCodeConst responseCodeConst) {
this.code = responseCodeConst.getCode();
this.msg = responseCodeConst.getMsg();
@@ -64,6 +65,8 @@ public class ResponseDTO {
return new ResponseDTO(ResponseCodeConst.SUCCESS, data, msg);
}
+
+
public static ResponseDTO succData(T data) {
return new ResponseDTO(ResponseCodeConst.SUCCESS, data);
}
diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java
index 25731848..83d50853 100644
--- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java
+++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java
@@ -12,6 +12,8 @@ import net.lab1024.smartadmin.constant.SwaggerTagConst;
import net.lab1024.smartadmin.module.system.alipay.AliPayService;
import net.lab1024.smartadmin.module.system.alipay.alipayModel.AliPayEntity;
import net.lab1024.smartadmin.module.system.alipay.conf.AlipayConfig;
+import net.lab1024.smartadmin.module.system.royalcanin.CouponService;
+import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponGetAllEntity;
import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderResponseCodeConst;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity;
@@ -51,10 +53,13 @@ public class OrderController {
@Autowired
private CartService cartService;
+ @Autowired
+ private CouponService couponService;
+
@ApiOperation(value = "微信支付订单", notes = "生成订单")
@PostMapping("royalcanin/generateOrderWX")
- public ResponseDTO generateOrderWX(@RequestBody List ordersEntityList) throws Exception {
+ public ResponseDTO