|
|
@@ -1,8 +1,11 @@
|
|
1
|
1
|
package com.sharemao.app.service.impl;
|
|
2
|
2
|
|
|
|
3
|
+import java.text.DecimalFormat;
|
|
|
4
|
+import java.text.ParseException;
|
|
3
|
5
|
import java.text.SimpleDateFormat;
|
|
4
|
6
|
import java.time.LocalDate;
|
|
5
|
7
|
import java.time.format.DateTimeFormatter;
|
|
|
8
|
+import java.time.temporal.ChronoUnit;
|
|
6
|
9
|
import java.util.ArrayList;
|
|
7
|
10
|
import java.util.Date;
|
|
8
|
11
|
import java.util.HashMap;
|
|
|
@@ -1744,4 +1747,237 @@ public class PackageServiceImpl extends AppBaseService implements PackageService
|
|
1744
|
1747
|
return record;
|
|
1745
|
1748
|
}
|
|
1746
|
1749
|
|
|
|
1750
|
+ @Override
|
|
|
1751
|
+ public Map<String, Object> getCurUst(Map<String, String> para)
|
|
|
1752
|
+ {
|
|
|
1753
|
+ Map<String, Object> record = new HashMap<String, Object>();
|
|
|
1754
|
+ record.put("msg", "fail");
|
|
|
1755
|
+ int signRes = ProjectTools.devM3Sign(para); // 签名
|
|
|
1756
|
+ record.put("code", signRes);
|
|
|
1757
|
+// if (signRes != 0)
|
|
|
1758
|
+// return record;
|
|
|
1759
|
+
|
|
|
1760
|
+ String devid = para.get("devid");
|
|
|
1761
|
+ if (Tools.isEmpty(devid)) {
|
|
|
1762
|
+ record.put("code", 4);
|
|
|
1763
|
+ record.put("msg", "请求错误"); //缺少参数
|
|
|
1764
|
+ return record;
|
|
|
1765
|
+ }
|
|
|
1766
|
+
|
|
|
1767
|
+ String uusql = "SELECT ust.remain,pkvalue,ust.invalid,packid"
|
|
|
1768
|
+ + " FROM usersuit ust "
|
|
|
1769
|
+ + " WHERE ust.packid>1 and ust.devid = '"+devid+"' AND ust.invalid>"+DateTimeUtil.longtime()
|
|
|
1770
|
+ +" AND ust.effect<"+DateTimeUtil.longtime()
|
|
|
1771
|
+ + " ORDER BY ust.crttm desc ";
|
|
|
1772
|
+ logger.info(uusql);
|
|
|
1773
|
+ List<Map<String, Object>> pkgLst = baseDao.getMapList(uusql);
|
|
|
1774
|
+ record.put("total", "0G");
|
|
|
1775
|
+ record.put("usevalue", "0G");
|
|
|
1776
|
+ record.put("remainvalue", "0G");
|
|
|
1777
|
+ record.put("day", 0);
|
|
|
1778
|
+ if (pkgLst!=null && !pkgLst.isEmpty()) {
|
|
|
1779
|
+ try {
|
|
|
1780
|
+ Map<String, Object> map = pkgLst.get(0);
|
|
|
1781
|
+ String invalid = String.valueOf(map.get("invalid"));
|
|
|
1782
|
+ String remain = String.valueOf(map.get("remain"));
|
|
|
1783
|
+ String pkvalue = String.valueOf(map.get("pkvalue"));
|
|
|
1784
|
+ String packid = String.valueOf(map.get("packid"));
|
|
|
1785
|
+ if (Tools.isEmpty(pkvalue)) {
|
|
|
1786
|
+ String psql="select from package where id="+packid;
|
|
|
1787
|
+ List<Map<String, Object>> pkgLst2 = baseDao.getMapList(psql);
|
|
|
1788
|
+ pkvalue=String.valueOf(pkgLst2.get(0).get("pkvalue"));
|
|
|
1789
|
+ }
|
|
|
1790
|
+ long total = (long) (Double.parseDouble(pkvalue) / 1024);
|
|
|
1791
|
+ long remainvalue = (long) (Double.parseDouble(remain) / 1024);
|
|
|
1792
|
+ if (remainvalue<=0){
|
|
|
1793
|
+ record.put("show", "buyPkg");
|
|
|
1794
|
+ }
|
|
|
1795
|
+ long usevalue = total-remainvalue;
|
|
|
1796
|
+ record.put("total", total +"G");
|
|
|
1797
|
+ record.put("usevalue", usevalue +"G");
|
|
|
1798
|
+ record.put("remainvalue", remainvalue +"G");
|
|
|
1799
|
+ LocalDate now = LocalDate.now();
|
|
|
1800
|
+ LocalDate invalidDate = LocalDate.parse(invalid, DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
|
|
|
1801
|
+ long day = ChronoUnit.DAYS.between(now, invalidDate);
|
|
|
1802
|
+ record.put("day", day);
|
|
|
1803
|
+ } catch (NumberFormatException e) {
|
|
|
1804
|
+ Tools.getExceptionMessage(e);
|
|
|
1805
|
+ }
|
|
|
1806
|
+ } else {
|
|
|
1807
|
+ record.put("show", "buyPkg");
|
|
|
1808
|
+ }
|
|
|
1809
|
+
|
|
|
1810
|
+ record.put("msg", "OK");
|
|
|
1811
|
+ return record;
|
|
|
1812
|
+ }
|
|
|
1813
|
+
|
|
|
1814
|
+ @Override
|
|
|
1815
|
+ public Map<String, Object> getMyUst(Map<String, String> para)
|
|
|
1816
|
+ {
|
|
|
1817
|
+ Map<String, Object> record = new HashMap<String, Object>();
|
|
|
1818
|
+ record.put("msg", "fail");
|
|
|
1819
|
+ int signRes = ProjectTools.devM3Sign(para); // 签名
|
|
|
1820
|
+ record.put("code", signRes);
|
|
|
1821
|
+// if (signRes != 0)
|
|
|
1822
|
+// return record;
|
|
|
1823
|
+
|
|
|
1824
|
+ String devid = para.get("devid");
|
|
|
1825
|
+ if (Tools.isEmpty(devid)) {
|
|
|
1826
|
+ record.put("code", 4);
|
|
|
1827
|
+ record.put("msg", "请求错误"); //缺少参数
|
|
|
1828
|
+ return record;
|
|
|
1829
|
+ }
|
|
|
1830
|
+
|
|
|
1831
|
+ String uusql = "SELECT ust.effect,ust.invalid,pkg.pkname"
|
|
|
1832
|
+ + " FROM usersuit ust left join packageview pkg on ust.packid=pkg.pkid"
|
|
|
1833
|
+ + " WHERE ust.packid>1 and ust.devid = '"+devid+"'"
|
|
|
1834
|
+ + " ORDER BY ust.invalid ";
|
|
|
1835
|
+ logger.info(uusql);
|
|
|
1836
|
+ List<Map<String, Object>> pkgLst = baseDao.getMapList(uusql);
|
|
|
1837
|
+ if (pkgLst==null){
|
|
|
1838
|
+ pkgLst= new ArrayList<Map<String, Object>>();
|
|
|
1839
|
+ }
|
|
|
1840
|
+ for (Map<String, Object> map : pkgLst) {
|
|
|
1841
|
+ map.put("effectDate", ProjectTools.timeInt2Date(String.valueOf(map.get("effect"))));
|
|
|
1842
|
+ map.put("invalidDate", ProjectTools.timeInt2Date(String.valueOf(map.get("invalid"))));
|
|
|
1843
|
+ }
|
|
|
1844
|
+ record.put("msg", "OK");
|
|
|
1845
|
+ record.put("pkgs", pkgLst);
|
|
|
1846
|
+ return record;
|
|
|
1847
|
+ }
|
|
|
1848
|
+
|
|
|
1849
|
+ @Override
|
|
|
1850
|
+ public Map<String, Object> getPkgsByDevid3(Map<String, String> para) {
|
|
|
1851
|
+
|
|
|
1852
|
+ Map<String, Object> record = new HashMap<String, Object>();
|
|
|
1853
|
+ record.put("msg", "fail");
|
|
|
1854
|
+ int signRes = ProjectTools.devM3Sign(para); // 认证
|
|
|
1855
|
+ record.put("code", signRes); // 写入认证返回值
|
|
|
1856
|
+// if (signRes > 0)
|
|
|
1857
|
+// result.add(record);
|
|
|
1858
|
+// else
|
|
|
1859
|
+ {
|
|
|
1860
|
+ String areaid = para.get("areaid");
|
|
|
1861
|
+ String orgid = para.get("oid");
|
|
|
1862
|
+ String devid = para.get("devid");
|
|
|
1863
|
+ if(Tools.isEmpty(devid) || "null".equals(devid))
|
|
|
1864
|
+ {
|
|
|
1865
|
+ record.put("code", 9);
|
|
|
1866
|
+ record.put("msg", "设备编号不能为空");
|
|
|
1867
|
+ return record;
|
|
|
1868
|
+ }
|
|
|
1869
|
+// String devgrpid=getDevGrpId(devid);
|
|
|
1870
|
+
|
|
|
1871
|
+ if(Tools.isEmpty(areaid))
|
|
|
1872
|
+ areaid="100000";
|
|
|
1873
|
+
|
|
|
1874
|
+// int packType=getPKTypeByDevid(devid,devgrpid);
|
|
|
1875
|
+ int packType=getDevTypeId(devid);
|
|
|
1876
|
+
|
|
|
1877
|
+ String sql = "SELECT pkv.pkid AS id,pkg.pkgValue, pkv.pkname AS pkgName, pkv.pkgDesc, pkv.price,pkv.reorder,pkg.`invalidtime` AS expiryDay,pkg.img,pkv.protext,pkv.title,pkv.color,pkv.paytype "
|
|
|
1878
|
+ + " FROM packageview pkv LEFT JOIN package pkg ON pkv.`pkid` = pkg.`id` WHERE pktype=16 AND pkv.issale=1 AND pkv.orgid= "+ orgid;
|
|
|
1879
|
+
|
|
|
1880
|
+ sql += " ORDER BY pkv.reorder ASC";
|
|
|
1881
|
+ logger.info(sql);
|
|
|
1882
|
+ List<Map<String, Object>> pkgLst = baseDao.getMapList(sql);
|
|
|
1883
|
+ for (Map<String, Object> map : pkgLst) {
|
|
|
1884
|
+ DecimalFormat df = new DecimalFormat("#.##");
|
|
|
1885
|
+ map.put("price", df.format(Double.parseDouble(String.valueOf(map.get("price")))/1000));
|
|
|
1886
|
+ map.put("ts", CodecUtil.str2md5("zengnz"+map.get("price").toString()));
|
|
|
1887
|
+ String expiryDay = String.valueOf(map.get("expiryDay"));
|
|
|
1888
|
+ String expiryDayStr = "";
|
|
|
1889
|
+ String invalidDay = "";
|
|
|
1890
|
+ Date nowDate = new Date();
|
|
|
1891
|
+ switch (expiryDay) {
|
|
|
1892
|
+ case "0":
|
|
|
1893
|
+ expiryDayStr= "1 天";
|
|
|
1894
|
+ nowDate = DateTimeUtil.addDay(nowDate, 1);
|
|
|
1895
|
+ break;
|
|
|
1896
|
+ case "1":
|
|
|
1897
|
+ expiryDayStr= "30 天";
|
|
|
1898
|
+ nowDate = ProjectTools.addMonth(nowDate, 1);
|
|
|
1899
|
+ break;
|
|
|
1900
|
+ case "2":
|
|
|
1901
|
+ expiryDayStr= "90 天";
|
|
|
1902
|
+ nowDate = ProjectTools.addMonth(nowDate, 3);
|
|
|
1903
|
+ break;
|
|
|
1904
|
+ case "3":
|
|
|
1905
|
+ expiryDayStr= "半年";
|
|
|
1906
|
+ nowDate = ProjectTools.addMonth(nowDate, 6);
|
|
|
1907
|
+ break;
|
|
|
1908
|
+ case "4":
|
|
|
1909
|
+ expiryDayStr= "1 年";
|
|
|
1910
|
+ nowDate = ProjectTools.addMonth(nowDate, 12);
|
|
|
1911
|
+ break;
|
|
|
1912
|
+ case "5":
|
|
|
1913
|
+ expiryDayStr= "两年";
|
|
|
1914
|
+ nowDate = ProjectTools.addMonth(nowDate, 24);
|
|
|
1915
|
+ break;
|
|
|
1916
|
+ case "6":
|
|
|
1917
|
+ expiryDayStr= "7 天";
|
|
|
1918
|
+ nowDate = DateTimeUtil.addDay(nowDate, 7);
|
|
|
1919
|
+ break;
|
|
|
1920
|
+ case "7":
|
|
|
1921
|
+ expiryDayStr= "3 年";
|
|
|
1922
|
+ nowDate = ProjectTools.addMonth(nowDate, 36);
|
|
|
1923
|
+ break;
|
|
|
1924
|
+ case "8":
|
|
|
1925
|
+ expiryDayStr= "3 天";
|
|
|
1926
|
+ nowDate = DateTimeUtil.addDay(nowDate, 3);
|
|
|
1927
|
+ break;
|
|
|
1928
|
+ case "9":
|
|
|
1929
|
+ expiryDayStr= "两天";
|
|
|
1930
|
+ nowDate = DateTimeUtil.addDay(nowDate, 2);
|
|
|
1931
|
+ break;
|
|
|
1932
|
+ case "11":
|
|
|
1933
|
+ expiryDayStr= "7 个月";
|
|
|
1934
|
+ nowDate = ProjectTools.addMonth(nowDate, 7);
|
|
|
1935
|
+ break;
|
|
|
1936
|
+ case "12":
|
|
|
1937
|
+ expiryDayStr= "14 个月";
|
|
|
1938
|
+ nowDate = ProjectTools.addMonth(nowDate, 14);
|
|
|
1939
|
+ break;
|
|
|
1940
|
+ case "18":
|
|
|
1941
|
+ expiryDayStr= "15 个月";
|
|
|
1942
|
+ nowDate = ProjectTools.addMonth(nowDate, 15);
|
|
|
1943
|
+ break;
|
|
|
1944
|
+ case "19":
|
|
|
1945
|
+ expiryDayStr= "18 个月";
|
|
|
1946
|
+ nowDate = ProjectTools.addMonth(nowDate, 18);
|
|
|
1947
|
+ break;
|
|
|
1948
|
+ case "13":
|
|
|
1949
|
+ expiryDayStr= "两年半";
|
|
|
1950
|
+ nowDate = ProjectTools.addMonth(nowDate, 28);
|
|
|
1951
|
+ break;
|
|
|
1952
|
+ case "14":
|
|
|
1953
|
+ expiryDayStr= "3 年 8 个月";
|
|
|
1954
|
+ nowDate = ProjectTools.addMonth(nowDate, 44);
|
|
|
1955
|
+ break;
|
|
|
1956
|
+ case "15":
|
|
|
1957
|
+ expiryDayStr= "4 年";
|
|
|
1958
|
+ nowDate = ProjectTools.addMonth(nowDate, 48);
|
|
|
1959
|
+ break;
|
|
|
1960
|
+ case "16":
|
|
|
1961
|
+ expiryDayStr= "5 年";
|
|
|
1962
|
+ nowDate = ProjectTools.addMonth(nowDate, 60);
|
|
|
1963
|
+ break;
|
|
|
1964
|
+ case "17":
|
|
|
1965
|
+ expiryDayStr= "6 年";
|
|
|
1966
|
+ nowDate = ProjectTools.addMonth(nowDate, 72);
|
|
|
1967
|
+ break;
|
|
|
1968
|
+ }
|
|
|
1969
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
1970
|
+ invalidDay = sdf.format(nowDate);
|
|
|
1971
|
+ map.put("expiryDay", expiryDayStr);
|
|
|
1972
|
+ map.put("invalidDay", invalidDay);
|
|
|
1973
|
+ String pkvalStr=String.valueOf(df.format(Double.parseDouble(String.valueOf(map.get("pkgValue")))/1024));
|
|
|
1974
|
+ map.put("pkgValue", pkvalStr);
|
|
|
1975
|
+ }
|
|
|
1976
|
+
|
|
|
1977
|
+ record.put("msg", "OK");
|
|
|
1978
|
+ record.put("list", pkgLst);
|
|
|
1979
|
+
|
|
|
1980
|
+ }
|
|
|
1981
|
+ return record;
|
|
|
1982
|
+ }
|
|
1747
|
1983
|
}
|