Commit 11466af4912387d6d114f9bd9333db9279f37803
1 parent
93cd196b
多促销的优化
Showing
3 changed files
with
119 additions
and
13 deletions
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -705,7 +705,7 @@ Page({ |
705 | 705 | } |
706 | 706 | |
707 | 707 | //使用sort排序 |
708 | - prom_list.sort(comp(sort_type)); | |
708 | + prom_list.sort(comp); | |
709 | 709 | }, |
710 | 710 | |
711 | 711 | //-----真的获取购物车,入口-------- |
... | ... | @@ -1799,6 +1799,7 @@ Page({ |
1799 | 1799 | async buy_pro_group(item1, is_state) { |
1800 | 1800 | //-- 代发商品不参与任何活动 -- |
1801 | 1801 | if(item1.whsle_id) return false; |
1802 | + var th=this; | |
1802 | 1803 | var url = '/api/weshop/activitylist/listGoodActInfo2New'; |
1803 | 1804 | var user_id = getApp().globalData.user_id; |
1804 | 1805 | var zh_id = 0; |
... | ... | @@ -1828,7 +1829,27 @@ Page({ |
1828 | 1829 | //-- 如果有组合购的时候,同时还要判断单件商品的购买数量有没有满足组合购的条件 -- |
1829 | 1830 | if (zh_id) { |
1830 | 1831 | var is_zh_ok = 1; |
1831 | - | |
1832 | + var zh_pro0 = null; | |
1833 | + //-- 获取活动信息 -- | |
1834 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + user_id; | |
1835 | + await getApp().request.promiseGet(url, {}).then(res => { | |
1836 | + if (res.data.code == 0 && res.data.data) { | |
1837 | + //如果活动已经结束 | |
1838 | + if (res.data.data.is_end == 1) { | |
1839 | + is_zh_ok = 0; | |
1840 | + } | |
1841 | + if (ut.gettimestamp() > res.data.data.end_time) { | |
1842 | + is_zh_ok = 0; | |
1843 | + } | |
1844 | + zh_pro0 = res.data.data; | |
1845 | + //--- 在这里要判断一下活动的组合购总数量 --- | |
1846 | + if (zh_pro0.zh_num > 0 && zh_pro0.zh_buy_num >= zh_pro0.zh_num) { | |
1847 | + is_zh_ok = 0; | |
1848 | + } | |
1849 | + } else { | |
1850 | + is_zh_ok = 0; | |
1851 | + } | |
1852 | + }) | |
1832 | 1853 | |
1833 | 1854 | //--- 首先组合购的限购 --- |
1834 | 1855 | if(is_zh_ok){ |
... | ... | @@ -1849,6 +1870,10 @@ Page({ |
1849 | 1870 | |
1850 | 1871 | //-- 如果满足条件,才会显示活动 -- |
1851 | 1872 | if (is_zh_ok) { |
1873 | + | |
1874 | + //-- 组合的数组填充一下 -- | |
1875 | + th.data.zuhe_map[zh_pro0.id] = zh_pro0; | |
1876 | + | |
1852 | 1877 | var url1 = "/api/weshop/prom/zhbuyGoods/page"; |
1853 | 1878 | var req_data = { |
1854 | 1879 | page: 1, pageSize: 2000, |
... | ... | @@ -1865,7 +1890,7 @@ Page({ |
1865 | 1890 | }) |
1866 | 1891 | |
1867 | 1892 | var zh_gd_fd = gdlist.find(function (e) { |
1868 | - return e.goods_id == item.goods_id; | |
1893 | + return e.goods_id == item1.goods_id; | |
1869 | 1894 | }) |
1870 | 1895 | |
1871 | 1896 | if (is_zh_ok) { |
... | ... | @@ -1903,7 +1928,7 @@ Page({ |
1903 | 1928 | if (is_state == 1) { |
1904 | 1929 | //-- 看有没有必买商品不满足的时候 -- |
1905 | 1930 | var f_gd = gdlist.find(function (e) { |
1906 | - return e.zhqty > 0 && e.goods_id != item.goods_id; | |
1931 | + return e.zhqty > 0 && e.goods_id != item1.goods_id; | |
1907 | 1932 | }) |
1908 | 1933 | if (f_gd) { |
1909 | 1934 | is_zh_ok = 0; |
... | ... | @@ -1916,21 +1941,37 @@ Page({ |
1916 | 1941 | //判断组合购活动是不是满足 |
1917 | 1942 | if(is_zh_ok){ |
1918 | 1943 | if(!item1.more_cx) item1.more_cx=[]; |
1919 | - item1.more_cx.push({prom_type:7,prom_id:zh_id,gdlist:gdlist}) | |
1944 | + var show_time=ut.formatTime(zh_pro0.start_time)+"至"+ ut.formatTime(zh_pro0.end_time); | |
1945 | + item1.more_cx.push({ | |
1946 | + prom_type:7,prom_id:zh_id,gdlist:gdlist, | |
1947 | + title: zh_pro0.name, | |
1948 | + show_time: show_time, | |
1949 | + id:zh_id | |
1950 | + }) | |
1920 | 1951 | } |
1921 | 1952 | } |
1922 | 1953 | } |
1954 | + | |
1923 | 1955 | } |
1924 | 1956 | |
1925 | 1957 | //调用接口判断优惠, |
1926 | 1958 | var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {}); |
1927 | 1959 | if(m_res && m_res.data.code == 0 && m_res.data.data){ |
1928 | 1960 | |
1929 | - var r_data = res.data.data; | |
1961 | + var r_data = m_res.data.data; | |
1930 | 1962 | //-- 如果是搭配购的时候 -- |
1931 | 1963 | if (r_data.collocationList) { |
1932 | 1964 | if(!item1.more_cx) item1.more_cx=[]; |
1933 | - item1.more_cx.push({prom_type:5,prom_id: r_data.collocationPromList.id}); | |
1965 | + | |
1966 | + var show_price= '¥'+r_data.collocationPromList.max+'-'+ r_data.collocationPromList.min; | |
1967 | + var show_time=ut.formatTime(r_data.collocationPromList.start_time)+"至"+ ut.formatTime(r_data.collocationPromList.end_time); | |
1968 | + | |
1969 | + item1.more_cx.push({ | |
1970 | + prom_type:5,prom_id: r_data.collocationPromList.id, | |
1971 | + title: r_data.collocationPromList.title, | |
1972 | + show_time: show_time, | |
1973 | + id:r_data.collocationPromList.id, | |
1974 | + }); | |
1934 | 1975 | } |
1935 | 1976 | //-- 如果是阶梯促销的时候 -- |
1936 | 1977 | if (r_data.ladderLists) { |
... | ... | @@ -1938,10 +1979,48 @@ Page({ |
1938 | 1979 | //-- 判断会员能不能参与阶梯促销 -- |
1939 | 1980 | await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { |
1940 | 1981 | if (res.data.code == 0 && res.data.data) { |
1982 | + th.data.ladder_map[act_id] = res.data.data; | |
1941 | 1983 | if(!item1.more_cx) item1.more_cx=[]; |
1942 | - item1.more_cx.push({prom_type:10,prom_id: act_id}); | |
1984 | + | |
1985 | + var prom_content = ""; | |
1986 | + | |
1987 | + for (let jj in r_data.ladderLists) { | |
1988 | + if (r_data.ladderLists[jj].discount == 10) { | |
1989 | + prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; | |
1990 | + } else { | |
1991 | + prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,"; | |
1992 | + } | |
1993 | + } | |
1994 | + prom_content = ut.sub_last(prom_content); | |
1995 | + | |
1996 | + var s_time=res.data.data.start_time; | |
1997 | + var e_time=res.data.data.end_time; | |
1998 | + | |
1999 | + item1.more_cx.push({ | |
2000 | + prom_type:10,prom_id: act_id, | |
2001 | + title: prom_content, | |
2002 | + show_time: ut.formatTime(s_time) + "至" + ut.formatTime(e_time), | |
2003 | + id:act_id | |
2004 | + }); | |
1943 | 2005 | } |
1944 | 2006 | }) |
2007 | + | |
2008 | + if(th.data.ladder_map[act_id]){ | |
2009 | + //-- 获取阶梯规则 -- | |
2010 | + var url1 = "/api/weshop/prom/ladderList/list"; | |
2011 | + var req_data0 = { | |
2012 | + store_id: os.stoid, | |
2013 | + form_id: act_id, | |
2014 | + } | |
2015 | + await getApp().request.promiseGet(url1, { | |
2016 | + data: req_data0 | |
2017 | + }).then(rs1 => { | |
2018 | + if (rs1.data.code == 0 && rs1.data.data) { | |
2019 | + var gdlist = rs1.data.data; | |
2020 | + th.data.ladder_map[act_id].ladder_list = gdlist; | |
2021 | + } | |
2022 | + }) | |
2023 | + } | |
1945 | 2024 | } |
1946 | 2025 | //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 |
1947 | 2026 | if (r_data.promGoodsLists) { |
... | ... | @@ -1957,7 +2036,33 @@ Page({ |
1957 | 2036 | //--- 这个地方是在计算优惠促销的限购 --- |
1958 | 2037 | if(!fir_act.limit_num || th.data.user_pre_buynum<fir_act.limit_num){ |
1959 | 2038 | |
1960 | - var push_item={prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act}; | |
2039 | + | |
2040 | + var more_arr = []; | |
2041 | + //减价 | |
2042 | + if (fir_act.money > 0) more_arr.push('减价'+fir_act.money+'元'); | |
2043 | + if (fir_act.sale > 0) more_arr.push('打'+fir_act.sale+'折'); | |
2044 | + if (fir_act.past ==1) more_arr.push('包邮'); | |
2045 | + if (fir_act.intValue > 0) more_arr.push('送'+fir_act.intValue+'积分'); | |
2046 | + if (fir_act.couponId > 0) more_arr.push('送'+fir_act.couponMoney+'元优惠券'); | |
2047 | + if (fir_act.gift_id) { | |
2048 | + var is_more_gf=fir_act.gift_id.split(',') | |
2049 | + if(is_more_gf.length>1){ | |
2050 | + more_arr.push('送赠品'); | |
2051 | + }else{ | |
2052 | + more_arr.push('送'+fir_act.goods_name+' x'+fir_act.zp_num); | |
2053 | + } | |
2054 | + } | |
2055 | + if (fir_act.lb_id) more_arr.push('送'+fir_act.lbtitle); | |
2056 | + if (fir_act.zxlb_id) more_arr.push('送'+fir_act.zxlbtitle); | |
2057 | + | |
2058 | + var push_item={ | |
2059 | + prom_type:3,prom_id: fir_act.prom_id,fir_act:fir_act, | |
2060 | + condition: fir_act.condition + (fir_act.prom_type == 1 ? '件' : '元'), | |
2061 | + limit: '每人' + (fir_act.limit_num ? '限参与' + fir_act.limit_num + '次' : '参与不限次'), | |
2062 | + more: more_arr, | |
2063 | + id:fir_act.prom_id | |
2064 | + }; | |
2065 | + | |
1961 | 2066 | //--- 如果是一件商品的时候,那么就要判断这个商品。同时商品的购买数量有没有满足 --- |
1962 | 2067 | if (is_state == 1) { |
1963 | 2068 | //-- 按件进行计算 -- |
... | ... | @@ -1967,7 +2072,7 @@ Page({ |
1967 | 2072 | } |
1968 | 2073 | }else{ |
1969 | 2074 | //-- 按数量进行计算 -- |
1970 | - var all_price = item.goods_price * item1.goods_num; | |
2075 | + var all_price = item1.goods_price * item1.goods_num; | |
1971 | 2076 | if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { |
1972 | 2077 | item1.more_cx.push(push_item); |
1973 | 2078 | } |
... | ... | @@ -1981,10 +2086,8 @@ Page({ |
1981 | 2086 | } |
1982 | 2087 | } |
1983 | 2088 | |
1984 | - | |
1985 | 2089 | }, |
1986 | 2090 | |
1987 | - | |
1988 | 2091 | //---------------检查是否有收货地址------------------- |
1989 | 2092 | checkAddressList: function () { |
1990 | 2093 | var t = this; | ... | ... |
packageE/pages/cart/cart2/cart2.wxml