Commit f808ba387e81728b84ec73b29225d8729a04f0ef
1 parent
d4373af5
多促销的优化
Showing
4 changed files
with
676 additions
and
552 deletions
packageE/pages/cart/cart2/cart2.js
| ... | ... | @@ -151,6 +151,7 @@ Page({ |
| 151 | 151 | yh_is_xz_yh:{},//优惠促销优惠券使用开关 |
| 152 | 152 | |
| 153 | 153 | }, |
| 154 | + | |
| 154 | 155 | onLoad: function (t) { |
| 155 | 156 | wx.setNavigationBarTitle({ title: "填写订单", }) |
| 156 | 157 | var th = this; |
| ... | ... | @@ -161,8 +162,7 @@ Page({ |
| 161 | 162 | //清空is_pick_up |
| 162 | 163 | getApp().request.put("/api/weshop/useraddress/updatePickUp", { |
| 163 | 164 | data: { user_id: getApp().globalData.user_id, is_pickup: 0 }, |
| 164 | - success: function (s) { | |
| 165 | - } | |
| 165 | + success: function (s) {} | |
| 166 | 166 | }); |
| 167 | 167 | |
| 168 | 168 | //阶梯购 或者 组合购的立即购买 |
| ... | ... | @@ -355,6 +355,8 @@ Page({ |
| 355 | 355 | } |
| 356 | 356 | this.calculatePrice()//计算金额 |
| 357 | 357 | }, |
| 358 | + | |
| 359 | + | |
| 358 | 360 | //直接购买预存开启关闭 |
| 359 | 361 | prestore2() { |
| 360 | 362 | let txt = 'bn_goods.yck_off'; |
| ... | ... | @@ -376,7 +378,6 @@ Page({ |
| 376 | 378 | }else{ |
| 377 | 379 | this.calculatePrice2()//计算金额 |
| 378 | 380 | } |
| 379 | - | |
| 380 | 381 | }, |
| 381 | 382 | //计算商品预存款前置方法------------------------------------ |
| 382 | 383 | async beforAdvancesum(cartList) { |
| ... | ... | @@ -542,7 +543,7 @@ Page({ |
| 542 | 543 | }); |
| 543 | 544 | }, |
| 544 | 545 | |
| 545 | - //----------------展示页面,是再获取用户信息之后-------------- | |
| 546 | + //---------------- 展示页面,是再获取用户信息之后 -------------- | |
| 546 | 547 | async show_page() { |
| 547 | 548 | var th = this, ta = this.data.param; |
| 548 | 549 | //获取用户预存款 |
| ... | ... | @@ -676,6 +677,37 @@ Page({ |
| 676 | 677 | |
| 677 | 678 | }, |
| 678 | 679 | |
| 680 | + | |
| 681 | + //获取促销活动的组合 | |
| 682 | + cx_prom_group(prom_list){ | |
| 683 | + var th=this; | |
| 684 | + | |
| 685 | + //需要读者系统顺序 | |
| 686 | + var json_d =this.data.json_d; | |
| 687 | + var auto_promote_sale=json_d.auto_promote_sale; | |
| 688 | + var sort_type=''; | |
| 689 | + | |
| 690 | + if(!auto_promote_sale){ | |
| 691 | + sort_type='prom_id'; | |
| 692 | + }else{ | |
| 693 | + var auto_promote_sale=auto_promote_sale.split(','); | |
| 694 | + //-- 循环处理 -- | |
| 695 | + prom_list.map(function (e){ | |
| 696 | + var fd=auto_promote_sale.indexOf(e.prom_type+''); | |
| 697 | + e.sort=fd; | |
| 698 | + }) | |
| 699 | + sort_type='sort'; | |
| 700 | + } | |
| 701 | + | |
| 702 | + //-- 排序一下,进行升序 -- | |
| 703 | + function comp(a, b,sort_type) { | |
| 704 | + return a[sort_type]-b[sort_type]; //升序 | |
| 705 | + } | |
| 706 | + | |
| 707 | + //使用sort排序 | |
| 708 | + prom_list.sort(comp); | |
| 709 | + }, | |
| 710 | + | |
| 679 | 711 | //-----真的获取购物车,入口-------- |
| 680 | 712 | get_cart: function () { |
| 681 | 713 | var th = this, app = getApp(); |
| ... | ... | @@ -715,14 +747,25 @@ Page({ |
| 715 | 747 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- |
| 716 | 748 | var is_card_back = getApp().globalData.is_card_back; |
| 717 | 749 | |
| 718 | - | |
| 719 | 750 | //-- 判断组合购是总数量是不是存在 -- |
| 720 | 751 | var no_zh_num={}; |
| 721 | 752 | |
| 753 | + //-------- 如果是立即购买过来的时候 或者购买的商品只有一种的时候 --- | |
| 754 | + if(carr.length==1){ | |
| 755 | + var item1=carr[0]; | |
| 756 | + await th.buy_pro_group(item1,1); | |
| 757 | + if(item1.prom_type==0 && item1.more_cx){ | |
| 758 | + //-- 对活动进行排序 -- | |
| 759 | + th.cx_prom_group(item1.more_cx); | |
| 760 | + item1.prom_type=item1.more_cx[0].prom_type; | |
| 761 | + item1.prom_type=item1.more_cx[0].prom_id; | |
| 762 | + } | |
| 763 | + } | |
| 764 | + | |
| 765 | + | |
| 722 | 766 | for (var i = 0; i < carr.length; i++) { |
| 723 | 767 | var item1 = carr[i]; |
| 724 | 768 | //把已经购买了多少见的内容填入 |
| 725 | - | |
| 726 | 769 | var goodsbuynum = 0, promgoodsbuynum = 0; |
| 727 | 770 | //--要获得商品,该用户买了多少件,同步应用-- |
| 728 | 771 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
| ... | ... | @@ -1244,7 +1287,7 @@ Page({ |
| 1244 | 1287 | }, |
| 1245 | 1288 | |
| 1246 | 1289 | |
| 1247 | - //-----获取立即购买的商品信息,入口---- | |
| 1290 | + //-----单个商品购买的入口判断---- | |
| 1248 | 1291 | get_buy_goods: function (e) { |
| 1249 | 1292 | var th = this; |
| 1250 | 1293 | var gg = to.get_b_now(); |
| ... | ... | @@ -1750,37 +1793,198 @@ Page({ |
| 1750 | 1793 | } |
| 1751 | 1794 | }, |
| 1752 | 1795 | |
| 1753 | - //-- 立即购买的时候,获取商品优惠活动 -- | |
| 1754 | - async buy_pro_group(gd){ | |
| 1796 | + //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, | |
| 1797 | + // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- | |
| 1798 | + //先用着,后面会用接口来代替 | |
| 1799 | + async buy_pro_group(item1, is_state) { | |
| 1800 | + //-- 代发商品不参与任何活动 -- | |
| 1801 | + if(item1.whsle_id) return false; | |
| 1755 | 1802 | var url = '/api/weshop/activitylist/listGoodActInfo2New'; |
| 1756 | - var user_id=getApp().globalData.user_id; | |
| 1757 | - var zh_id=0; | |
| 1803 | + var user_id = getApp().globalData.user_id; | |
| 1804 | + var zh_id = 0; | |
| 1805 | + var zh_prom = null; | |
| 1806 | + var gdlist = null; | |
| 1807 | + | |
| 1758 | 1808 | var req_d = { |
| 1759 | 1809 | "store_id": os.stoid, |
| 1760 | - "goods_id": gd.goods_id, | |
| 1810 | + "goods_id": item1.goods_id, | |
| 1761 | 1811 | "user_id": user_id, |
| 1762 | 1812 | } |
| 1763 | 1813 | |
| 1764 | - await getApp().request.promiseGet(url, {}).then(res=>{ | |
| 1765 | - | |
| 1814 | + await getApp().request.promiseGet(url, {data: req_d}).then(res => { | |
| 1815 | + if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { | |
| 1816 | + var arr = e.data.data; | |
| 1817 | + if (arr.length) { | |
| 1818 | + arr3 = arr.filter(function (e) { | |
| 1819 | + return e.s_time < ut.gettimestamp() && e.prom_type == 7; | |
| 1820 | + }) | |
| 1821 | + if (arr3 && arr3.length) { | |
| 1822 | + zh_id = arr3[0].act_id; | |
| 1823 | + } | |
| 1824 | + } | |
| 1825 | + } | |
| 1766 | 1826 | }) |
| 1767 | 1827 | |
| 1768 | 1828 | //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- |
| 1769 | - if(zh_id){ | |
| 1770 | - //获取活动信息 | |
| 1771 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id; | |
| 1772 | - getApp().request.promiseGet(url, { | |
| 1829 | + if (zh_id) { | |
| 1830 | + var is_zh_ok = 1; | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + //--- 首先组合购的限购 --- | |
| 1834 | + if(is_zh_ok){ | |
| 1835 | + //-- 组合购活动是限购 -- | |
| 1836 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | |
| 1837 | + let res = await getApp().request.promiseGet(url, { | |
| 1838 | + data: {} | |
| 1839 | + }); | |
| 1840 | + let userbuynum = 0 | |
| 1841 | + if (res.data.code == 0 && res.data.data) { | |
| 1842 | + userbuynum = res.data.data.userbuynum | |
| 1843 | + } | |
| 1844 | + | |
| 1845 | + if(zh_pro0.buy_limit>0 && zh_pro0.buy_limit<=userbuynum){ | |
| 1846 | + is_zh_ok=0; | |
| 1847 | + } | |
| 1848 | + } | |
| 1849 | + | |
| 1850 | + //-- 如果满足条件,才会显示活动 -- | |
| 1851 | + if (is_zh_ok) { | |
| 1852 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | |
| 1853 | + var req_data = { | |
| 1854 | + page: 1, pageSize: 2000, | |
| 1855 | + store_id: os.stoid, | |
| 1856 | + zh_id: zh_id, | |
| 1857 | + } | |
| 1858 | + | |
| 1859 | + await getApp().request.promiseGet(url1, { | |
| 1860 | + data: req_data | |
| 1861 | + }).then(res => { | |
| 1862 | + if (ut.ajax_ok(res)) { | |
| 1863 | + gdlist = res.data.data.pageData; | |
| 1864 | + } | |
| 1865 | + }) | |
| 1773 | 1866 | |
| 1867 | + var zh_gd_fd = gdlist.find(function (e) { | |
| 1868 | + return e.goods_id == item.goods_id; | |
| 1774 | 1869 | }) |
| 1870 | + | |
| 1871 | + if (is_zh_ok) { | |
| 1872 | + //-- 商品的限购 -- | |
| 1873 | + var promgoodsbuynum = 0; | |
| 1874 | + //--要获得商品,该用户买了多少件,同步应用-- | |
| 1875 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | |
| 1876 | + data: { | |
| 1877 | + store_id: os.stoid, | |
| 1878 | + user_id: getApp().globalData.user_id, | |
| 1879 | + goods_id: item1.goods_id, | |
| 1880 | + prom_type: 7, | |
| 1881 | + prom_id: zh_id | |
| 1882 | + }, | |
| 1883 | + }).then(res => { | |
| 1884 | + var buy_num_data = res.data.data; | |
| 1885 | + if (buy_num_data.promgoodsbuynum) { | |
| 1886 | + promgoodsbuynum = buy_num_data.promgoodsbuynum; | |
| 1887 | + } | |
| 1888 | + }) | |
| 1889 | + | |
| 1890 | + //-- 组合购活动是限购 -- | |
| 1891 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | |
| 1892 | + let res = await getApp().request.promiseGet(url, {}); | |
| 1893 | + let userbuynum = 0 | |
| 1894 | + if (res.data.code == 0 && res.data.data) { | |
| 1895 | + userbuynum = res.data.data.userbuynum | |
| 1896 | + } | |
| 1897 | + | |
| 1898 | + //-- 判断是不是超出商品的限购 -- | |
| 1899 | + if (zh_gd_fd.buyqty > 0 && zh_gd_fd.promgoodsbuynum >= zh_gd_fd.buyqty) { | |
| 1900 | + is_zh_ok = 0; | |
| 1901 | + } | |
| 1902 | + //--- 要判断这个商品的必买有没有满足,如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | |
| 1903 | + if (is_state == 1) { | |
| 1904 | + //-- 看有没有必买商品不满足的时候 -- | |
| 1905 | + var f_gd = gdlist.find(function (e) { | |
| 1906 | + return e.zhqty > 0 && e.goods_id != item.goods_id; | |
| 1907 | + }) | |
| 1908 | + if (f_gd) { | |
| 1909 | + is_zh_ok = 0; | |
| 1910 | + } | |
| 1911 | + //-- 同时商品的购买数量有没有满足 -- | |
| 1912 | + if(item1.goods_num<zh_pro0.zhbuyqty){ | |
| 1913 | + is_zh_ok = 0; | |
| 1914 | + } | |
| 1915 | + } | |
| 1916 | + //判断组合购活动是不是满足 | |
| 1917 | + if(is_zh_ok){ | |
| 1918 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 1919 | + item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) | |
| 1920 | + } | |
| 1921 | + } | |
| 1922 | + } | |
| 1923 | + } | |
| 1924 | + | |
| 1925 | + //调用接口判断优惠, | |
| 1926 | + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); | |
| 1927 | + if(m_res && m_res.data.code == 0 && m_res.data.data){ | |
| 1928 | + | |
| 1929 | + var r_data = res.data.data; | |
| 1930 | + //-- 如果是搭配购的时候 -- | |
| 1931 | + if (r_data.collocationList) { | |
| 1932 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 1933 | + item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); | |
| 1934 | + } | |
| 1935 | + //-- 如果是阶梯促销的时候 -- | |
| 1936 | + if (r_data.ladderLists) { | |
| 1937 | + var act_id = r_data.ladderLists[0].form_id; | |
| 1938 | + //-- 判断会员能不能参与阶梯促销 -- | |
| 1939 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | |
| 1940 | + if (res.data.code == 0 && res.data.data) { | |
| 1941 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 1942 | + item1.more_cx.push({prom_type:10,prom_id: act_id}); | |
| 1943 | + } | |
| 1944 | + }) | |
| 1945 | + } | |
| 1946 | + //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 | |
| 1947 | + if (r_data.promGoodsLists) { | |
| 1948 | + | |
| 1949 | + var fir_act = r_data.promGoodsLists[0]; | |
| 1950 | + //-- 计算一下限购,满足限购数才显示 -- | |
| 1951 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${user_id}&prom_type=3&prom_id=${fir_act.prom_id}`; | |
| 1952 | + let res_o = await getApp().request.promiseGet(url, {}); | |
| 1953 | + let user_pre_buynum=0 | |
| 1954 | + if(res_o.data.code==0 && res_o.data.data){ | |
| 1955 | + user_pre_buynum=res_o.data.data.userbuynum | |
| 1956 | + } | |
| 1957 | + //--- 这个地方是在计算优惠促销的限购 --- | |
| 1958 | + if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ | |
| 1959 | + | |
| 1960 | + var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act}; | |
| 1961 | + //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | |
| 1962 | + if (is_state == 1) { | |
| 1963 | + //-- 按件进行计算 -- | |
| 1964 | + if (fir_act.prom_type == 1) { | |
| 1965 | + if (fir_act.condition > item1.goods_num) { | |
| 1966 | + item1.more_cx.push(push_item); | |
| 1967 | + } | |
| 1968 | + }else{ | |
| 1969 | + //-- 按数量进行计算 -- | |
| 1970 | + var all_price = item.goods_price * item1.goods_num; | |
| 1971 | + if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | |
| 1972 | + item1.more_cx.push(push_item); | |
| 1973 | + } | |
| 1974 | + } | |
| 1975 | + | |
| 1976 | + }else{ | |
| 1977 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 1978 | + item1.more_cx.push(push_item); | |
| 1979 | + } | |
| 1980 | + } | |
| 1981 | + } | |
| 1775 | 1982 | } |
| 1776 | 1983 | |
| 1777 | - //调用接口判断订单优惠, | |
| 1778 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, { | |
| 1779 | - }).then(async res=>{ | |
| 1780 | 1984 | |
| 1781 | - }); | |
| 1782 | 1985 | }, |
| 1783 | 1986 | |
| 1987 | + | |
| 1784 | 1988 | //---------------检查是否有收货地址------------------- |
| 1785 | 1989 | checkAddressList: function () { |
| 1786 | 1990 | var t = this; | ... | ... |
pages/cart/cart/cart.js
| ... | ... | @@ -8,6 +8,7 @@ var t = getApp(), |
| 8 | 8 | zh_calc = require("zh_calculate.js"), |
| 9 | 9 | ladder_calc = require("ladder_calculate.js"); |
| 10 | 10 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
| 11 | +const e = require("../../../../utils/common.js"); | |
| 11 | 12 | |
| 12 | 13 | |
| 13 | 14 | Page({ |
| ... | ... | @@ -41,6 +42,7 @@ Page({ |
| 41 | 42 | zuhe_map: {}, |
| 42 | 43 | zuhe_map_good: {}, |
| 43 | 44 | in_zhact_gdmap: {}, //不同门店参与同一活动的限购 |
| 45 | + in_zhact_gdmap_gp: {}, //不同门店参与同一活动的限购,新版判断的时候 | |
| 44 | 46 | |
| 45 | 47 | ladder_map: {}, //阶梯促销需要的map |
| 46 | 48 | |
| ... | ... | @@ -48,8 +50,220 @@ Page({ |
| 48 | 50 | promgoods_list: {} |
| 49 | 51 | |
| 50 | 52 | }, |
| 51 | - onLoad: function () { | |
| 52 | 53 | |
| 54 | + //-- 立即购买的时候,获取商品优惠活动,is_state判断是不是单个商品购买, | |
| 55 | + // 很多活动需要判断会员的plus等级, 权益登陆,user_id调用接口是必须的 -- | |
| 56 | + //先用着,后面会用接口来代替 | |
| 57 | + async buy_pro_group(item1, is_state) { | |
| 58 | + //-- 代发商品不参与任何活动 -- | |
| 59 | + if(item1.whsle_id) return false; | |
| 60 | + var url = '/api/weshop/activitylist/listGoodActInfo2New'; | |
| 61 | + var user_id = getApp().globalData.user_id; | |
| 62 | + var zh_id = 0; | |
| 63 | + var zh_prom = null; | |
| 64 | + var gdlist = null; | |
| 65 | + | |
| 66 | + var req_d = { | |
| 67 | + "store_id": os.stoid, | |
| 68 | + "goods_id": item1.goods_id, | |
| 69 | + "user_id": user_id, | |
| 70 | + } | |
| 71 | + | |
| 72 | + await getApp().request.promiseGet(url, {data: req_d}).then(res => { | |
| 73 | + if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { | |
| 74 | + var arr = e.data.data; | |
| 75 | + if (arr.length) { | |
| 76 | + arr3 = arr.filter(function (e) { | |
| 77 | + return e.s_time < ut.gettimestamp() && e.prom_type == 7; | |
| 78 | + }) | |
| 79 | + if (arr3 && arr3.length) { | |
| 80 | + zh_id = arr3[0].act_id; | |
| 81 | + } | |
| 82 | + } | |
| 83 | + } | |
| 84 | + }) | |
| 85 | + | |
| 86 | + //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- | |
| 87 | + if (zh_id) { | |
| 88 | + var is_zh_ok = 1; | |
| 89 | + var zh_pro0 = null; | |
| 90 | + //-- 获取活动信息 -- | |
| 91 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id; | |
| 92 | + await getApp().request.promiseGet(url, {}).then(rh => { | |
| 93 | + if (res.data.code == 0 && res.data.data) { | |
| 94 | + //如果活动已经结束 | |
| 95 | + if (res.data.data.is_end == 1) { | |
| 96 | + is_zh_ok = 0; | |
| 97 | + } | |
| 98 | + if (ut.gettimestamp() > res.data.data.end_time) { | |
| 99 | + is_zh_ok = 0; | |
| 100 | + } | |
| 101 | + zh_pro0 = res.data.data; | |
| 102 | + //--- 在这里要判断一下活动的组合购总数量 --- | |
| 103 | + if (zh_pro0.zh_num > 0 && zh_pro0.zh_buy_num >= zh_pro0.zh_num) { | |
| 104 | + is_zh_ok = 0; | |
| 105 | + } | |
| 106 | + } else { | |
| 107 | + is_zh_ok = 0; | |
| 108 | + } | |
| 109 | + }) | |
| 110 | + | |
| 111 | + //--- 首先组合购的限购 --- | |
| 112 | + if(is_zh_ok){ | |
| 113 | + //-- 组合购活动是限购 -- | |
| 114 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | |
| 115 | + let res = await getApp().request.promiseGet(url, { | |
| 116 | + data: {} | |
| 117 | + }); | |
| 118 | + let userbuynum = 0 | |
| 119 | + if (res.data.code == 0 && res.data.data) { | |
| 120 | + userbuynum = res.data.data.userbuynum | |
| 121 | + } | |
| 122 | + | |
| 123 | + if(zh_pro0.buy_limit>0 && zh_pro0.buy_limit<=userbuynum){ | |
| 124 | + is_zh_ok=0; | |
| 125 | + } | |
| 126 | + } | |
| 127 | + | |
| 128 | + //-- 如果满足条件,才会显示活动 -- | |
| 129 | + if (is_zh_ok) { | |
| 130 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | |
| 131 | + var req_data = { | |
| 132 | + page: 1, pageSize: 2000, | |
| 133 | + store_id: os.stoid, | |
| 134 | + zh_id: zh_id, | |
| 135 | + } | |
| 136 | + | |
| 137 | + await getApp().request.promiseGet(url1, { | |
| 138 | + data: req_data | |
| 139 | + }).then(res => { | |
| 140 | + if (ut.ajax_ok(res)) { | |
| 141 | + gdlist = res.data.data.pageData; | |
| 142 | + } | |
| 143 | + }) | |
| 144 | + | |
| 145 | + var zh_gd_fd = gdlist.find(function (e) { | |
| 146 | + return e.goods_id == item.goods_id; | |
| 147 | + }) | |
| 148 | + | |
| 149 | + if (is_zh_ok) { | |
| 150 | + //-- 商品的限购 -- | |
| 151 | + var promgoodsbuynum = 0; | |
| 152 | + //--要获得商品,该用户买了多少件,同步应用-- | |
| 153 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | |
| 154 | + data: { | |
| 155 | + store_id: os.stoid, | |
| 156 | + user_id: getApp().globalData.user_id, | |
| 157 | + goods_id: item1.goods_id, | |
| 158 | + prom_type: 7, | |
| 159 | + prom_id: zh_id | |
| 160 | + }, | |
| 161 | + }).then(res => { | |
| 162 | + var buy_num_data = res.data.data; | |
| 163 | + if (buy_num_data.promgoodsbuynum) { | |
| 164 | + promgoodsbuynum = buy_num_data.promgoodsbuynum; | |
| 165 | + } | |
| 166 | + }) | |
| 167 | + | |
| 168 | + //-- 组合购活动是限购 -- | |
| 169 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${user_id}&prom_type=7&prom_id=${zh_id}`; | |
| 170 | + let res = await getApp().request.promiseGet(url, {}); | |
| 171 | + let userbuynum = 0 | |
| 172 | + if (res.data.code == 0 && res.data.data) { | |
| 173 | + userbuynum = res.data.data.userbuynum | |
| 174 | + } | |
| 175 | + | |
| 176 | + //-- 判断是不是超出商品的限购 -- | |
| 177 | + if (zh_gd_fd.buyqty > 0 && zh_gd_fd.promgoodsbuynum >= zh_gd_fd.buyqty) { | |
| 178 | + is_zh_ok = 0; | |
| 179 | + } | |
| 180 | + //--- 要判断这个商品的必买有没有满足,如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | |
| 181 | + if (is_state == 1) { | |
| 182 | + //-- 看有没有必买商品不满足的时候 -- | |
| 183 | + var f_gd = gdlist.find(function (e) { | |
| 184 | + return e.zhqty > 0 && e.goods_id != item.goods_id; | |
| 185 | + }) | |
| 186 | + if (f_gd) { | |
| 187 | + is_zh_ok = 0; | |
| 188 | + } | |
| 189 | + //-- 同时商品的购买数量有没有满足 -- | |
| 190 | + if(item1.goods_num<zh_pro0.zhbuyqty){ | |
| 191 | + is_zh_ok = 0; | |
| 192 | + } | |
| 193 | + } | |
| 194 | + //判断组合购活动是不是满足 | |
| 195 | + if(is_zh_ok){ | |
| 196 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 197 | + item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) | |
| 198 | + } | |
| 199 | + } | |
| 200 | + } | |
| 201 | + | |
| 202 | + } | |
| 203 | + | |
| 204 | + //调用接口判断优惠, | |
| 205 | + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); | |
| 206 | + if(m_res && m_res.data.code == 0 && m_res.data.data){ | |
| 207 | + | |
| 208 | + var r_data = res.data.data; | |
| 209 | + //-- 如果是搭配购的时候 -- | |
| 210 | + if (r_data.collocationList) { | |
| 211 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 212 | + item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); | |
| 213 | + } | |
| 214 | + //-- 如果是阶梯促销的时候 -- | |
| 215 | + if (r_data.ladderLists) { | |
| 216 | + var act_id = r_data.ladderLists[0].form_id; | |
| 217 | + //-- 判断会员能不能参与阶梯促销 -- | |
| 218 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | |
| 219 | + if (res.data.code == 0 && res.data.data) { | |
| 220 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 221 | + item1.more_cx.push({prom_type:10,prom_id: act_id}); | |
| 222 | + } | |
| 223 | + }) | |
| 224 | + } | |
| 225 | + //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 | |
| 226 | + if (r_data.promGoodsLists) { | |
| 227 | + | |
| 228 | + var fir_act = r_data.promGoodsLists[0]; | |
| 229 | + //-- 计算一下限购,满足限购数才显示 -- | |
| 230 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${user_id}&prom_type=3&prom_id=${fir_act.prom_id}`; | |
| 231 | + let res_o = await getApp().request.promiseGet(url, {}); | |
| 232 | + let user_pre_buynum=0 | |
| 233 | + if(res_o.data.code==0 && res_o.data.data){ | |
| 234 | + user_pre_buynum=res_o.data.data.userbuynum | |
| 235 | + } | |
| 236 | + //--- 这个地方是在计算优惠促销的限购 --- | |
| 237 | + if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ | |
| 238 | + | |
| 239 | + var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act}; | |
| 240 | + //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- | |
| 241 | + if (is_state == 1) { | |
| 242 | + //-- 按件进行计算 -- | |
| 243 | + if (fir_act.prom_type == 1) { | |
| 244 | + if (fir_act.condition > item1.goods_num) { | |
| 245 | + item1.more_cx.push(push_item); | |
| 246 | + } | |
| 247 | + }else{ | |
| 248 | + //-- 按数量进行计算 -- | |
| 249 | + var all_price = item.goods_price * item1.goods_num; | |
| 250 | + if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { | |
| 251 | + item1.more_cx.push(push_item); | |
| 252 | + } | |
| 253 | + } | |
| 254 | + | |
| 255 | + }else{ | |
| 256 | + if(!item1.more_cx) item1.more_cx=[]; | |
| 257 | + item1.more_cx.push(push_item); | |
| 258 | + } | |
| 259 | + } | |
| 260 | + } | |
| 261 | + } | |
| 262 | + | |
| 263 | + | |
| 264 | + }, | |
| 265 | + | |
| 266 | + onLoad: function () { | |
| 53 | 267 | var a = this, |
| 54 | 268 | ee = a; |
| 55 | 269 | |
| ... | ... | @@ -79,7 +293,6 @@ Page({ |
| 79 | 293 | getApp().requestCardNum(this); |
| 80 | 294 | } |
| 81 | 295 | |
| 82 | - | |
| 83 | 296 | var th = this; |
| 84 | 297 | this.setData({ |
| 85 | 298 | requestData: null, |
| ... | ... | @@ -450,7 +663,6 @@ Page({ |
| 450 | 663 | var g_arr = []; |
| 451 | 664 | for (var i = 0; i < carr.length; i++) { |
| 452 | 665 | |
| 453 | - | |
| 454 | 666 | //-- 清理购物车的选中状态 -- |
| 455 | 667 | var url = '/api/weshop/cart/update'; |
| 456 | 668 | getApp().request.put(url, { |
| ... | ... | @@ -495,8 +707,6 @@ Page({ |
| 495 | 707 | var item = carr[i]; |
| 496 | 708 | var good = item; |
| 497 | 709 | |
| 498 | - | |
| 499 | - | |
| 500 | 710 | if (item.is_gift) { |
| 501 | 711 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; |
| 502 | 712 | getApp().request.delete(url, { |
| ... | ... | @@ -550,82 +760,36 @@ Page({ |
| 550 | 760 | } |
| 551 | 761 | |
| 552 | 762 | //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 -- |
| 553 | - if(item.prom_type==0 || item.prom_type==3 || item.prom_type==10){ | |
| 554 | - | |
| 763 | + if(item.prom_type==3 || item.prom_type==5 || item.prom_type==7 || item.prom_type==10){ | |
| 555 | 764 | var c_prom_type=0; |
| 556 | 765 | var c_prom_id=0; |
| 557 | 766 | |
| 558 | - //因为有全场优惠活动,商品参加的活动还未开始 | |
| 559 | - var url_ch_more_act = "/api/weshop/activitylist/getGoodActInfo"; | |
| 560 | - var req_data_m = { | |
| 561 | - store_id: os.stoid, goodsidlist: item.goods_id, is_detail: 1, user_id: user_id | |
| 562 | - }; | |
| 563 | - await getApp().request.promiseGet(url_ch_more_act, { data: req_data_m }).then(async function (res) { | |
| 564 | - if (res.data.code == 0 && res.data.data && res.data.data.length) { | |
| 565 | - //-- 先看一下有没有组合购 -- | |
| 566 | - var zh_fd=res.data.data.filter(function (e) { | |
| 567 | - return e.prom_type==7; | |
| 568 | - }) | |
| 569 | - if(zh_fd && zh_fd.length){ | |
| 570 | - c_prom_type=zh_fd[0].prom_type; | |
| 571 | - c_prom_id=zh_fd[0].act_id; | |
| 572 | - return; | |
| 573 | - } | |
| 574 | - | |
| 575 | - //-- 先看一下有没有搭配购 -- | |
| 576 | - var dp_fd=res.data.data.filter(function (e) { | |
| 577 | - return e.prom_type==5; | |
| 578 | - }) | |
| 579 | - if(dp_fd && dp_fd.length){ | |
| 580 | - c_prom_type=dp_fd[0].prom_type; | |
| 581 | - c_prom_id=dp_fd[0].act_id; | |
| 582 | - return; | |
| 583 | - } | |
| 584 | - | |
| 585 | - //-- 先看一下有没有指定优惠促销 -- | |
| 586 | - var yh_fd=res.data.data.filter(function (e) { | |
| 587 | - return e.prom_type==3 && e.good_object==1; | |
| 588 | - }) | |
| 589 | - if(yh_fd && yh_fd.length){ | |
| 590 | - c_prom_type=yh_fd[0].prom_type; | |
| 591 | - c_prom_id=yh_fd[0].act_id; | |
| 592 | - return; | |
| 593 | - } | |
| 767 | + item.prom_type=c_prom_type; | |
| 768 | + item.prom_id=c_prom_id; | |
| 594 | 769 | |
| 595 | - //-- 先看一下有没有指定阶梯促销 -- | |
| 596 | - var jt_fd=res.data.data.filter(function (e) { | |
| 597 | - return e.prom_type==10 && e.good_object==1; | |
| 598 | - }) | |
| 599 | - if(jt_fd && jt_fd.length){ | |
| 600 | - c_prom_type=jt_fd[0].prom_type; | |
| 601 | - c_prom_id=jt_fd[0].act_id; | |
| 602 | - } | |
| 770 | + if (th.data.card_field && good[th.data.card_field]) { | |
| 771 | + item.goods_price = good[th.data.card_field]; //要同步下线商品的id | |
| 772 | + } else { | |
| 773 | + item.goods_price = good.shop_price; | |
| 774 | + } | |
| 603 | 775 | |
| 604 | - } | |
| 776 | + //-- 购物车更新 -- | |
| 777 | + var updata1 = { | |
| 778 | + id: item.id, | |
| 779 | + prom_type: c_prom_type, | |
| 780 | + prom_id:c_prom_id, | |
| 781 | + store_id: os.stoid, | |
| 782 | + user_id: getApp().globalData.userInfo.user_id | |
| 783 | + }; | |
| 784 | + getApp().request.put("/api/weshop/cart/update", { | |
| 785 | + data: updata1, | |
| 605 | 786 | }) |
| 606 | 787 | |
| 607 | - if(c_prom_type && (c_prom_type!=item.prom_type || c_prom_id!=item.prom_id )){ | |
| 608 | - item.prom_type=c_prom_type; | |
| 609 | - item.prom_id=c_prom_id; | |
| 610 | - //-- 购物车更新 -- | |
| 611 | - var updata1 = { | |
| 612 | - id: item.id, | |
| 613 | - prom_type: c_prom_type, | |
| 614 | - prom_id:c_prom_id, | |
| 615 | - store_id: os.stoid, | |
| 616 | - user_id: getApp().globalData.userInfo.user_id | |
| 617 | - }; | |
| 618 | - getApp().request.put("/api/weshop/cart/update", { | |
| 619 | - data: updata1, | |
| 620 | - }) | |
| 621 | - } | |
| 622 | - | |
| 623 | 788 | } |
| 624 | 789 | |
| 625 | 790 | //判断如果是普通商品,后面参加活动了,变成失效商品 |
| 626 | 791 | if (item.prom_type == 0 ) { |
| 627 | 792 | |
| 628 | - | |
| 629 | 793 | var prom = null; |
| 630 | 794 | var now = ut.gettimestamp(); |
| 631 | 795 | await getApp().request.promiseGet(`/api/weshop/activitylist/listGoodActInfo2New`, { |
| ... | ... | @@ -644,41 +808,20 @@ Page({ |
| 644 | 808 | prom.push(a_item); |
| 645 | 809 | } |
| 646 | 810 | } |
| 647 | - | |
| 648 | - | |
| 649 | 811 | } |
| 650 | 812 | }) |
| 651 | - let prom_true = 0 | |
| 652 | - let prom_id = 0 | |
| 653 | - if (prom) { | |
| 654 | - prom.map(item => { | |
| 655 | - if (item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7 || item.prom_type == 10) { | |
| 656 | - prom_true = item.prom_type | |
| 657 | - prom_id = item.act_id | |
| 658 | - } | |
| 659 | - }) | |
| 660 | - } | |
| 661 | - if (prom_true) { | |
| 662 | - //-- 购物车更新 -- | |
| 663 | - var updata1 = { | |
| 664 | - id: item.id, | |
| 665 | - prom_type: prom_true, | |
| 666 | - prom_id, | |
| 667 | - store_id: os.stoid, | |
| 668 | - user_id: getApp().globalData.userInfo.user_id | |
| 669 | - }; | |
| 670 | - item.prom_id = prom_id | |
| 671 | - item.prom_type = prom_true | |
| 672 | - getApp().request.put("/api/weshop/cart/update", { | |
| 673 | - data: updata1, | |
| 674 | - }) | |
| 675 | 813 | |
| 676 | - } else { | |
| 677 | - if (prom && !item.is_integral_normal && !item.is_pd_normal && prom[0].prom_type != 5) { | |
| 678 | - th.disInvalid(item); | |
| 814 | + //只有一种活动,但是又是秒杀之类是互动,就要失效。不能是普通购买 | |
| 815 | + if (prom.length==1 && [1,2,4,6,8,9].indexOf(prom.prom_type)>-1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 816 | + th.disInvalid(item); | |
| 817 | + continue; | |
| 818 | + } | |
| 819 | + //只有秒杀和积分购的时候,不能是普通购买 | |
| 820 | + if (prom.length==2 && [1,4].indexOf(prom.prom_type)>-1 && [1,4].indexOf(prom.prom_type)>-1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 821 | + th.disInvalid(item); | |
| 679 | 822 | continue; |
| 680 | - } | |
| 681 | 823 | } |
| 824 | + | |
| 682 | 825 | } |
| 683 | 826 | |
| 684 | 827 | |
| ... | ... | @@ -699,7 +842,6 @@ Page({ |
| 699 | 842 | }) |
| 700 | 843 | } |
| 701 | 844 | |
| 702 | - | |
| 703 | 845 | //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 |
| 704 | 846 | if (item.prom_type == 1) { |
| 705 | 847 | var prom = null; |
| ... | ... | @@ -784,392 +926,7 @@ Page({ |
| 784 | 926 | |
| 785 | 927 | |
| 786 | 928 | } |
| 787 | - //--判断优惠活动有没有过期,-- | |
| 788 | - else if (item.prom_type == 3) { | |
| 789 | - var isok = 1, is_g_prom = 0; | |
| 790 | - | |
| 791 | - //因为有全场优惠活动,商品参加的活动还未开始 | |
| 792 | - var url = "/api/weshop/activitylist/getGoodActInfo"; | |
| 793 | - var req_data = { | |
| 794 | - store_id: os.stoid, goodsidlist: item.goods_id, is_detail: 1, user_id: user_id | |
| 795 | - }; | |
| 796 | - await getApp().request.promiseGet(url, { data: req_data }).then(async function (res) { | |
| 797 | - if (res.data.code == 0 && res.data.data && res.data.data.length) { | |
| 798 | - for (let i in res.data.data) { | |
| 799 | - let item = res.data.data[i]; | |
| 800 | - if (item.prom_type == 3) { | |
| 801 | - is_g_prom = 1; break; | |
| 802 | - } | |
| 803 | - } | |
| 804 | - } | |
| 805 | - }) | |
| 806 | 929 | |
| 807 | - if (is_g_prom) { | |
| 808 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew/" + os.stoid + "/" + item.goods_id + "/1" + "/" + getApp().globalData.user_id, {}).then(res => { | |
| 809 | - if (res.data.code == 0) { | |
| 810 | - var r_data = res.data.data; | |
| 811 | - if (!r_data.promGoodsLists) { | |
| 812 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 813 | - // getApp().request.delete(url, {}); | |
| 814 | - //商品已经无活动 | |
| 815 | - // th.disInvalid(item); | |
| 816 | - // isok = 0; | |
| 817 | - item.prom_type = 0 | |
| 818 | - //购物车更新 | |
| 819 | - th.cartUpFn(item) | |
| 820 | - } else { | |
| 821 | - //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | |
| 822 | - if (item.prom_id != r_data.promGoodsLists[0].prom_id) { | |
| 823 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 824 | - // getApp().request.delete(url, {}); | |
| 825 | - //商品已经下架 | |
| 826 | - // th.disInvalid(item); | |
| 827 | - // isok = 0; | |
| 828 | - item.prom_type = 0 | |
| 829 | - //购物车更新 | |
| 830 | - th.cartUpFn(item) | |
| 831 | - } | |
| 832 | - } | |
| 833 | - | |
| 834 | - } else { | |
| 835 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 836 | - // getApp().request.delete(url, {}); | |
| 837 | - // th.disInvalid(item); | |
| 838 | - // //商品已经下架 | |
| 839 | - // isok = 0; | |
| 840 | - item.prom_type = 0 | |
| 841 | - //购物车更新 | |
| 842 | - th.cartUpFn(item) | |
| 843 | - } | |
| 844 | - }) | |
| 845 | - | |
| 846 | - } else { | |
| 847 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + item.goods_id, {}).then(res => { | |
| 848 | - if (res.data.code == 0) { | |
| 849 | - var r_data = res.data.data; | |
| 850 | - if (!r_data.promGoodsLists) { | |
| 851 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 852 | - // getApp().request.delete(url, {}); | |
| 853 | - // th.disInvalid(item); | |
| 854 | - // //商品已经无活动 | |
| 855 | - // isok = 0; | |
| 856 | - item.prom_type = 0 | |
| 857 | - //购物车更新 | |
| 858 | - th.cartUpFn(item) | |
| 859 | - } else { | |
| 860 | - //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | |
| 861 | - if (item.prom_id != r_data.promGoodsLists[0].prom_id) { | |
| 862 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 863 | - // getApp().request.delete(url, {}); | |
| 864 | - // th.disInvalid(item); | |
| 865 | - // //商品已经下架 | |
| 866 | - // isok = 0; | |
| 867 | - item.prom_type = 0 | |
| 868 | - //购物车更新 | |
| 869 | - th.cartUpFn(item) | |
| 870 | - } | |
| 871 | - } | |
| 872 | - | |
| 873 | - } else { | |
| 874 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 875 | - // getApp().request.delete(url, {}); | |
| 876 | - // th.disInvalid(item,1); | |
| 877 | - // //商品已经下架 | |
| 878 | - // isok = 0; | |
| 879 | - item.prom_type = 0 | |
| 880 | - //购物车更新 | |
| 881 | - th.cartUpFn(item) | |
| 882 | - } | |
| 883 | - }) | |
| 884 | - } | |
| 885 | - // if (!isok) continue; | |
| 886 | - } | |
| 887 | - else if (item.prom_type == 7) { | |
| 888 | - console.log('组合购------------'); | |
| 889 | - if (!th.data.zuhe_map[item.prom_id]) { | |
| 890 | - console.log('组1') | |
| 891 | - //如果有组合购 | |
| 892 | - var isok = 1; | |
| 893 | - var is_flag = 1; | |
| 894 | - var act = null; | |
| 895 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.user_id; | |
| 896 | - await getApp().request.promiseGet(url, {}).then(res => { | |
| 897 | - console.log(res); | |
| 898 | - if (res.data.code == 0 && res.data.data) { | |
| 899 | - if (res.data.data.is_show != 1) { | |
| 900 | - isok = 0; | |
| 901 | - } | |
| 902 | - //如果活动已经结束 | |
| 903 | - if (res.data.data.is_end == 1) { | |
| 904 | - isok = 0; | |
| 905 | - } | |
| 906 | - //已经结束 | |
| 907 | - if (ut.gettimestamp() > res.data.data.end_time) { | |
| 908 | - isok = 0; | |
| 909 | - } | |
| 910 | - //还未开始 | |
| 911 | - if (ut.gettimestamp() < res.data.data.start_time) { | |
| 912 | - isok = 0; | |
| 913 | - } | |
| 914 | - if(res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num){ | |
| 915 | - isok = 0; | |
| 916 | - } | |
| 917 | - | |
| 918 | - act = res.data.data; | |
| 919 | - | |
| 920 | - } else { | |
| 921 | - //未找到商品的活动 | |
| 922 | - is_flag = 0; | |
| 923 | - } | |
| 924 | - }) | |
| 925 | - if (!isok) { | |
| 926 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 927 | - // getApp().request.delete(url, {}); | |
| 928 | - //组合购失效不处理 | |
| 929 | - // th.disInvalid(item); | |
| 930 | - // th.data.zuhe_map[item.prom_id] = -1; | |
| 931 | - // continue; | |
| 932 | - item.prom_type = 0 | |
| 933 | - //购物车更新 | |
| 934 | - th.cartUpFn(item) | |
| 935 | - } else { | |
| 936 | - th.data.zuhe_map[item.prom_id] = act; | |
| 937 | - var url1 = "/api/weshop/prom/zhbuyGoods/page"; | |
| 938 | - var req_data = { | |
| 939 | - page: 1, | |
| 940 | - pageSize: 2000, | |
| 941 | - store_id: os.stoid, | |
| 942 | - zh_id: item.prom_id, | |
| 943 | - } | |
| 944 | - await getApp().request.promiseGet(url1, { | |
| 945 | - data: req_data | |
| 946 | - }).then(res => { | |
| 947 | - console.log(res, 2000); | |
| 948 | - if (ut.ajax_ok(res)) { | |
| 949 | - var gdlist = res.data.data.pageData; | |
| 950 | - gdlist.forEach(i => { | |
| 951 | - if (item.goods_id == i.goods_id && !is_flag) { | |
| 952 | - item.prom_type = 0; | |
| 953 | - item.prom_type1 = 0; | |
| 954 | - item.prom_id = 0; | |
| 955 | - item.prom_id1 = 0 | |
| 956 | - } | |
| 957 | - }) | |
| 958 | - th.data.zuhe_map_good[item.prom_id] = gdlist; | |
| 959 | - } | |
| 960 | - }) | |
| 961 | - } | |
| 962 | - } | |
| 963 | - console.log('组2') | |
| 964 | - if (th.data.zuhe_map[item.prom_id] && th.data.zuhe_map[item.prom_id] != -1) { | |
| 965 | - console.log('组3') | |
| 966 | - var gdlist = th.data.zuhe_map_good[item.prom_id]; | |
| 967 | - var t_item = gdlist.find(function (ele) { | |
| 968 | - return ele.goods_id == item.goods_id | |
| 969 | - }) | |
| 970 | - if (!t_item) { | |
| 971 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 972 | - // getApp().request.delete(url, {}); | |
| 973 | - //组合购不处理 | |
| 974 | - // th.disInvalid(item,1); | |
| 975 | - // th.data.zuhe_map[item.prom_id] = -1; | |
| 976 | - // continue; | |
| 977 | - item.prom_type = 0 | |
| 978 | - //购物车更新 | |
| 979 | - th.cartUpFn(item) | |
| 980 | - } else { | |
| 981 | - let act =th.data.zuhe_map[item.prom_id] | |
| 982 | - //判断是否超出组合购次数限制 | |
| 983 | - | |
| 984 | - if(act.buy_limit !=0){ | |
| 985 | - let userbuynum = await th.getUserBuyPromNum(item.goods_prom_id) | |
| 986 | - if(userbuynum>=act.buy_limit){ | |
| 987 | - item.goods_prom_type = 0 | |
| 988 | - item.goods_prom_id = 0 | |
| 989 | - item.prom_type = 0 | |
| 990 | - item.prom_id = 0 | |
| 991 | - //购物车更新 | |
| 992 | - th.cartUpFn(item) | |
| 993 | - }else{ | |
| 994 | - item.buyqty = t_item.buyqty; | |
| 995 | - item.zh_b_num = promgoodsbuynum; | |
| 996 | - item.act = th.data.zuhe_map[item.prom_id]; | |
| 997 | - } | |
| 998 | - }else{ | |
| 999 | - item.buyqty = t_item.buyqty; | |
| 1000 | - item.zh_b_num = promgoodsbuynum; | |
| 1001 | - item.act = th.data.zuhe_map[item.prom_id]; | |
| 1002 | - } | |
| 1003 | - } | |
| 1004 | - } //else{ | |
| 1005 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 1006 | - // getApp().request.delete(url, {}); | |
| 1007 | - // th.data.zuhe_map[item.prom_id]=-1; | |
| 1008 | - // continue; | |
| 1009 | - // } | |
| 1010 | - } | |
| 1011 | - else if (item.prom_type == 10) { | |
| 1012 | - if (!th.data.ladder_map[item.prom_id]) { | |
| 1013 | - //如果有阶梯购 | |
| 1014 | - var isok = 1; | |
| 1015 | - var is_flag = 1; | |
| 1016 | - var act = null; | |
| 1017 | - var url = "/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + item.prom_id; | |
| 1018 | - await getApp().request.promiseGet(url, {}).then(res => { | |
| 1019 | - console.log(res, 1000); | |
| 1020 | - if (res.data.code == 0 && res.data.data) { | |
| 1021 | - if (res.data.data.isuse != 1) { | |
| 1022 | - isok = 0; | |
| 1023 | - } | |
| 1024 | - //如果活动已经结束 | |
| 1025 | - if (res.data.data.is_end == 1) { | |
| 1026 | - isok = 0; | |
| 1027 | - } | |
| 1028 | - //已经结束 | |
| 1029 | - if (ut.gettimestamp() > res.data.data.end_time) { | |
| 1030 | - isok = 0; | |
| 1031 | - } | |
| 1032 | - //还未开始 | |
| 1033 | - if (ut.gettimestamp() < res.data.data.start_time) { | |
| 1034 | - isok = 0; | |
| 1035 | - } | |
| 1036 | - act = res.data.data; | |
| 1037 | - | |
| 1038 | - } else { | |
| 1039 | - //未找到商品的活动 | |
| 1040 | - isok = 0; | |
| 1041 | - } | |
| 1042 | - }) | |
| 1043 | - if (!isok) { | |
| 1044 | - // var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 1045 | - // getApp().request.delete(url, {}); | |
| 1046 | - th.disInvalid(item, 1); | |
| 1047 | - th.data.ladder_map[item.prom_id] = -1; | |
| 1048 | - continue; | |
| 1049 | - } | |
| 1050 | - th.data.ladder_map[item.prom_id] = act; | |
| 1051 | - | |
| 1052 | - //-- 获取阶梯规则 -- | |
| 1053 | - var url1 = "/api/weshop/prom/ladderList/list"; | |
| 1054 | - var req_data = { | |
| 1055 | - store_id: os.stoid, | |
| 1056 | - form_id: item.prom_id, | |
| 1057 | - } | |
| 1058 | - await getApp().request.promiseGet(url1, { | |
| 1059 | - data: req_data | |
| 1060 | - }).then(rs1 => { | |
| 1061 | - if (rs1.data.code == 0 && rs1.data.data) { | |
| 1062 | - var gdlist = rs1.data.data; | |
| 1063 | - th.data.ladder_map[item.prom_id].ladder_list = gdlist; | |
| 1064 | - } | |
| 1065 | - }) | |
| 1066 | - } | |
| 1067 | - //直接把活动赋值给元素 | |
| 1068 | - if (th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id] != -1) { | |
| 1069 | - item.act = th.data.ladder_map[item.prom_id]; | |
| 1070 | - } | |
| 1071 | - | |
| 1072 | - } | |
| 1073 | - //判断不是代发的商品 | |
| 1074 | - else if (item.prom_type == 0 && !item.whsle_id) { | |
| 1075 | - | |
| 1076 | - //如果有优惠活动,要更新活动 | |
| 1077 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1" + "/" + getApp().globalData.user_id, {}).then(res => { | |
| 1078 | - if (res.data.code == 0 && res.data.data) { | |
| 1079 | - var r_data = res.data.data; | |
| 1080 | - if (r_data.promGoodsLists) { | |
| 1081 | - var url = '/api/weshop/cart/update'; | |
| 1082 | - getApp().request.put(url, { | |
| 1083 | - data: { | |
| 1084 | - id: item.id, | |
| 1085 | - store_id: oo.stoid, | |
| 1086 | - prom_type: 3, | |
| 1087 | - prom_id: r_data.promGoodsLists[0].prom_id | |
| 1088 | - } | |
| 1089 | - }); | |
| 1090 | - item.prom_type = 3; | |
| 1091 | - item.prom_id = r_data.promGoodsLists[0].prom_id; | |
| 1092 | - } else if (r_data.ladderLists) { | |
| 1093 | - | |
| 1094 | - item.prom_type = 10; | |
| 1095 | - item.prom_id = r_data.ladderLists[0].form_id; | |
| 1096 | - | |
| 1097 | - } | |
| 1098 | - } | |
| 1099 | - }) | |
| 1100 | - | |
| 1101 | - //如果是阶梯购的时候 | |
| 1102 | - if (item.prom_type == 10) { | |
| 1103 | - | |
| 1104 | - | |
| 1105 | - if (!th.data.ladder_map[item.prom_id]) { | |
| 1106 | - //如果有阶梯购,要判断身份 | |
| 1107 | - var isok = 1; | |
| 1108 | - var is_flag = 1; | |
| 1109 | - var act = null; | |
| 1110 | - var url = "/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + item.prom_id; | |
| 1111 | - await getApp().request.promiseGet(url, {}).then(res => { | |
| 1112 | - console.log(res, 1000); | |
| 1113 | - if (res.data.code == 0 && res.data.data) { | |
| 1114 | - if (res.data.data.isuse != 1) { | |
| 1115 | - isok = 0; | |
| 1116 | - } | |
| 1117 | - //如果活动已经结束 | |
| 1118 | - if (res.data.data.is_end == 1) { | |
| 1119 | - isok = 0; | |
| 1120 | - } | |
| 1121 | - //已经结束 | |
| 1122 | - if (ut.gettimestamp() > res.data.data.end_time) { | |
| 1123 | - isok = 0; | |
| 1124 | - } | |
| 1125 | - //还未开始 | |
| 1126 | - if (ut.gettimestamp() < res.data.data.start_time) { | |
| 1127 | - isok = 0; | |
| 1128 | - } | |
| 1129 | - act = res.data.data; | |
| 1130 | - | |
| 1131 | - } else { | |
| 1132 | - //未找到商品的活动 | |
| 1133 | - isok = 0; | |
| 1134 | - } | |
| 1135 | - }) | |
| 1136 | - if (!isok) { | |
| 1137 | - item.prom_type = 0; | |
| 1138 | - item.prom_id = 0; | |
| 1139 | - } else { | |
| 1140 | - | |
| 1141 | - th.data.ladder_map[item.prom_id] = act; | |
| 1142 | - //-- 获取阶梯规则 -- | |
| 1143 | - var url1 = "/api/weshop/prom/ladderList/list"; | |
| 1144 | - var req_data = { | |
| 1145 | - store_id: os.stoid, | |
| 1146 | - form_id: item.prom_id, | |
| 1147 | - } | |
| 1148 | - await getApp().request.promiseGet(url1, { | |
| 1149 | - data: req_data | |
| 1150 | - }).then(rs1 => { | |
| 1151 | - if (rs1.data.code == 0 && rs1.data.data) { | |
| 1152 | - var gdlist = rs1.data.data; | |
| 1153 | - th.data.ladder_map[item.prom_id].ladder_list = gdlist; | |
| 1154 | - } | |
| 1155 | - }) | |
| 1156 | - } | |
| 1157 | - | |
| 1158 | - } | |
| 1159 | - //直接把活动赋值给元素 | |
| 1160 | - if (th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id] != -1) { | |
| 1161 | - item.act = th.data.ladder_map[item.prom_id]; | |
| 1162 | - | |
| 1163 | - //如果有活动,就更新商品的活动那个 | |
| 1164 | - var url = '/api/weshop/cart/update'; | |
| 1165 | - getApp().request.put(url, { | |
| 1166 | - data: { id: item.id, store_id: oo.stoid, prom_type: 10, prom_id: item.prom_id } | |
| 1167 | - }); | |
| 1168 | - | |
| 1169 | - } | |
| 1170 | - } | |
| 1171 | - | |
| 1172 | - } | |
| 1173 | 930 | |
| 1174 | 931 | all_num += item.goods_num; |
| 1175 | 932 | item.original_img = oo.imghost + item.original_img; |
| ... | ... | @@ -1177,26 +934,9 @@ Page({ |
| 1177 | 934 | item.erpwareid = good.erpwareid; //要同步下线商品的id |
| 1178 | 935 | item.shop_price = good.shop_price; //要同步下线商品的id |
| 1179 | 936 | |
| 1180 | - //当商品要计算等级价的售 | |
| 1181 | - if (item.prom_type == 0 || item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7) { | |
| 1182 | - if (th.data.card_field && good[th.data.card_field]) { | |
| 1183 | - item.goods_price = good[th.data.card_field]; //要同步下线商品的id | |
| 1184 | - } else { | |
| 1185 | - item.goods_price = good.shop_price; | |
| 1186 | - } | |
| 1187 | - | |
| 1188 | - var t = { | |
| 1189 | - id: item.id, | |
| 1190 | - store_id: os.stoid, | |
| 1191 | - user_id: getApp().globalData.userInfo.user_id, | |
| 1192 | - goods_price: item.goods_price | |
| 1193 | - } | |
| 1194 | - getApp().request.put("/api/weshop/cart/update", { | |
| 1195 | - isShowLoading: 0, | |
| 1196 | - data: t, | |
| 1197 | - }) | |
| 1198 | - | |
| 1199 | - } | |
| 937 | + //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 -- | |
| 938 | + if(item.prom_type==0) | |
| 939 | + th.buy_pro_group(item,0); | |
| 1200 | 940 | |
| 1201 | 941 | var pcid = item.pick_id; |
| 1202 | 942 | var find = 0; |
| ... | ... | @@ -1251,21 +991,6 @@ Page({ |
| 1251 | 991 | } |
| 1252 | 992 | } |
| 1253 | 993 | } |
| 1254 | - | |
| 1255 | - for (let u1 in arr) { | |
| 1256 | - var u_item = arr[u1]; | |
| 1257 | - //把组合购进行分组 | |
| 1258 | - var obj = zh_calc.find_split(u_item); | |
| 1259 | - if (!obj) continue; | |
| 1260 | - //存储不同活动的商品列表 | |
| 1261 | - u_item.zh_prom_goods = {}; | |
| 1262 | - for (let var1 in obj) { | |
| 1263 | - var h_item = obj[var1]; | |
| 1264 | - var gdlist = th.data.zuhe_map_good[h_item.prom_id]; | |
| 1265 | - //获取活动需要的商品列表 | |
| 1266 | - u_item.zh_prom_goods[h_item.prom_id] = gdlist; | |
| 1267 | - } | |
| 1268 | - } | |
| 1269 | 994 | |
| 1270 | 995 | th.setData({ |
| 1271 | 996 | requestData: arr, |
| ... | ... | @@ -2157,12 +1882,6 @@ Page({ |
| 2157 | 1882 | |
| 2158 | 1883 | } |
| 2159 | 1884 | |
| 2160 | - | |
| 2161 | - | |
| 2162 | - e.setData({ | |
| 2163 | - [txt]: Number(!a.selected), | |
| 2164 | - }); | |
| 2165 | - | |
| 2166 | 1885 | if (a.prom_type == 3) { |
| 2167 | 1886 | e.data.duo_zp_num_arr = {}; |
| 2168 | 1887 | if (!a.selected) { |
| ... | ... | @@ -2174,6 +1893,11 @@ Page({ |
| 2174 | 1893 | await e.check_prom_activity(i); |
| 2175 | 1894 | } |
| 2176 | 1895 | } |
| 1896 | + | |
| 1897 | + e.setData({ | |
| 1898 | + [txt]: Number(!a.selected), | |
| 1899 | + }); | |
| 1900 | + | |
| 2177 | 1901 | this.doCheckAll(); |
| 2178 | 1902 | } |
| 2179 | 1903 | }, |
| ... | ... | @@ -2265,7 +1989,7 @@ Page({ |
| 2265 | 1989 | }, |
| 2266 | 1990 | |
| 2267 | 1991 | //----------检查是否全选--------- |
| 2268 | - doCheckAll: function () { | |
| 1992 | + doCheckAll:async function () { | |
| 2269 | 1993 | var th = this, |
| 2270 | 1994 | tfeel = 0, |
| 2271 | 1995 | t_num = 0, |
| ... | ... | @@ -2274,11 +1998,19 @@ Page({ |
| 2274 | 1998 | car2 = this.data.service_data, |
| 2275 | 1999 | all_num = 0; |
| 2276 | 2000 | |
| 2001 | + | |
| 2002 | + th.data.zuhe_map={}; | |
| 2003 | + th.data.zuhe_map_good={}; | |
| 2004 | + | |
| 2277 | 2005 | //-- 购物车 -- |
| 2278 | 2006 | if (car && car.length > 0) { |
| 2279 | 2007 | th.data.in_zhact_gdmap = {}; |
| 2280 | 2008 | for (var a = 0; a < car.length; a++) { |
| 2009 | + | |
| 2281 | 2010 | var item = car[a].goods, is_s_sele = 1; |
| 2011 | + //-- 先批量判断一下活动的类型,同时要同步跟新 -- | |
| 2012 | + await th.cart_cx_group(item,a); | |
| 2013 | + | |
| 2282 | 2014 | var offline_price = 0; |
| 2283 | 2015 | var offline_num = 0; |
| 2284 | 2016 | for (var c = 0; c < item.length; c++) { |
| ... | ... | @@ -2405,6 +2137,7 @@ Page({ |
| 2405 | 2137 | }); |
| 2406 | 2138 | }, |
| 2407 | 2139 | |
| 2140 | + | |
| 2408 | 2141 | //----------------------更新购物数量,加减,调用接口--------------------- |
| 2409 | 2142 | postCardList: function (t, item, pitem) { |
| 2410 | 2143 | var e = this, |
| ... | ... | @@ -4561,6 +4294,110 @@ Page({ |
| 4561 | 4294 | icon: 'none', |
| 4562 | 4295 | duration: 2000 |
| 4563 | 4296 | }); |
| 4297 | + }, | |
| 4298 | + | |
| 4299 | + | |
| 4300 | + //-- 判读一下促销分组的问题 -- | |
| 4301 | + async cart_cx_group(goods,index){ | |
| 4302 | + var th=this; | |
| 4303 | + //-- 促销活动对象表 --- | |
| 4304 | + var cx_act_map=[]; | |
| 4305 | + for(var i=0; i<goods.length;i++){ | |
| 4306 | + var c_item=goods[i]; | |
| 4307 | + //没有选中 | |
| 4308 | + if(!c_item.selected) continue; | |
| 4309 | + //如果是秒杀之类是商品 | |
| 4310 | + if([1,2,4,6,8,9].indexOf(c_item.prom_type)) continue; | |
| 4311 | + | |
| 4312 | + //-- 把活动进行规整 -- | |
| 4313 | + var more_cx=c_item.more_cx; | |
| 4314 | + for (var j=0;j<more_cx.length;j++){ | |
| 4315 | + var n_item=more_cx[j]; | |
| 4316 | + var key=n_item.prom_type+'-'+n_item.prom_id; | |
| 4317 | + var fd=cx_act_map.find(function (e){ | |
| 4318 | + return e.key==key; | |
| 4319 | + }) | |
| 4320 | + if(fd){ | |
| 4321 | + fd.goods.push(c_item); | |
| 4322 | + }else{ | |
| 4323 | + var p_item={key:key,prom_type:c_item.prom_type,prom_id:c_item.prom_id,goods:[],act:n_item}; | |
| 4324 | + p_item.goods.push(c_item); | |
| 4325 | + cx_act_map.push(p_item); | |
| 4326 | + } | |
| 4327 | + } | |
| 4328 | + goods[i].prom_type=0; | |
| 4329 | + goods[i].prom_id=0; | |
| 4330 | + } | |
| 4331 | + | |
| 4332 | + //-- 如果活动数量大于1个,那么活动就要排序一下,有商品种类数最多排再前面,降序进行排列 -- | |
| 4333 | + if(cx_act_map.length>1){ | |
| 4334 | + //门店分类要排序下 | |
| 4335 | + function compare() { | |
| 4336 | + return function (a, b) { | |
| 4337 | + var value1 = a.goods.length; | |
| 4338 | + var value2 = b.goods.length; | |
| 4339 | + return value2 - value1; | |
| 4340 | + } | |
| 4341 | + } | |
| 4342 | + cx_act_map.sort(compare); | |
| 4343 | + } | |
| 4344 | + //-- 能够进行最后计算的活动(包含切换) -- | |
| 4345 | + var can_calc_cx=[]; | |
| 4346 | + //-- 此时对数组的活动进行判断,看能不能达到购买数量的条件 -- | |
| 4347 | + for(var ii=0;ii<cx_act_map.length;ii++){ | |
| 4348 | + var item_act_map=cx_act_map[ii]; | |
| 4349 | + | |
| 4350 | + //如果活动有交集的时候,商品数量一样多(不是完全相同时,就是参与的商品有交集),就按照后台确定的活动顺序 | |
| 4351 | + //如果活动的商品一样(那就是多活动切换),优先计算的活动按照后台确定的活动顺序 | |
| 4352 | + //如果活动商品数量少的和 活动数量多的 有交集,那么数量少的不显示,也不计算 | |
| 4353 | + if(!th.check_ok_cx_pro(item_act_map,can_calc_cx)){ | |
| 4354 | + continue; | |
| 4355 | + } | |
| 4356 | + switch(item_act_map.prom_type){ | |
| 4357 | + case 3: | |
| 4358 | + var fir_act=item_act_map.act.fir_act; | |
| 4359 | + | |
| 4360 | + | |
| 4361 | + break | |
| 4362 | + case 7: | |
| 4363 | + //-- 活动列表 -- | |
| 4364 | + var zhact_gdlist=item_act_map.act.gdlist; | |
| 4365 | + var zh_goods=item_act_map.goods; | |
| 4366 | + | |
| 4367 | + for(var h=0;h<zh_goods.length;h++){ | |
| 4368 | + | |
| 4369 | + | |
| 4370 | + } | |
| 4371 | + | |
| 4372 | + //-- 放到map中 -- | |
| 4373 | + th.data.zuhe_map[item.prom_id] = act; | |
| 4374 | + th.data.zuhe_map_good[item.prom_id] = zhact_gdlist; | |
| 4375 | + | |
| 4376 | + var zh_pro0 = null; | |
| 4377 | + //-- 获取活动信息 -- | |
| 4378 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + getApp().globalData.user_id; | |
| 4379 | + await getApp().request.promiseGet(url, {}).then(rh => { | |
| 4380 | + zh_pro0 = res.data.data; | |
| 4381 | + }) | |
| 4382 | + if(!zh_pro0) break; | |
| 4383 | + //当满足组合的要求:总数要满足,起购数要满足 | |
| 4384 | + if(zh_calc.ch_zh_ok(zh_pro0,zhact_gdlist,zh_goods,th)){ | |
| 4385 | + can_calc_cx.push(item_act_map) | |
| 4386 | + } | |
| 4387 | + break; | |
| 4388 | + default: | |
| 4389 | + can_calc_cx.push(item_act_map); | |
| 4390 | + } | |
| 4391 | + | |
| 4392 | + } | |
| 4393 | + | |
| 4394 | + if(can_calc_cx.length){ | |
| 4395 | + | |
| 4396 | + } | |
| 4397 | + | |
| 4398 | + th.setData({can_calc_cx}) | |
| 4564 | 4399 | } |
| 4565 | 4400 | |
| 4401 | + | |
| 4402 | + | |
| 4566 | 4403 | }); |
| 4567 | 4404 | \ No newline at end of file | ... | ... |
pages/cart/cart/zh_calculate.js
| ... | ... | @@ -519,7 +519,89 @@ module.exports = { |
| 519 | 519 | } |
| 520 | 520 | } |
| 521 | 521 | return zhqty_bz_flag; |
| 522 | - } | |
| 522 | + }, | |
| 523 | + | |
| 524 | + //-- 判断组合购有没有满足 --- | |
| 525 | + ch_zh_ok(act,gdlist,c_goods,th){ | |
| 526 | + //-- 寻找一下 -- | |
| 527 | + function get_num(ite) { | |
| 528 | + for (let v1 in c_goods) { | |
| 529 | + var vh = c_goods[v1]; | |
| 530 | + if (vh.goods_id == ite.goods_id) { | |
| 531 | + return vh; | |
| 532 | + } | |
| 533 | + } | |
| 534 | + return 0; | |
| 535 | + } | |
| 536 | + var goods =gdlist; | |
| 537 | + for (var i in goods) { | |
| 538 | + var item = goods[i]; | |
| 539 | + var cart_num = get_num(item).goods_num; | |
| 540 | + var zh_b_num = get_num2(item).zh_b_num; | |
| 541 | + if (!cart_num) { | |
| 542 | + if (item.zhqty) { | |
| 543 | + need_to_buy += item.zhqty; | |
| 544 | + } | |
| 545 | + continue; | |
| 546 | + } | |
| 547 | + | |
| 548 | + item.cart_num = cart_num; | |
| 549 | + //-- 当商品有购买的时候,以及有限购的时候 -- | |
| 550 | + if (item.buyqty > 0) { | |
| 551 | + var cbuy = item.buyqty - zh_b_num; | |
| 552 | + var key = item.goods_id + "" + act.id; | |
| 553 | + if (th.data.in_zhact_gdmap_gp[key]) { | |
| 554 | + var cbuy = item.buyqty - zh_b_num - th.data.in_zhact_gdmap_gp[key]; | |
| 555 | + } | |
| 556 | + //当可买的数量为0 | |
| 557 | + if (cbuy <= 0) { | |
| 558 | + item.num = 0; | |
| 559 | + } else { | |
| 560 | + if (cbuy >= cart_num) item.num = cart_num; | |
| 561 | + else { | |
| 562 | + item.num = cbuy; | |
| 563 | + } | |
| 564 | + } | |
| 565 | + } else { | |
| 566 | + item.num = cart_num; | |
| 567 | + } | |
| 568 | + | |
| 569 | + if (item.num) { | |
| 570 | + all_num += item.num; | |
| 571 | + //当有起购数的控制的时候 | |
| 572 | + if (item.zhqty) { | |
| 573 | + if (item.num < item.zhqty) { | |
| 574 | + need_to_buy += item.zhqty - item.num; | |
| 575 | + } | |
| 576 | + } | |
| 577 | + } else { | |
| 578 | + if (item.zhqty) { | |
| 579 | + need_to_buy += item.zhqty; | |
| 580 | + } | |
| 581 | + } | |
| 582 | + } | |
| 583 | + | |
| 584 | + //当满足组合的要求:总数要满足,起购数要满足 | |
| 585 | + if (all_num >= act.zhbuyqty && !need_to_buy) { | |
| 586 | + //商品的列表 | |
| 587 | + for (var u in goods) { | |
| 588 | + var ite = goods[u]; | |
| 589 | + if (ite.buyqty > 0 && ite.num > 0) { | |
| 590 | + console.log(222, th.data.in_zhact_gdmap_gp); | |
| 591 | + var key = ite.goods_id + "" + act.id; | |
| 592 | + if (th.data.in_zhact_gdmap_gp[key]) { | |
| 593 | + th.data.in_zhact_gdmap_gp[key] += ite.num; | |
| 594 | + } else { | |
| 595 | + th.data.in_zhact_gdmap_gp[key] = ite.num; | |
| 596 | + } | |
| 597 | + } | |
| 598 | + } | |
| 599 | + return true; | |
| 600 | + } | |
| 601 | + return false; | |
| 602 | + } | |
| 603 | + | |
| 604 | + | |
| 523 | 605 | |
| 524 | 606 | |
| 525 | 607 | } |
| 526 | 608 | \ No newline at end of file | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
| ... | ... | @@ -293,7 +293,6 @@ Page({ |
| 293 | 293 | |
| 294 | 294 | |
| 295 | 295 | self = this; |
| 296 | - | |
| 297 | 296 | //检查测肤 |
| 298 | 297 | getApp().check_skin_face(t, 0, gid); |
| 299 | 298 | |
| ... | ... | @@ -1544,6 +1543,7 @@ Page({ |
| 1544 | 1543 | }) |
| 1545 | 1544 | // return userbuynum |
| 1546 | 1545 | }, |
| 1546 | + | |
| 1547 | 1547 | //优惠促销用户参与次数 |
| 1548 | 1548 | async getUserBuyPromNum_pre(prom_id){ |
| 1549 | 1549 | var user_id=0 |
| ... | ... | @@ -6978,6 +6978,7 @@ Page({ |
| 6978 | 6978 | } |
| 6979 | 6979 | } |
| 6980 | 6980 | }, |
| 6981 | + | |
| 6981 | 6982 | //-----显示优惠券的时候情况----- |
| 6982 | 6983 | show_more_cx: function () { |
| 6983 | 6984 | if (this.data.is_more_cx) { |
| ... | ... | @@ -7230,7 +7231,7 @@ Page({ |
| 7230 | 7231 | }) |
| 7231 | 7232 | }, |
| 7232 | 7233 | |
| 7233 | - //-- 获取默认的促销活动的默认活动 -- | |
| 7234 | + //--- 获取默认的促销活动的默认活动 --- | |
| 7234 | 7235 | check_prom_custom(ind) { |
| 7235 | 7236 | if(ind){ |
| 7236 | 7237 | if (!this.data.cx_prom_group.length) return 0; | ... | ... |