Commit 85254bb9b6c4b2b4ef75bfb649e3bdd3770f88ec

Authored by yvan.ni
1 parent 51686d67

我的订单, 订单详情再来一单的,因为有组合购计算线下库存的bug优化

packageA/pages/distribution/myteam/myteam.js
... ... @@ -144,10 +144,11 @@ Page({
144 144 * 页面上拉触底事件的处理函数
145 145 */
146 146 onReachBottom: function () {
  147 + var th=this;
147 148 this.scrollToLower('/api/weshop/users/distribut/teamlist', {
148 149 store_id: app.globalData.setting.stoid,
149 150 user_id: app.globalData.user_id,
150   - level: currentIndex + 1,
  151 + level: th.data.currentTabIndex + 1,
151 152 });
152 153 },
153 154  
... ...
pages/user/order_detail/order_detail.js
... ... @@ -974,43 +974,55 @@ Page({
974 974 })
975 975  
976 976 var lock=0,plist=null;
977   - //先读取门店的lock,
978   - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
979   - data:{store_id:os.stoid,wareId:good.goods_id,storageId:b_item.pickup_id,pageSize:1000}
980   - }).then(res=>{
981   - if(res.data.code==0 && res.data.data.total>0){
982   - for(var i in res.data.data.pageData)
983   - lock+=res.data.data.pageData[i].outQty
984   - }
985   - })
986   -
987   - //---通过接口获取门店的线下库存信息--
988   - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
989   - data:{storageNos:pickup.pickup_no,wareIds:encodeURIComponent(good.erpwareid),storeId:os.stoid}
990   - }).then(res=>{
991   - if(res.data.code==0 && res.data.data.total>0){
992   - plist=res.data.data.pageData[0];
993   - }
994   - })
995   -
996   - if(!plist){
997   - err_text+= good['goods_name']+"库存不足\n";
998   - continue;
999   - }
1000   - if(plist.CanOutQty-lock<=0){
1001   - err_text+= good['goods_name']+"库存不足\n";
1002   - continue;
1003   - }
1004   - if(b_item.goods_num>(plist.CanOutQty-lock)){
1005   - b_item.goods_num=plist.CanOutQty-lock;
1006   - }
  977 +
  978 + if(b_item.prom_type!=7) {
  979 + //先读取门店的lock,
  980 + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
  981 + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000}
  982 + }).then(res => {
  983 + if (res.data.code == 0 && res.data.data.total > 0) {
  984 + for (var i in res.data.data.pageData)
  985 + lock += res.data.data.pageData[i].outQty
  986 + }
  987 + })
  988 +
  989 + //---通过接口获取门店的线下库存信息--
  990 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
  991 + data: {
  992 + storageNos: pickup.pickup_no,
  993 + wareIds: encodeURIComponent(good.erpwareid),
  994 + storeId: os.stoid
  995 + }
  996 + }).then(res => {
  997 + if (res.data.code == 0 && res.data.data.total > 0) {
  998 + plist = res.data.data.pageData[0];
  999 + }
  1000 + })
  1001 +
  1002 + if (!plist) {
  1003 + err_text += good['goods_name'] + "库存不足\n";
  1004 + continue;
  1005 + }
  1006 + if (plist.CanOutQty - lock <= 0) {
  1007 + err_text += good['goods_name'] + "库存不足\n";
  1008 + continue;
  1009 + }
  1010 + if (b_item.goods_num > (plist.CanOutQty - lock)) {
  1011 + b_item.goods_num = plist.CanOutQty - lock;
  1012 + }
  1013 + }
1007 1014 var req_data={
1008 1015 store_id: os.stoid,
1009 1016 user_id: getApp().globalData.user_id,
1010 1017 goods_id: good.goods_id,
1011 1018 };
  1019 + if(b_item.prom_type==7){
  1020 + req_data.prom_type=7;
  1021 + req_data.prom_id=b_item.prom_id;
  1022 + }
1012 1023  
1013   - var buynum=0;
  1024 + var buynum=0;
  1025 + var promnum=0;
1014 1026 //---要获得商品,该用户买了多少件,同步应用---
1015 1027 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
1016 1028 data: req_data,
... ... @@ -1018,6 +1030,9 @@ Page({
1018 1030 if(res.data.code==0){
1019 1031 var buy_num_data = res.data.data;
1020 1032 buynum = buy_num_data.goodsbuynum;
  1033 + if(buy_num_data.promgoodsbuynum){
  1034 + promnum=buy_num_data.promgoodsbuynum;
  1035 + }
1021 1036 }
1022 1037 })
1023 1038  
... ... @@ -1032,6 +1047,40 @@ Page({
1032 1047 b_item.goods_num=good['viplimited'];
1033 1048 }
1034 1049 }
  1050 +
  1051 + //--要计算一下限购 --
  1052 + if(b_item.prom_type==7){
  1053 + var url1 = "/api/weshop/prom/zhbuyGoods/page";
  1054 + var req_data = {
  1055 + page: 1,
  1056 + pageSize: 2000,
  1057 + store_id: os.stoid,
  1058 + zh_id: b_item.prom_id,
  1059 + goods_id:b_item.goods_id
  1060 + }
  1061 + await getApp().request.promiseGet(url1, {
  1062 + data: req_data
  1063 + }).then(res => {
  1064 + if (ut.ajax_ok(res)) {
  1065 + var gdlist = res.data.data.pageData[0];
  1066 + b_item.buyqty=gdlist.buyqty;
  1067 + }
  1068 + })
  1069 +
  1070 +
  1071 + //---- 要计算商品的限购 -----
  1072 + if(b_item['buyqty']>0){
  1073 + if(cart_num+buynum>b_item['buyqty']){
  1074 + err_text+= good['goods_name']+"超出限购\n";
  1075 + continue;
  1076 + }
  1077 + b_item['buyqty']-=(cart_num+buynum);
  1078 + if(b_item.goods_num>b_item['buyqty']){
  1079 + b_item.goods_num=b_item['buyqty'];
  1080 + }
  1081 + }
  1082 + }
  1083 +
1035 1084  
1036 1085 back_goods_arr.push(b_item); //返回商品元素
1037 1086  
... ...
pages/user/order_list/order_list.js
... ... @@ -1083,43 +1083,56 @@ Page({
1083 1083 })
1084 1084  
1085 1085 var lock=0,plist=null;
1086   - //先读取门店的lock,
1087   - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
1088   - data:{store_id:os.stoid,wareId:good.goods_id,storageId:b_item.pickup_id,pageSize:1000}
1089   - }).then(res=>{
1090   - if(res.data.code==0 && res.data.data.total>0){
1091   - for(var i in res.data.data.pageData)
1092   - lock+=res.data.data.pageData[i].outQty
1093   - }
1094   - })
1095 1086  
1096   - //---通过接口获取门店的线下库存信息--
1097   - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
1098   - data:{storageNos:pickup.pickup_no,wareIds:encodeURIComponent(good.erpwareid),storeId:os.stoid}
1099   - }).then(res=>{
1100   - if(res.data.code==0 && res.data.data.total>0){
1101   - plist=res.data.data.pageData[0];
1102   - }
1103   - })
  1087 + if(b_item.prom_type!=7) {
  1088 + //先读取门店的lock,
  1089 + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", {
  1090 + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000}
  1091 + }).then(res => {
  1092 + if (res.data.code == 0 && res.data.data.total > 0) {
  1093 + for (var i in res.data.data.pageData)
  1094 + lock += res.data.data.pageData[i].outQty
  1095 + }
  1096 + })
  1097 + //---通过接口获取门店的线下库存信息--
  1098 + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", {
  1099 + data: {
  1100 + storageNos: pickup.pickup_no,
  1101 + wareIds: encodeURIComponent(good.erpwareid),
  1102 + storeId: os.stoid
  1103 + }
  1104 + }).then(res => {
  1105 + if (res.data.code == 0 && res.data.data.total > 0) {
  1106 + plist = res.data.data.pageData[0];
  1107 + }
  1108 + })
1104 1109  
1105   - if(!plist){
1106   - err_text+= good['goods_name']+"库存不足\n";
1107   - continue;
1108   - }
1109   - if(plist.CanOutQty-lock<=0){
1110   - err_text+= good['goods_name']+"库存不足\n";
1111   - continue;
1112   - }
1113   - if(b_item.goods_num>(plist.CanOutQty-lock)){
1114   - b_item.goods_num=plist.CanOutQty-lock;
1115   - }
  1110 + if (!plist) {
  1111 + err_text += good['goods_name'] + "库存不足\n";
  1112 + continue;
  1113 + }
  1114 + if (plist.CanOutQty - lock <= 0) {
  1115 + err_text += good['goods_name'] + "库存不足\n";
  1116 + continue;
  1117 + }
  1118 + if (b_item.goods_num > (plist.CanOutQty - lock)) {
  1119 + b_item.goods_num = plist.CanOutQty - lock;
  1120 + }
  1121 + }
1116 1122 var req_data={
1117 1123 store_id: os.stoid,
1118 1124 user_id: getApp().globalData.user_id,
1119 1125 goods_id: good.goods_id,
1120 1126 };
1121 1127  
  1128 + if(b_item.prom_type==7){
  1129 + req_data.prom_type=7;
  1130 + req_data.prom_id=b_item.prom_id;
  1131 + }
  1132 +
  1133 +
1122 1134 var buynum=0;
  1135 + var promnum=0;
1123 1136 //---要获得商品,该用户买了多少件,同步应用---
1124 1137 await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
1125 1138 data: req_data,
... ... @@ -1127,6 +1140,9 @@ Page({
1127 1140 if(res.data.code==0){
1128 1141 var buy_num_data = res.data.data;
1129 1142 buynum = buy_num_data.goodsbuynum;
  1143 + if(buy_num_data.promgoodsbuynum){
  1144 + promnum=buy_num_data.promgoodsbuynum;
  1145 + }
1130 1146 }
1131 1147 })
1132 1148  
... ... @@ -1142,6 +1158,39 @@ Page({
1142 1158 }
1143 1159 }
1144 1160  
  1161 + //--要计算一下限购 --
  1162 + if(b_item.prom_type==7){
  1163 + var url1 = "/api/weshop/prom/zhbuyGoods/page";
  1164 + var req_data = {
  1165 + page: 1,
  1166 + pageSize: 2000,
  1167 + store_id: os.stoid,
  1168 + zh_id: b_item.prom_id,
  1169 + goods_id:b_item.goods_id
  1170 + }
  1171 + await getApp().request.promiseGet(url1, {
  1172 + data: req_data
  1173 + }).then(res => {
  1174 + if (ut.ajax_ok(res)) {
  1175 + var gdlist = res.data.data.pageData[0];
  1176 + b_item.buyqty=gdlist.buyqty;
  1177 + }
  1178 + })
  1179 +
  1180 +
  1181 + //---- 要计算商品的限购 -----
  1182 + if(b_item['buyqty']>0){
  1183 + if(cart_num+buynum>b_item['buyqty']){
  1184 + err_text+= good['goods_name']+"超出限购\n";
  1185 + continue;
  1186 + }
  1187 + b_item['buyqty']-=(cart_num+buynum);
  1188 + if(b_item.goods_num>b_item['buyqty']){
  1189 + b_item.goods_num=b_item['buyqty'];
  1190 + }
  1191 + }
  1192 + }
  1193 +
1145 1194 back_goods_arr.push(b_item); //返回商品元素
1146 1195  
1147 1196 }else{
... ...