Merge branch 'sit-Carl' into sit-Carl-lin-dev

This commit is contained in:
lin 2022-03-21 16:37:30 +08:00
commit b5755eab6d
4 changed files with 126 additions and 136 deletions

View File

@ -269,7 +269,6 @@ export default {
methods: { methods: {
...mapMutations(["checkIsLogin"]), ...mapMutations(["checkIsLogin"]),
discountedSumPrice() { discountedSumPrice() {
let total = 0;
if(this.curCoupon.productCodes) if(this.curCoupon.productCodes)
this.finalAmount = this.qualifiedProductDiscount(); this.finalAmount = this.qualifiedProductDiscount();
else else
@ -283,6 +282,15 @@ export default {
if(this.curCoupon.minPrice && this.curCoupon.minPrice > this.sumPrice) { if(this.curCoupon.minPrice && this.curCoupon.minPrice > this.sumPrice) {
checkResult = false; checkResult = false;
} }
if(this.curCoupon.minQuantity && this.curCoupon.minQuantity > 0) {
let totalItemNum = 0;
let tmpShoppingCartList = this.arrSort(this.goldmedal);
for(let itemInCart of tmpShoppingCartList) {
totalItemNum += itemInCart.buyCount;
}
if(this.curCoupon.minQuantity > totalItemNum)
checkResult = false;
}
if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > this.sumPrice) { if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > this.sumPrice) {
checkResult = false; checkResult = false;
} }
@ -304,26 +312,30 @@ export default {
qualifiedProductDiscount(){ qualifiedProductDiscount(){
this.discountedItemIndex = 0; this.discountedItemIndex = 0;
let total = 0; let total = 0;
let totalItemNum = 0;
let couponUsed = false; let couponUsed = false;
let tmpShoppingCartList = this.arrSort(this.goldmedal); let tmpShoppingCartList = this.arrSort(this.goldmedal);
let qualifiedProductAmount = 0; let qualifiedProductAmount = 0;
let skipQualifiedProductAmountCalculating = false; let skipQualifiedProductAmountCalculating = false;
let checkResult = true;
for(let itemInCart of tmpShoppingCartList) { for(let itemInCart of tmpShoppingCartList) {
if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount); qualifiedProductAmount += (itemInCart.productPrice * itemInCart.buyCount);
totalItemNum += itemInCart.buyCount;
} }
} }
if(this.curCoupon.minPrice && this.curCoupon.minPrice > qualifiedProductAmount) {
checkResult = false;
}
if(this.curCoupon.minQuantity && this.curCoupon.minQuantity > totalItemNum) {
checkResult = false;
}
if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) {
checkResult = false;
}
for(let itemInCart of tmpShoppingCartList) { for(let itemInCart of tmpShoppingCartList) {
if(this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed) { if(this.curCoupon.productCodes && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1 && !couponUsed && checkResult) {
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 //Into coupon discount calculation
switch(this.curCoupon.couponTypeId) { switch(this.curCoupon.couponTypeId) {
case 1: //Amount deduct case 1: //Amount deduct
@ -356,17 +368,23 @@ export default {
break; break;
case 3: //Limited product % discount case 3: //Limited product % discount
case 4: //% discount case 4: //% discount
if(this.curCoupon.discount && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
total = total + (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount ); total = total + (itemInCart.productPrice * itemInCart.buyCount) * ( 1 - this.curCoupon.discount );
this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount; this.discountAmount = (itemInCart.productPrice * itemInCart.buyCount) * this.curCoupon.discount;
this.discountedProductCode = itemInCart.productCode; this.discountedProductCode = itemInCart.productCode;
couponUsed=true; couponUsed=true;
skipQualifiedProductAmountCalculating = true;
} else if(this.curCoupon.couponAmount && this.curCoupon.couponAmount > qualifiedProductAmount) {
total = total + itemInCart.productPrice * itemInCart.buyCount;
this.discountAmount = 0;
this.curCoupon = {couponName:'未能使用该优惠券'};
}
break; break;
default: default:
total += itemInCart.productPrice * itemInCart.buyCount; total += itemInCart.productPrice * itemInCart.buyCount;
break; break;
} }
//Into coupon discount calculation end //Into coupon discount calculation end
}
} else { } else {
if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) { if(skipQualifiedProductAmountCalculating && this.curCoupon.productCodes.indexOf(itemInCart.productCode)>-1) {
@ -375,6 +393,11 @@ export default {
} }
} }
} }
if(!couponUsed) {
this.discountAmount = 0;
this.curCoupon = {couponName:'未能使用该优惠券'};
total = this.sumPrice;
}
return total; return total;
}, },
arrSort(arr) { arrSort(arr) {
@ -436,16 +459,13 @@ export default {
let avaliableCouponNum = 0; let avaliableCouponNum = 0;
if (data) { if (data) {
this.drawlist=[]; this.drawlist=[];
//avaliableCouponNum = data.length; /*
//this.drawlist = data.data;
for(let itemInCart of this.goldmedal) { for(let itemInCart of this.goldmedal) {
let tmpIndex=0; let tmpIndex=0;
for(let myCoupon of data.data) { for(let myCoupon of data.data) {
valDateFromTime=0; valDateFromTime=0;
valDateToTime=0; valDateToTime=0;
dateChecked=true; dateChecked=true;
/* */
if(myCoupon.fValidFrom) { if(myCoupon.fValidFrom) {
//Fix ios date issue //Fix ios date issue
myCoupon.fValidFrom = myCoupon.fValidFrom.replace(/-/g, '/'); myCoupon.fValidFrom = myCoupon.fValidFrom.replace(/-/g, '/');
@ -487,6 +507,10 @@ export default {
tmpIndex++; tmpIndex++;
} }
} }
*/
avaliableCouponNum = data.length;
this.drawlist = data.data;
if(avaliableCouponNum > 0) { if(avaliableCouponNum > 0) {
this.curCoupon.couponName = '有 '+avaliableCouponNum+' 张优惠券可以使用'; this.curCoupon.couponName = '有 '+avaliableCouponNum+' 张优惠券可以使用';

View File

@ -215,75 +215,16 @@ export default {
goldmedal: [ goldmedal: [
{ {
ordernumber: "1111111111111111111", ordernumber: "",
orderstype: 1, orderstype: 1,
usereat: "专属升级奖励", usereat: "",
ordernum: 0, ordernum: 0,
num: "5kg", num: "",
specification: "1", specification: "",
buttontitle: "立即支付", buttontitle: "",
userprice: "167.00", userprice: "",
catimage: require("../../assets/image/rc-win.png"), catimage: '',
}, }
{
ordernumber: "1111111111111111111",
usereat: "每年4次免积分产品试吃",
ordernum: 0,
buttontitle: "再次购买",
catimage: require("../../assets/image/usereat.png"),
orderstype: 2,
userprice: "167.00",
},
{
ordernumber: "1111111111111111111",
usereat: "尊享订单免邮服务(指点商品)",
ordernum: 0,
buttontitle: "取消订单",
catimage: require("../../assets/image/usercar.png"),
orderstype: 3,
userprice: "167.00",
},
{
ordernumber: "1111111111111111111",
usereat: "365天专属养宠工具",
ordernum: 1,
catimage: require("../../assets/image/rc-growth.png"),
orderstype: 1,
userprice: "167.00",
},
{
ordernumber: "1111111111111111111",
usereat: "10年专业团队1v1咨询",
ordernum: 2,
catimage: require("../../assets/image/consult.png"),
orderstype: 2,
userprice: "167.00",
},
{
ordernumber: "1111111111111111111",
usereat: "行业大咖专业养宠知识",
ordernum: 3,
catimage: require("../../assets/image/rc-book.png"),
orderstype: 3,
userprice: "167.00",
},
{
ordernumber: "1111111111111111111",
usereat: "爱宠生活定制活动高级养宠宝典",
ordernum: 3,
catimage: require("../../assets/image/userself.png"),
orderstype: 3,
userprice: "167.00",
},
{
usereat: "每年积分兑换1次价值288元的免费体检及100元医院绝育券",
ordernum: 4,
catimage: require("../../assets/image/rc-health.png"),
orderstype: 3,
userprice: "167.00",
},
], ],
}; };
}, },
@ -322,6 +263,9 @@ export default {
this.receiving=[]; this.receiving=[];
this.pending=[]; this.pending=[];
for (let i = 0; i < this.goldmedal.length; i++) { for (let i = 0; i < this.goldmedal.length; i++) {
if(!this.goldmedal[i].orderDetailList)
continue;
this.useralllist.push(this.goldmedal[i].orderDetailList[0]); this.useralllist.push(this.goldmedal[i].orderDetailList[0]);
this.alllist.push(this.goldmedal[i].orderDetailList[0]) this.alllist.push(this.goldmedal[i].orderDetailList[0])
this.allmessage.push(this.goldmedal[i].orderDetailList[0]) this.allmessage.push(this.goldmedal[i].orderDetailList[0])
@ -334,14 +278,16 @@ export default {
this.pending.push(this.goldmedal[i].orderDetailList[0]); this.pending.push(this.goldmedal[i].orderDetailList[0]);
} }
} }
for (let i = 0; i < this.goldmedal.length; i++) { for (let y = 0; y < this.goldmedal.length; y++) {
this.useralllist[i].orderNumber = this.goldmedal[i].orderNumber; if(!this.goldmedal[y].orderDetailList)
this.useralllist[i].status = this.goldmedal[i].status; continue;
this.useralllist[i].addressUserName = this.goldmedal[i].addressUserName; this.useralllist[y].orderNumber = this.goldmedal[y].orderNumber;
this.useralllist[i].phoneNumber = this.goldmedal[i].addressPhoneNumber; this.useralllist[y].status = this.goldmedal[y].status;
this.useralllist[i].salesAmount = this.goldmedal[i].salesAmount; this.useralllist[y].addressUserName = this.goldmedal[y].addressUserName;
this.useralllist[i].lengthnum=this.goldmedal[i].orderDetailList.length; this.useralllist[y].phoneNumber = this.goldmedal[y].addressPhoneNumber;
this.useralllist[i].paytype=this.goldmedal[i].paytype; this.useralllist[y].salesAmount = this.goldmedal[y].salesAmount;
this.useralllist[y].lengthnum=this.goldmedal[y].orderDetailList.length;
this.useralllist[y].paytype=this.goldmedal[y].paytype;
} }
if(this.userstype==1){ if(this.userstype==1){
this.useralllist=this.obligation this.useralllist=this.obligation
@ -456,8 +402,7 @@ export default {
this.activeIndex = index; this.activeIndex = index;
if(item.title=='待付款'){ if(item.title=='待付款'){
list=this.obligation list=this.obligation
} } else if(item.title=='待收货'){
else if(item.title=='待收货'){
list=this.receiving list=this.receiving
} else if(item.title=='待发货'){ } else if(item.title=='待发货'){
this.useralllist=this.pending this.useralllist=this.pending

View File

@ -109,7 +109,7 @@
</div> </div>
<div class="rc-button" v-if="!userbuy && curItem.curGoodUrl && curItem.curGoodUrl.length>5"> <div class="rc-button" v-if="!userbuy && curItem.curGoodUrl && curItem.curGoodUrl.length>5">
<a :href="curItem.curGoodUrl" target='_blank' class="ts-standard-btn">立即购买</a> <a @click="goBuyRxgoods(curItem)" class="ts-standard-btn">立即购买</a>
</div> </div>
@ -280,7 +280,7 @@
<span @click="usertanchu(curItem, 1)">立即购买</span> <span @click="usertanchu(curItem, 1)">立即购买</span>
</div> </div>
<div class="rc-button rc-md-down " v-if="!userbuy && curItem.goodUrl && curItem.goodUrl.length>5"> <div class="rc-button rc-md-down " v-if="!userbuy && curItem.goodUrl && curItem.goodUrl.length>5">
<a :href="curItem.goodUrl" target='_blank' class="ts-standard-btn">立即购买</a> <a @click="goBuyRxgoods(curItem)" class="ts-standard-btn">立即购买</a>
</div> </div>
</div> </div>
@ -510,7 +510,27 @@ export default {
} }
]) ])
}, },
goBuyRxgoods() {
this.checkIsLogin();
let _self = this;
let memberId = '';
if (this.$store.state.userInfo && this.$store.state.userInfo.data !== undefined) {
memberId = this.$store.state.userInfo.data.id;
}
_hmt.push([
'_trackCustomEvent',
'buy_rxgoods',
{
'member_id': memberId, // ID
'product_name': this.curItem.productName, //
'product_id': this.curItem.productCode // ID
}
])
setTimeout(function(){
window.open(_self.curItem.curGoodUrl, '_blank');
},1000);
},
// //
async getconf(memberId, couponId) { async getconf(memberId, couponId) {
let data = await getConfig(memberId, couponId); let data = await getConfig(memberId, couponId);

View File

@ -471,6 +471,7 @@ public class OrderService {
}else{//没有优惠券的计算总价逻辑 }else{//没有优惠券的计算总价逻辑
Map<String, Object> resultMap = addOrdersEntityInfo(ordersEntityList, ordersEntity, couponJson, total_fee); Map<String, Object> resultMap = addOrdersEntityInfo(ordersEntityList, ordersEntity, couponJson, total_fee);
total_fee = new BigDecimal(ordersEntity.getOrderAmount()); total_fee = new BigDecimal(ordersEntity.getOrderAmount());
orderDatilListJson = (JSONArray) resultMap.get("orderDatilListJson");
} }
ordersEntity.setMemberId(memberId); ordersEntity.setMemberId(memberId);
@ -581,6 +582,7 @@ public class OrderService {
}else{//没有优惠券的计算总价逻辑 }else{//没有优惠券的计算总价逻辑
Map<String, Object> resultMap = addOrdersEntityInfo(ordersEntityList, ordersEntity, couponJson, total_fee); Map<String, Object> resultMap = addOrdersEntityInfo(ordersEntityList, ordersEntity, couponJson, total_fee);
total_fee = new BigDecimal(ordersEntity.getOrderAmount()); total_fee = new BigDecimal(ordersEntity.getOrderAmount());
orderDatilListJson = (JSONArray) resultMap.get("orderDatilListJson");
} }
ordersEntity.setMemberId(memberId); ordersEntity.setMemberId(memberId);
@ -631,7 +633,6 @@ public class OrderService {
productCodes = couponJson.getString("productCodes").toString().split(","); productCodes = couponJson.getString("productCodes").toString().split(",");
} }
for (OrdersEntity order : ordersEntityList) { for (OrdersEntity order : ordersEntityList) {
//从crm获取商品的json数据信息 //从crm获取商品的json数据信息
JSONObject goodsObject = gainGoodsObject(order); JSONObject goodsObject = gainGoodsObject(order);