IndexController.java 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  1. package com.szwl.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  6. import com.szwl.model.bean.CommonParamVo;
  7. import com.szwl.model.bean.EquipmentDTO;
  8. import com.szwl.model.bean.EquipmentVo;
  9. import com.szwl.model.bean.ProductVo;
  10. import com.szwl.model.bo.JsonMessage;
  11. import com.szwl.model.bo.JsonUtils;
  12. import com.szwl.model.entity.*;
  13. import com.szwl.model.utils.AdminUtils;
  14. import com.szwl.model.utils.PushUtils;
  15. import com.szwl.service.*;
  16. import com.szwl.service.es.EsTEquipmentService;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.apache.commons.io.IOUtils;
  20. import org.apache.commons.lang.StringUtils;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.servlet.http.HttpServletRequest;
  25. import javax.servlet.http.HttpServletResponse;
  26. import java.io.*;
  27. import java.math.BigDecimal;
  28. import java.util.*;
  29. @Api(value = "/api/app_equipment/index", tags = {"设备信息上传接口"})
  30. @RestController
  31. @RequestMapping("/api/app_equipment/index")
  32. public class IndexController { ;
  33. @Autowired
  34. TAdminService adminService;
  35. @Autowired
  36. TEquipmentService equipmentService;
  37. @Autowired
  38. TEquipmentApplyService equipmentApplyService;
  39. @Autowired
  40. TProductService productService;
  41. @Autowired
  42. TEquipmentDescService equipmentDescService;
  43. @Autowired
  44. EsTEquipmentService esTEquipmentService;
  45. @Autowired
  46. TParametersService parametersService;
  47. @ApiOperation(value = "心跳")
  48. @PostMapping("/heart.htm")
  49. public JsonMessage heart(@RequestBody EquipmentVo equipmentVo) {
  50. String clientId = equipmentVo.getClientId();
  51. Date lastUpdateTime = equipmentVo.getLastUpdateTime();
  52. Double longitude = equipmentVo.getLongitude();
  53. Double latitude = equipmentVo.getLatitude();
  54. String cabinetHd = equipmentVo.getCabinetHd();
  55. String cabinetTm = equipmentVo.getCabinetTm();
  56. String furnaceSp = equipmentVo.getFurnaceSp();
  57. String furnaceTm = equipmentVo.getFurnaceTm();
  58. String gtClientId = equipmentVo.getGtClientId();
  59. String volume = equipmentVo.getVolume();
  60. Integer eqeStatus = equipmentVo.getEqeStatus();
  61. Boolean is_sleep = equipmentVo.getIs_sleep();
  62. String netWorkingMode = equipmentVo.getNetWorkingMode();
  63. //有记录,则进行修改
  64. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  65. query.eq(TEquipment::getClientId,clientId);
  66. List<TEquipment> list = equipmentService.list(query);
  67. TEquipment _new = list.get(0);
  68. // Equipment _new = equipmentService.findByClientId(clientId);
  69. if (_new != null) {
  70. _new.setNetWorkingMode(netWorkingMode);
  71. if(StringUtils.isNotEmpty(cabinetTm)){
  72. _new.setCabinetTm(cabinetTm);
  73. }
  74. if(StringUtils.isNotEmpty(cabinetHd)){
  75. _new.setCabinetHd(cabinetHd);
  76. }
  77. if(StringUtils.isNotEmpty(furnaceSp)){
  78. _new.setFurnaceSp(furnaceSp);
  79. }
  80. if(StringUtils.isNotEmpty(furnaceTm)){
  81. _new.setFurnaceTm(furnaceTm);
  82. }
  83. _new.setLastUpdateTime(lastUpdateTime);
  84. // _new.setLongitude(longitude);
  85. if(eqeStatus!=null){
  86. _new.setEqeStatus(eqeStatus);
  87. }
  88. if(is_sleep!=null){
  89. _new.setIsSleep(is_sleep);
  90. }
  91. if(!StringUtils.isEmpty(furnaceTm)){
  92. int fur = Integer.parseInt(furnaceTm);
  93. if(_new.getEqeStatus()==0&&fur>150){
  94. _new.setEqeStatus(1);
  95. }
  96. if(_new.getEqeStatus()==null&&fur>150){
  97. _new.setEqeStatus(1);
  98. }
  99. }
  100. if(!StringUtils.isEmpty(volume)){
  101. _new.setVolume(volume);
  102. }
  103. // _new.setLatitude(latitude);
  104. _new.setGtClientId(gtClientId);
  105. _new.setModifyDate(new Date());
  106. equipmentService.updateById(_new);
  107. return JsonMessage.success("心跳成功");
  108. }
  109. return JsonMessage.error("心跳失败");
  110. }
  111. /**
  112. * 设备申请
  113. *
  114. * @param clientId 个推
  115. * @param managerId 管理系统id
  116. * @return
  117. */
  118. @ApiOperation(value = "设备申请")
  119. // @PostMapping("/init3")
  120. @PostMapping("/initNew.htm")
  121. // public JsonMessage initNew(String clientId, String managerId, String gtClientId,String equimentType,String machineType) {
  122. public JsonMessage initNew(String clientId, String managerId, String gtClientId,String equimentType) {
  123. String machineType = "0";
  124. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  125. query.eq(TEquipment::getClientId,clientId);
  126. List<TEquipment> list = equipmentService.list(query);
  127. if (list.size() > 0) {
  128. TEquipment equipment = list.get(0);
  129. String managerId1 = equipment.getManagerId();
  130. if(!managerId.equals(managerId1)){
  131. return JsonMessage.error("该设备未脱离");
  132. }else {
  133. return JsonMessage.error("该设备已经初始化");
  134. }
  135. }
  136. if (StringUtils.isEmpty(gtClientId)) {
  137. return JsonMessage.error("设备不能为空");
  138. }
  139. TEquipmentApply equipmentApply = new TEquipmentApply();
  140. equipmentApply.setStatusType(1);
  141. equipmentApply.setClientId(clientId);
  142. equipmentApply.setManagerId(managerId);
  143. equipmentApply.setGtClientId(gtClientId);
  144. Long adminId = AdminUtils.decrypt(false, managerId);
  145. TAdmin admin = adminService.getById(adminId);
  146. if (admin == null) {
  147. return JsonMessage.error("找不到商家");
  148. }
  149. //所属商家
  150. String username = admin.getUsername();
  151. equipmentApply.setAdminId(adminId);
  152. equipmentApply.setAdminUserName(username);
  153. equipmentApply.setEquimentType(equimentType);
  154. equipmentApply.setMachineType(machineType);
  155. equipmentApply.setCreateDate(new Date());
  156. equipmentApply.setModifyDate(new Date());
  157. equipmentApplyService.save(equipmentApply);
  158. if(String.valueOf(adminId).equals("3")||String.valueOf(adminId).equals("31")||String.valueOf(adminId).equals("506")||String.valueOf(adminId).equals("1090")){
  159. Long id = equipmentApply.getId();
  160. agree(id);
  161. return JsonMessage.success("设备申请成功");
  162. }
  163. Date applyStartTime = admin.getApplyStartTime();
  164. Date applyEndTime = admin.getApplyEndTime();
  165. Date now = new Date();
  166. if(now.getTime()>applyStartTime.getTime()&&now.getTime()<applyEndTime.getTime()){
  167. Long id = equipmentApply.getId();
  168. agree(id);
  169. return JsonMessage.success("设备申请成功");
  170. }
  171. return JsonMessage.success("设备申请中,请耐心等待");
  172. }
  173. private void agree(Long id) {
  174. String status = "agreed";
  175. if (null != id) {
  176. TEquipmentApply equipmentApply = equipmentApplyService.getById(id);
  177. if (equipmentApply != null) {
  178. if (!StringUtils.isEmpty(status)) {
  179. if (status.equals("agreed")) {
  180. String clientId = equipmentApply.getClientId();
  181. //判断是否设备初始化
  182. // if (equipmentService.findByClientId(clientId) != null) {
  183. // addFlashMessage(redirectAttributes, Message.error("该设备已经初始化"));
  184. // return "redirect:listInit.htm";
  185. // }
  186. Long adminId = equipmentApply.getAdminId();
  187. String adminLevel = equipmentApply.getAdminLevel();
  188. String adminUserName = equipmentApply.getAdminUserName();
  189. String gtClientId = equipmentApply.getGtClientId();
  190. String equimentType = equipmentApply.getEquimentType();
  191. String machineType = equipmentApply.getMachineType();
  192. String old = "";
  193. // ArrayList<Filter> filters = new ArrayList<>();
  194. // filters.add(Filter.eq("clientId", clientId + "xxx"));
  195. // List<TEquipment> list = equipmentService.findList(null, filters, null);
  196. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  197. query.like(TEquipment::getClientId,clientId+"xxx");
  198. List<TEquipment> list = equipmentService.list(query);
  199. equipmentApply.setStatusType(3);
  200. if (list.size() > 0) {
  201. //表示设备第二次申请了:主要为了区分脱离以及初始化
  202. old = "1";
  203. //重新修改设备名称
  204. TEquipment equipment = list.get(0);
  205. equipment.setClientId(clientId);
  206. equipment.setGtClientId(gtClientId);
  207. equipment.setAdminId(adminId);
  208. equipment.setAdminLevel(adminLevel);
  209. equipment.setAdminUserName(adminUserName);
  210. equipment.setMachineType(machineType);
  211. if(equipmentApply.getEquimentType().equals("MG320-1")){
  212. if(!equipmentApply.getEquimentType().equals(equipment.getEquimentType())&&equipment.getEquimentType().equals("MG320")){
  213. // List<Filter> filter = new ArrayList<>();
  214. // filter.add(Filter.eq("equipmentId", equipment.getId()));
  215. // List<Product> productList = productService.findList(null, filter, null);
  216. LambdaQueryWrapper<TProduct> queryProduct = Wrappers.lambdaQuery();
  217. queryProduct.eq(TProduct::getEquipmentId,equipment.getId());
  218. List<TProduct> productList = productService.list(queryProduct);
  219. if(productList.size()==18){
  220. //从18种变成30种花型
  221. saveProductMG12(equipment.getId());
  222. }
  223. //从18种变成30种花型
  224. // saveProductMG12(equipment.getId());
  225. }
  226. equipment.setEquimentType("MG320");
  227. }
  228. equipmentService.updateById(equipment);
  229. // String data = com.alibaba.fastjson.JSON.toJSONString(equipment);
  230. try {
  231. // String result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data);
  232. // if(!result.equals("200")){
  233. // result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data);
  234. // if(!result.equals("200")){
  235. // result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data);
  236. // if(!result.equals("200")){
  237. // }
  238. // }
  239. // }
  240. esTEquipmentService.updateDataById(equipment);
  241. }catch (Exception e) {
  242. e.printStackTrace();
  243. }
  244. // addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
  245. equipmentService.sentMessage(clientId,PushUtils.buildJson("statusType", "agreed" + old).toString());
  246. PushUtils.push(equipmentApply.getGtClientId(), "【棉花糖】设备初始化申请", "同意", PushUtils.buildJson("statusType", "agreed" + old).toString());
  247. // equipmentApplyService.update(equipmentApply);
  248. if(equipment.getEquimentType().equals("280")){
  249. equipmentService.sentMessage(clientId,PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  250. PushUtils.push(equipmentApply.getGtClientId(), "", "", PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  251. }
  252. // equipmentService.sentMessage(clientId,PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  253. // PushUtils.push(equipmentApply.getGtClientId(), "", "", PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  254. // return "redirect:listInit.htm";
  255. return;
  256. }else{
  257. TEquipment equipment = new TEquipment();
  258. equipment.setCreateDate(new Date());
  259. equipment.setModifyDate(new Date());
  260. equipment.setClientId(clientId);
  261. equipment.setManagerId(equipmentApply.getManagerId());
  262. equipment.setAdminId(adminId);
  263. equipment.setAdminLevel(adminLevel);
  264. equipment.setGtClientId(gtClientId);
  265. equipment.setAdminUserName(adminUserName);
  266. equipment.setIsUsing(true);
  267. equipment.setIsNetWork(true);
  268. equipment.setGuestPwd("123456");
  269. equipment.setAdminPwd("123456");
  270. equipment.setChannel("1");
  271. equipment.setProductTotal(0);
  272. //设置默认规则
  273. equipment.setTimeRuleId(Long.valueOf(1));
  274. if(equimentType.equals("MG320-1")){
  275. equipment.setEquimentType("MG320");
  276. }else {
  277. equipment.setEquimentType(equimentType);
  278. }
  279. if(!StringUtils.isEmpty(equimentType)&&equimentType.equals("MG280")){
  280. Long monthBegin = getMonthBegin(new Date());
  281. long time = new Date().getTime();
  282. if(time<monthBegin){
  283. equipment.setEndDate(new Date(monthBegin));
  284. }else{
  285. Date date = nextMonthDate();
  286. equipment.setEndDate(date);
  287. }
  288. equipmentService.sentMessage(clientId,PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  289. PushUtils.push(equipmentApply.getGtClientId(), "", "", PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString());
  290. }
  291. equipmentService.save(equipment);
  292. equipmentService.sentMessage(clientId,PushUtils.buildJson("statusType", "agreed" + old).toString());
  293. PushUtils.push(equipmentApply.getGtClientId(), "【棉花糖】设备初始化申请", "同意", PushUtils.buildJson("statusType", "agreed" + old).toString());
  294. // Equipment byClientId = equipmentService.findByClientId(equipment.getClientId());
  295. // String data = com.alibaba.fastjson.JSON.toJSONString(byClientId);
  296. LambdaQueryWrapper<TEquipment> query1 = Wrappers.lambdaQuery();
  297. query1.eq(TEquipment::getClientId,clientId);
  298. List<TEquipment> list1 = equipmentService.list(query1);
  299. try {
  300. if(list1.size()>0){
  301. TEquipment tEquipment = list1.get(0);
  302. esTEquipmentService.insertData(tEquipment);
  303. }
  304. // String result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data);
  305. // if(!result.equals("200")){
  306. // byClientId = equipmentService.findByClientId(equipment.getClientId());
  307. // result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data);
  308. // if(!result.equals("200")){
  309. // byClientId = equipmentService.findByClientId(equipment.getClientId());
  310. // result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data);
  311. // if(!result.equals("200")){
  312. // }
  313. // }
  314. // }
  315. }catch (Exception e) {
  316. e.printStackTrace();
  317. }
  318. TEquipmentDesc equipmentDesc = new TEquipmentDesc();
  319. equipmentDesc.setEquipmentId(list1.get(0).getId());
  320. equipmentDescService.save(equipmentDesc);
  321. }
  322. //获取设备的id
  323. // Long equipmentId = equipmentService.findByClientId(clientId).getId();
  324. LambdaQueryWrapper<TEquipment> query1 = Wrappers.lambdaQuery();
  325. query1.eq(TEquipment::getClientId,clientId);
  326. List<TEquipment> list1 = equipmentService.list(query1);
  327. Long equipmentId = list1.get(0).getId();
  328. // if (!productService.exists(Filter.eq("equipmentId", equipmentId))) {
  329. if (true) {
  330. if(equipmentApply.getEquimentType()!=null&&equipmentApply.getEquimentType().equals("MG280")){
  331. saveProductMG280(equipmentId);
  332. }else if(equipmentApply.getEquimentType()!=null&&equipmentApply.getEquimentType().equals("MG320-1")){
  333. saveProductMG1(equipmentId);
  334. } else{
  335. saveProduct(equipmentId);
  336. }
  337. }
  338. } else if (status.equals("rejected")) {
  339. equipmentApply.setStatusType(3);
  340. equipmentService.sentMessage(equipmentApply.getClientId(),PushUtils.buildJson("statusType", "rejected").toString());
  341. // PushUtils.push(equipmentApply.getGtClientId(), "【棉花糖】设备初始化申请", "拒绝", PushUtils.buildJson("statusType", "rejected").toString());
  342. }
  343. equipmentApplyService.updateById(equipmentApply);
  344. // addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
  345. }
  346. }
  347. }
  348. }
  349. /**
  350. * 添加产品
  351. *
  352. * @param id
  353. */
  354. private void saveProduct(Long id) {
  355. String[] str = {"玫瑰精灵", "童心未泯", "五彩缤纷", "天雪恋舞", "水中芙蓉", "烈焰红唇", "美梦成真", "一见钟情", "幽兰爱恋", "心之守护",
  356. "夏日爱恋", "冰美人", "国色天香", "赤子之心", "海洋之心", "水晶之恋", "彩色精灵", "小棉袄"};
  357. for (int i = 0; i < str.length; i++) {
  358. TProduct product = new TProduct();
  359. product.setCreateDate(new Date());
  360. product.setModifyDate(new Date());
  361. product.setEquipmentId(id);
  362. product.setProductName(str[i]);
  363. product.setRmbPrice(BigDecimal.ZERO);
  364. product.setCodePrice(BigDecimal.ZERO);
  365. productService.save(product);
  366. }
  367. }
  368. private void saveProductMG280(Long id) {
  369. String[] str = { "水中芙蓉", "水中芙蓉mini", "烈焰红唇", "烈焰红唇mini", "夏日爱恋", "夏日爱恋mini", "冰美人", "冰美人mini", "彩色精灵", "彩色精灵mini"};
  370. for (int i = 0; i < str.length; i++) {
  371. TProduct product = new TProduct();
  372. product.setCreateDate(new Date());
  373. product.setModifyDate(new Date());
  374. product.setEquipmentId(id);
  375. product.setProductName(str[i]);
  376. product.setRmbPrice(BigDecimal.ZERO);
  377. product.setCodePrice(BigDecimal.ZERO);
  378. productService.save(product);
  379. }
  380. }
  381. private void saveProductMG1(Long id) {
  382. String[] str = {"玫瑰精灵", "童心未泯", "五彩缤纷", "天雪恋舞", "水中芙蓉", "烈焰红唇", "美梦成真", "一见钟情", "幽兰爱恋", "心之守护",
  383. "夏日爱恋", "冰美人", "国色天香", "赤子之心", "海洋之心", "水晶之恋", "彩色精灵", "小棉袄", "精灵蝶梦","夏日倾城","百花齐放","蜂缠蝶恋","豆蔻年华","星空幻想"
  384. ,"坠入星空","雪花飞舞","春暖花开","花飞蝶舞","花样年华","心花怒放"};
  385. for (int i = 0; i < str.length; i++) {
  386. TProduct product = new TProduct();
  387. product.setCreateDate(new Date());
  388. product.setModifyDate(new Date());
  389. product.setEquipmentId(id);
  390. product.setProductName(str[i]);
  391. product.setRmbPrice(BigDecimal.ZERO);
  392. product.setCodePrice(BigDecimal.ZERO);
  393. productService.save(product);
  394. }
  395. }
  396. private void saveProductMG12(Long id) {
  397. String[] str = { "精灵蝶梦","夏日倾城","百花齐放","蜂缠蝶恋","豆蔻年华","星空幻想"
  398. ,"坠入星空","雪花飞舞","春暖花开","花飞蝶舞","花样年华","心花怒放"};
  399. for (int i = 0; i < str.length; i++) {
  400. TProduct product = new TProduct();
  401. product.setCreateDate(new Date());
  402. product.setModifyDate(new Date());
  403. product.setEquipmentId(id);
  404. product.setProductName(str[i]);
  405. product.setRmbPrice(BigDecimal.ZERO);
  406. product.setCodePrice(BigDecimal.ZERO);
  407. productService.save(product);
  408. }
  409. }
  410. private void saveProductMG22(Long id) {
  411. String[] str = {"玫瑰精灵", "童心未泯", "五彩缤纷", "天雪恋舞", "水中芙蓉", "烈焰红唇", "美梦成真", "一见钟情", "幽兰爱恋", "心之守护",
  412. "夏日爱恋", "冰美人", "国色天香", "赤子之心", "海洋之心", "水晶之恋", "彩色精灵", "小棉袄", "精灵蝶梦","蜂缠蝶恋","坠入星空","花飞蝶舞"};
  413. for (int i = 0; i < str.length; i++) {
  414. TProduct product = new TProduct();
  415. product.setCreateDate(new Date());
  416. product.setModifyDate(new Date());
  417. product.setEquipmentId(id);
  418. product.setProductName(str[i]);
  419. product.setRmbPrice(BigDecimal.ZERO);
  420. product.setCodePrice(BigDecimal.ZERO);
  421. productService.save(product);
  422. }
  423. }
  424. private void saveProductMG26(Long id) {
  425. String[] str = {"玫瑰精灵", "童心未泯", "五彩缤纷", "天雪恋舞", "水中芙蓉", "烈焰红唇", "美梦成真", "一见钟情", "幽兰爱恋", "心之守护",
  426. "夏日爱恋", "冰美人", "国色天香", "赤子之心", "海洋之心", "水晶之恋", "彩色精灵", "小棉袄", "精灵蝶梦","蜂缠蝶恋","坠入星空","花飞蝶舞",
  427. "夏日倾城", "雪花飞舞", "豆蔻年华", "花样年华"};
  428. for (int i = 0; i < str.length; i++) {
  429. TProduct product = new TProduct();
  430. product.setCreateDate(new Date());
  431. product.setModifyDate(new Date());
  432. product.setEquipmentId(id);
  433. product.setProductName(str[i]);
  434. product.setRmbPrice(BigDecimal.ZERO);
  435. product.setCodePrice(BigDecimal.ZERO);
  436. productService.save(product);
  437. }
  438. }
  439. /**
  440. * 获取指定日期所在月份开始的时间戳
  441. * @param date 指定日期
  442. * @return
  443. */
  444. public static Long getMonthBegin(Date date) {
  445. Calendar c = Calendar.getInstance();
  446. c.setTime(date);
  447. //设置为10号,当前日期既为本月10号
  448. c.set(Calendar.DAY_OF_MONTH, 10);
  449. //将小时至0
  450. c.set(Calendar.HOUR_OF_DAY, 0);
  451. //将分钟至0
  452. c.set(Calendar.MINUTE, 0);
  453. //将秒至0
  454. c.set(Calendar.SECOND,0);
  455. //将毫秒至0
  456. c.set(Calendar.MILLISECOND, 0);
  457. // 获取本月第一天的时间戳
  458. return c.getTimeInMillis();
  459. }
  460. public static Date nextMonthDate() {
  461. Calendar calendar = Calendar.getInstance();
  462. calendar.set(Calendar.DAY_OF_MONTH,10);
  463. //将小时至0
  464. calendar.set(Calendar.HOUR_OF_DAY, 0);
  465. //将分钟至0
  466. calendar.set(Calendar.MINUTE, 0);
  467. //将秒至0
  468. calendar.set(Calendar.SECOND,0);
  469. //将毫秒至0
  470. calendar.set(Calendar.MILLISECOND, 0);
  471. calendar.add(Calendar.MONTH,1);
  472. return calendar.getTime();
  473. }
  474. /**
  475. *改花型
  476. * @param
  477. * @return
  478. */
  479. @RequestMapping(value = "/updateFlowers.htm", method = RequestMethod.POST)
  480. @ResponseBody
  481. public JsonMessage updateFlowers(String clientId,String number){
  482. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  483. query.eq(TEquipment::getClientId,clientId);
  484. List<TEquipment> list = equipmentService.list(query);
  485. TEquipment equipment = list.get(0);
  486. if(equipment!=null){
  487. Long id = equipment.getId();
  488. //修改花型记录数目
  489. TEquipmentDesc equipmentDesc = equipmentDescService.getById(id);
  490. if(equipmentDesc!=null){
  491. equipmentDesc.setFlowers(number);
  492. equipmentDescService.updateById(equipmentDesc);
  493. }else {
  494. TEquipmentDesc equipmentDesc1 = new TEquipmentDesc();
  495. equipmentDesc1.setEquipmentId(id);
  496. equipmentDesc1.setFlowers(number);
  497. equipmentDescService.save(equipmentDesc1);
  498. }
  499. //删除旧花型
  500. // List<Filter> filters = new ArrayList<>();
  501. // filters.add(Filter.eq("equipmentId", id));
  502. // List<Product> list = productService.findList(null, filters, null);
  503. LambdaQueryWrapper<TProduct> queryProduct = Wrappers.lambdaQuery();
  504. queryProduct.eq(TProduct::getEquipmentId,equipment.getId());
  505. List<TProduct> productList = productService.list(queryProduct);
  506. for(TProduct product : productList){
  507. productService.removeById(product.getId());
  508. }
  509. //创建花型
  510. if(number.equals("18")){
  511. saveProduct(id);
  512. }
  513. if(number.equals("22")){
  514. saveProductMG22(id);
  515. }
  516. if(number.equals("26")){
  517. saveProductMG26(id);
  518. }
  519. if(number.equals("30")){
  520. saveProductMG1(id);
  521. }
  522. return JsonMessage.success("success");
  523. }else {
  524. return JsonMessage.success("error");
  525. }
  526. }
  527. /**
  528. * 设备类型 开机时上传
  529. *
  530. * @param clientId 个推
  531. * @return
  532. */
  533. @RequestMapping(value = "/equimentType.htm", method = RequestMethod.POST)
  534. @ResponseBody
  535. public JsonMessage equimentType(String clientId, String equimentType){
  536. if(!StringUtils.isEmpty(equimentType)){
  537. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  538. query.eq(TEquipment::getClientId,clientId);
  539. List<TEquipment> list = equipmentService.list(query);
  540. TEquipment equipment = list.get(0);
  541. equipment.setEquimentType(equimentType);
  542. equipmentService.updateById(equipment);
  543. }
  544. return JsonMessage.success("success");
  545. }
  546. /**
  547. * 设备地址 开机时上传
  548. * @param clientId 个推
  549. * @return
  550. */
  551. @RequestMapping(value = "/equimentArea", method = RequestMethod.GET)
  552. @ResponseBody
  553. public JsonMessage equimentArea(String clientId, String longitude, String latitude, String fullName){
  554. if(!StringUtils.isEmpty(longitude)&&!StringUtils.isEmpty(latitude)&&!StringUtils.isEmpty(fullName)){
  555. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  556. query.eq(TEquipment::getClientId,clientId);
  557. List<TEquipment> list = equipmentService.list(query);
  558. TEquipment equipment = list.get(0);
  559. equipment.setLatitude(Double.valueOf(latitude));
  560. equipment.setLongitude(Double.valueOf(longitude));
  561. equipment.setFullName(fullName+"-");
  562. equipmentService.updateById(equipment);
  563. return JsonMessage.success("success");
  564. }
  565. return JsonMessage.success("error");
  566. }
  567. /**
  568. * 商品调价
  569. */
  570. @RequestMapping(value = "/updateProduct", method = RequestMethod.POST)
  571. @ResponseBody
  572. public JsonMessage updateProduct(@RequestBody List<ProductVo> productVos) {
  573. Double f=0.00;
  574. int num=0;
  575. int n=0;
  576. HashSet<Double> price = new HashSet<Double>();
  577. HashSet<Double> minprice = new HashSet<Double>();
  578. for (ProductVo product : productVos) {
  579. String clientId = product.getClientId();
  580. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  581. query.eq(TEquipment::getClientId,clientId);
  582. List<TEquipment> list = equipmentService.list(query);
  583. TEquipment equipment = list.get(0);
  584. Long id = equipment.getId();
  585. if(StringUtils.isNotEmpty(product.getShowType())){
  586. // productService.updateByClientID2(id, product.getRmbPrice(), product.getCodePrice(), product.getProductName(), product.getSellStatus(),product.getShowType());
  587. LambdaQueryWrapper<TProduct> queryProduct = Wrappers.lambdaQuery();
  588. queryProduct.eq(TProduct::getEquipmentId,equipment.getId());
  589. queryProduct.eq(TProduct::getProductName,product.getProductName());
  590. List<TProduct> productList = productService.list(queryProduct);
  591. TProduct tProduct = productList.get(0);
  592. tProduct.setRmbPrice(BigDecimal.valueOf(product.getRmbPrice()));
  593. tProduct.setCodePrice(BigDecimal.valueOf(product.getCodePrice()));
  594. tProduct.setShowType(product.getShowType());
  595. tProduct.setSellStatus(product.getSellStatus());
  596. productService.updateById(tProduct);
  597. }else {
  598. LambdaQueryWrapper<TProduct> queryProduct = Wrappers.lambdaQuery();
  599. queryProduct.eq(TProduct::getEquipmentId,equipment.getId());
  600. queryProduct.eq(TProduct::getProductName,product.getProductName());
  601. List<TProduct> productList = productService.list(queryProduct);
  602. TProduct tProduct = productList.get(0);
  603. tProduct.setRmbPrice(BigDecimal.valueOf(product.getRmbPrice()));
  604. tProduct.setCodePrice(BigDecimal.valueOf(product.getCodePrice()));
  605. tProduct.setSellStatus(product.getSellStatus());
  606. productService.updateById(tProduct);
  607. // productService.updateByClientID(id, product.getRmbPrice(), product.getCodePrice(), product.getProductName(), product.getSellStatus());
  608. }
  609. }
  610. return JsonMessage.success("调价成功");
  611. }
  612. public Double tran(Double d){
  613. return new BigDecimal(d).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
  614. }
  615. public Double tran2(Double d){
  616. return new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
  617. }
  618. /**
  619. * 密码修改
  620. *
  621. * @param clientId 设备个推Id
  622. * @param pwdType 密码类型 1d代表修adminPwd,0代表guestPwd
  623. * @return
  624. * @Param pwd 密码内容
  625. */
  626. @RequestMapping(value = "/updatePwd", method = RequestMethod.POST)
  627. @ResponseBody
  628. public JsonMessage updatePwd(String clientId, String pwdType, String pwd) {
  629. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  630. query.eq(TEquipment::getClientId,clientId);
  631. List<TEquipment> list = equipmentService.list(query);
  632. TEquipment equipment = list.get(0);
  633. if (equipment != null) {
  634. if (!StringUtils.isEmpty(pwdType)) {
  635. switch (pwdType) {
  636. case "1":
  637. equipment.setAdminPwd(pwd);
  638. break;
  639. case "0":
  640. equipment.setGuestPwd(pwd);
  641. break;
  642. }
  643. equipmentService.updateById(equipment);
  644. return JsonMessage.success("更新密码成功");
  645. }
  646. }
  647. return JsonMessage.error("更新密码失败");
  648. }
  649. /**
  650. * 修改支付方式
  651. *
  652. * @param clientId
  653. * @param payType: 无需支付
  654. * 线上支付
  655. * 线下支付
  656. * 线上/线下
  657. * @return
  658. */
  659. @RequestMapping(value = "/updatePayType", method = RequestMethod.POST)
  660. @ResponseBody
  661. public JsonMessage updatePayType(String clientId, String payType) {
  662. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  663. query.eq(TEquipment::getClientId,clientId);
  664. List<TEquipment> list = equipmentService.list(query);
  665. TEquipment equipment = list.get(0);
  666. if (equipment == null) {
  667. return JsonMessage.error("修改支付方式失败");
  668. }
  669. equipment.setPayType(0);
  670. equipmentService.updateById(equipment);
  671. return JsonMessage.success("修改成功");
  672. }
  673. /**
  674. * 日志上传
  675. */
  676. @RequestMapping(value = "/sendLog", method = RequestMethod.POST)
  677. @ResponseBody
  678. public String uploadFile(HttpServletRequest request, HttpServletResponse response, String fileName) throws Exception{
  679. // String fileName = request.getParameter("fileName");
  680. // log.info("filename:"+fileName);
  681. // String fileName ="shafei.xls";
  682. // file1.length();
  683. // String name = request.getParameter("inputName");
  684. String fileFullPath = "/home/hboxs/log/" + fileName+".txt";
  685. // String fileFullPath = "/root/uploadfile/apache-tomcat-8.5.42/" + fileName;
  686. InputStream input = null;
  687. FileOutputStream fos = null;
  688. try {
  689. input = request.getInputStream();
  690. File file = new File("/home/hboxs/log/");
  691. if(!file.exists()){
  692. file.mkdirs();
  693. }
  694. fos = new FileOutputStream(fileFullPath);
  695. int size = 0;
  696. byte[] buffer = new byte[1024];
  697. while ((size = input.read(buffer,0,1024)) != -1) {
  698. fos.write(buffer, 0, size);
  699. }
  700. //响应信息 json字符串格式
  701. Map<String,Object> responseMap = new HashMap<String,Object>();
  702. responseMap.put("flag", true);
  703. //生成响应的json字符串
  704. String jsonResponse = JSONObject.toJSONString(responseMap);
  705. sendResponse(jsonResponse,response);
  706. } catch (IOException e) {
  707. //响应信息 json字符串格式
  708. Map<String,Object> responseMap = new HashMap<String,Object>();
  709. responseMap.put("flag", false);
  710. responseMap.put("errorMsg", e.getMessage());
  711. String jsonResponse = JSONObject.toJSONString(responseMap);
  712. sendResponse(jsonResponse,response);
  713. } finally{
  714. if(input != null){
  715. input.close();
  716. }
  717. if(fos != null){
  718. fos.close();
  719. }
  720. }
  721. return null;
  722. }
  723. /**
  724. * 返回响应
  725. *
  726. * @throws Exception
  727. */
  728. private void sendResponse(String responseString,HttpServletResponse response) throws Exception {
  729. response.setContentType("application/json;charset=UTF-8");
  730. PrintWriter pw = null;
  731. try {
  732. pw = response.getWriter();
  733. pw.write(responseString);
  734. pw.flush();
  735. } finally {
  736. IOUtils.closeQuietly(pw);
  737. }
  738. }
  739. /**
  740. * 脱离系统
  741. *
  742. * @param clientId
  743. * @return
  744. */
  745. @RequestMapping(value = "/separate.htm", method = RequestMethod.POST)
  746. @ResponseBody
  747. public JsonMessage separate(String clientId) {
  748. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  749. query.eq(TEquipment::getClientId,clientId);
  750. List<TEquipment> list = equipmentService.list(query);
  751. TEquipment equipment = list.get(0);
  752. if (equipment == null) {
  753. return JsonMessage.error("该设备不存在");
  754. }
  755. equipmentService.sentMessage(clientId,PushUtils.buildJson("tuoji", "0").toString());
  756. // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("tuoji", "0").toString());
  757. if("xxx".equals(equipment.getClientId().substring(equipment.getClientId().length()-3,equipment.getClientId().length()))){
  758. return JsonMessage.success("脱离成功");
  759. }
  760. equipment.setClientId(equipment.getClientId() + "xxx");
  761. equipmentService.updateById(equipment);
  762. return JsonMessage.success("脱离成功");
  763. }
  764. /**
  765. * 修改设备联系人名称以及电话
  766. */
  767. @RequestMapping(value = "/updateContractPN.htm", method = RequestMethod.POST)
  768. @ResponseBody
  769. public JsonMessage updateContractPN(String clientId, String contactName, String contactPhone) {
  770. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  771. query.eq(TEquipment::getClientId,clientId);
  772. List<TEquipment> list = equipmentService.list(query);
  773. TEquipment equipment = list.get(0);
  774. if (equipment == null) {
  775. return JsonMessage.error("该设备不存在");
  776. }
  777. equipment.setContactName(contactName);
  778. equipment.setContactPhone(contactPhone);
  779. equipmentService.updateById(equipment);
  780. return JsonMessage.success("修改成功");
  781. }
  782. /**
  783. * 设备上传公司电话
  784. */
  785. @RequestMapping(value = "/sentCompanyPhone.htm", method = RequestMethod.POST)
  786. @ResponseBody
  787. public JsonMessage sentCompanyPhone(String clientId, String companyPhone) {
  788. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  789. query.eq(TEquipment::getClientId,clientId);
  790. List<TEquipment> list = equipmentService.list(query);
  791. TEquipment equipment = list.get(0);
  792. if (equipment == null) {
  793. return JsonMessage.error("该设备不存在");
  794. }
  795. equipment.setCompanyPhone(companyPhone);
  796. equipmentService.updateById(equipment);
  797. return JsonMessage.success("修改成功");
  798. }
  799. /**
  800. * 获取二维码图片
  801. */
  802. @RequestMapping(value = "/getQrCodeImgUrl.htm", method = RequestMethod.GET)
  803. @ResponseBody
  804. public String getQrCodeImgUrl(String clientId) {
  805. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  806. query.eq(TEquipment::getClientId,clientId);
  807. List<TEquipment> list = equipmentService.list(query);
  808. TEquipment equipment = list.get(0);
  809. if (equipment == null) {
  810. return "404";
  811. }
  812. //TODO
  813. // TAdmin admin = adminService.find(equipment.getAdminId());
  814. // String qrCodeImgUrl = admin.getQrCodeImgUrl();
  815. // if(!StringUtils.isEmpty(qrCodeImgUrl)){
  816. // return qrCodeImgUrl;
  817. // }else {
  818. // return "400";
  819. // }
  820. return "400";
  821. }
  822. /**
  823. * 上传4G卡号
  824. */
  825. @RequestMapping(value = "/sentSimNo.htm", method = RequestMethod.POST)
  826. @ResponseBody
  827. public JsonMessage sentSimNo(String clientId, String simNo) {
  828. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  829. query.eq(TEquipment::getClientId,clientId);
  830. List<TEquipment> list = equipmentService.list(query);
  831. TEquipment equipment = list.get(0);
  832. if (equipment == null) {
  833. return JsonMessage.error("该设备不存在");
  834. }
  835. equipment.setSimNo(simNo);
  836. equipmentService.updateById(equipment);
  837. return JsonMessage.success("修改成功");
  838. }
  839. /**
  840. * 修改设备状态
  841. *
  842. * @param clientId
  843. * @param eqeStatus 设备状态1开 0关
  844. * @return
  845. */
  846. @RequestMapping(value = "/updateEqeStatus.htm", method = RequestMethod.POST)
  847. @ResponseBody
  848. public JsonMessage updateEqeStatus(String clientId, Integer eqeStatus) {
  849. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  850. query.eq(TEquipment::getClientId,clientId);
  851. List<TEquipment> list = equipmentService.list(query);
  852. TEquipment equipment = list.get(0);
  853. if (equipment == null) {
  854. return JsonMessage.error("该设备不存在");
  855. }
  856. if(eqeStatus!=null){
  857. equipment.setEqeStatus(eqeStatus);
  858. equipment.setModifyDate(new Date());
  859. equipmentService.updateById(equipment);
  860. }
  861. return JsonMessage.success("修改成功");
  862. }
  863. /**
  864. * 新修改设备状态
  865. *
  866. * @param clientId
  867. * @param eqeStatus 设备状态1开 0关
  868. * @return
  869. */
  870. @RequestMapping(value = "/updateEqeStatusNew.htm", method = RequestMethod.POST)
  871. @ResponseBody
  872. public JsonMessage updateEqeStatusNew(String clientId, Integer eqeStatus,String netTime) {
  873. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  874. query.eq(TEquipment::getClientId,clientId);
  875. List<TEquipment> list = equipmentService.list(query);
  876. TEquipment equipment = list.get(0);
  877. if (equipment == null) {
  878. return JsonMessage.error("该设备不存在");
  879. }
  880. if(eqeStatus!=null){
  881. equipment.setNetwork(netTime);
  882. equipment.setEqeStatus(eqeStatus);
  883. equipmentService.updateById(equipment);
  884. }
  885. return JsonMessage.success("修改成功");
  886. }
  887. /**
  888. * 修改设备锁定状态
  889. *
  890. * @param clientId
  891. * @param block
  892. * @return
  893. */
  894. @RequestMapping(value = "/updateBlock.htm", method = RequestMethod.POST)
  895. @ResponseBody
  896. public JsonMessage updateBlock(String clientId, Boolean block) {
  897. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  898. query.eq(TEquipment::getClientId,clientId);
  899. List<TEquipment> list = equipmentService.list(query);
  900. TEquipment equipment = list.get(0);
  901. if (equipment == null) {
  902. return JsonMessage.error("该设备不存在");
  903. }
  904. equipment.setIsBlocked(block);
  905. equipmentService.updateById(equipment);
  906. return JsonMessage.success("修改成功");
  907. }
  908. /**
  909. * 修改设备睡眠状态
  910. *
  911. * @param clientId
  912. * @param is_sleep
  913. * @return
  914. */
  915. @RequestMapping(value = "/updateSleep.htm", method = RequestMethod.POST)
  916. @ResponseBody
  917. public JsonMessage updateSleep(String clientId, Boolean is_sleep) {
  918. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  919. query.eq(TEquipment::getClientId,clientId);
  920. List<TEquipment> list = equipmentService.list(query);
  921. TEquipment equipment = list.get(0);
  922. if (equipment == null) {
  923. return JsonMessage.error("该设备不存在");
  924. }
  925. if(is_sleep!=null){
  926. equipment.setIsSleep(is_sleep);
  927. equipmentService.updateById(equipment);
  928. }
  929. return JsonMessage.success("修改成功");
  930. }
  931. /**
  932. * 修改设备生产棉花糖个数
  933. *
  934. * @param clientId
  935. * @param productTotal
  936. * @return
  937. */
  938. @RequestMapping(value = "/updateProductTotal", method = RequestMethod.POST)
  939. @ResponseBody
  940. public JsonMessage updateProductTotal(String clientId, Integer productTotal) {
  941. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  942. query.eq(TEquipment::getClientId,clientId);
  943. List<TEquipment> list = equipmentService.list(query);
  944. TEquipment equipment = list.get(0);
  945. if (equipment == null) {
  946. return JsonMessage.error("该设备不存在");
  947. }
  948. Integer total = equipment.getProductTotal();
  949. if (total == null) {
  950. total = 0;
  951. }
  952. equipment.setProductTotal(total + productTotal);
  953. equipmentService.updateById(equipment);
  954. return JsonMessage.success("修改成功");
  955. }
  956. /**
  957. * 修改设备共同参数/进阶参数
  958. *
  959. * @param
  960. * @return
  961. */
  962. // @PostMapping(value = "/updateParam/{code}/{clientId}", produces = "application/json;charset=UTF-8")
  963. // @ResponseBody
  964. // public JsonMessage updateParam(@PathVariable Integer code, @PathVariable String clientId, @RequestBody List<CommonParamVo> commonParamVos) {
  965. // Equipment equipment = equipmentService.findByClientId(clientId);
  966. // if (equipment == null) {
  967. // return JsonMessage.error("设备不存在");
  968. // }
  969. // String param = JSONArray.toJSONString(commonParamVos);
  970. // if (code == 0) {
  971. // equipment.setCommonParameters(param);
  972. // } else {
  973. // equipment.setAdvancedParameters(param);
  974. // }
  975. // equipmentService.update(equipment);
  976. // return JsonMessage.success("修改成功");
  977. // }
  978. /**
  979. * 修改设备共同参数/进阶参数
  980. * code 0:通用参数;1:进阶参数;2:调试页参数
  981. * @param
  982. * @return
  983. */
  984. @PostMapping(value = "/updateParamNew.htm/{code}/{clientId}", produces = "application/json;charset=UTF-8")
  985. @ResponseBody
  986. public JsonMessage updateParamNew(@PathVariable Integer code, @PathVariable String clientId, @RequestBody List<CommonParamVo> commonParamVos) {
  987. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  988. query.eq(TEquipment::getClientId,clientId);
  989. List<TEquipment> list = equipmentService.list(query);
  990. TEquipment equipment = list.get(0);
  991. if (equipment == null) {
  992. return JsonMessage.error("设备不存在");
  993. }
  994. if(commonParamVos.size()<=0){
  995. return JsonMessage.error("参数为空");
  996. }
  997. // ArrayList<Filter> filters = new ArrayList<>();
  998. // filters.add(Filter.eq("status", code));
  999. // filters.add(Filter.eq("clientId", clientId));
  1000. // filters.add(Filter.eq("equipmentId", equipment.getId()));
  1001. // List<Parameters> list = parametersService.findList(null, filters, null);
  1002. LambdaQueryWrapper<TParameters> queryParameters = Wrappers.lambdaQuery();
  1003. queryParameters.eq(TParameters::getClientId,clientId);
  1004. queryParameters.eq(TParameters::getStatus,code);
  1005. queryParameters.eq(TParameters::getEquipmentId,equipment.getId());
  1006. List<TParameters> list1 = parametersService.list(queryParameters);
  1007. if(list1.size()>0){
  1008. for(TParameters parameters:list1){
  1009. //删除旧的参数
  1010. parametersService.removeById(parameters.getId());
  1011. }
  1012. }
  1013. Date date = new Date();
  1014. for(CommonParamVo commonParamVo:commonParamVos){
  1015. TParameters parameters = new TParameters();
  1016. parameters.setVal(commonParamVo.getVal());
  1017. parameters.setName(commonParamVo.getName());
  1018. parameters.setStatus(String.valueOf(code));
  1019. parameters.setClientId(clientId);
  1020. parameters.setEquipmentId(equipment.getId());
  1021. parameters.setCreateDate(date);
  1022. parameters.setModifyDate(date);
  1023. parametersService.save(parameters);
  1024. }
  1025. return JsonMessage.success("修改成功");
  1026. }
  1027. /**
  1028. * 修改单个设备共同参数/进阶参数
  1029. * code 0:通用参数;1:进阶参数;2:调试页参数
  1030. * @param
  1031. * @return
  1032. */
  1033. @PostMapping(value = "/updateAloneParam.htm", produces = "application/json;charset=UTF-8")
  1034. @ResponseBody
  1035. public JsonMessage updateAloneParam(String code, String clientId,String name,String val) {
  1036. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  1037. query.eq(TEquipment::getClientId,clientId);
  1038. List<TEquipment> list = equipmentService.list(query);
  1039. TEquipment equipment = list.get(0);
  1040. if (equipment == null) {
  1041. return JsonMessage.error("设备不存在");
  1042. }
  1043. // ArrayList<Filter> filters = new ArrayList<>();
  1044. // filters.add(Filter.eq("status", code));
  1045. // filters.add(Filter.eq("clientId", clientId));
  1046. // filters.add(Filter.eq("equipmentId", equipment.getId()));
  1047. // filters.add(Filter.eq("name", name));
  1048. // List<Parameters> list = parametersService.findList(null, filters, null);
  1049. LambdaQueryWrapper<TParameters> queryParameters = Wrappers.lambdaQuery();
  1050. queryParameters.eq(TParameters::getClientId,clientId);
  1051. queryParameters.eq(TParameters::getStatus,code);
  1052. queryParameters.eq(TParameters::getName,name);
  1053. queryParameters.eq(TParameters::getEquipmentId,equipment.getId());
  1054. List<TParameters> list1 = parametersService.list(queryParameters);
  1055. if(list1.size()>0){
  1056. TParameters parameters = list1.get(0);
  1057. parameters.setVal(val);
  1058. parameters.setModifyDate(new Date());
  1059. parametersService.updateById(parameters);
  1060. }
  1061. return JsonMessage.success("修改成功");
  1062. }
  1063. /**
  1064. * 获取机器列表
  1065. */
  1066. @RequestMapping(value = "/getEquipmentList.htm", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
  1067. @ResponseBody
  1068. public Object getByAdminAndProduct(String adminId,String name) {
  1069. JSONObject jsonObject = new JSONObject();
  1070. if(StringUtils.isEmpty(adminId)){
  1071. jsonObject.put("code", 1);
  1072. jsonObject.put("errmsg", "adminId为空");
  1073. return jsonObject;
  1074. }
  1075. if(StringUtils.isEmpty(name)){
  1076. jsonObject.put("code", 1);
  1077. jsonObject.put("errmsg", "name为空");
  1078. return jsonObject;
  1079. }
  1080. // Admin admin = adminService.find(Long.valueOf(adminId));
  1081. TAdmin admin = adminService.getById(adminId);
  1082. if(!admin.getUsername().equals(name)){
  1083. jsonObject.put("code", 1);
  1084. jsonObject.put("errmsg", "name与adminId不匹配");
  1085. return jsonObject;
  1086. }
  1087. List<EquipmentDTO> list = new ArrayList<>();
  1088. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  1089. query.eq(TEquipment::getAdminId,Long.valueOf(adminId));
  1090. List<TEquipment> equipmentList = equipmentService.list(query);
  1091. // List<TEquipment> equipmentList = equipmentService.findByAdminId(Long.valueOf(adminId));
  1092. for(TEquipment equipment:equipmentList){
  1093. EquipmentDTO equipmentDTO = new EquipmentDTO();
  1094. equipmentDTO.setClientId(equipment.getClientId());
  1095. equipmentDTO.setSn(equipment.getSn());
  1096. equipmentDTO.setName(equipment.getName());
  1097. equipmentDTO.setLatitude(equipment.getLatitude());
  1098. equipmentDTO.setLongitude(equipment.getLongitude());
  1099. equipmentDTO.setFullName(equipment.getFullName());
  1100. equipmentDTO.setEqeStatus(equipment.getEqeStatus());
  1101. list.add(equipmentDTO);
  1102. }
  1103. jsonObject.put("code", 0);
  1104. jsonObject.put("rows", JsonUtils.toJson(list));
  1105. jsonObject.put("errmsg", "");
  1106. jsonObject.put("total", list.size());
  1107. return jsonObject;
  1108. }
  1109. /**
  1110. * 获取商品信息
  1111. */
  1112. @RequestMapping(value = "/getProductions.htm", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
  1113. @ResponseBody
  1114. public Object getProductions(String adminId,String clientId) {
  1115. JSONObject jsonObject = new JSONObject();
  1116. if(StringUtils.isEmpty(adminId)){
  1117. jsonObject.put("code", 1);
  1118. jsonObject.put("errmsg", "adminId为空");
  1119. return jsonObject;
  1120. }
  1121. if(StringUtils.isEmpty(clientId)){
  1122. jsonObject.put("code", 1);
  1123. jsonObject.put("errmsg", "clientId为空");
  1124. return jsonObject;
  1125. }
  1126. // KafkaProperties.Admin admin = adminService.find(Long.valueOf(adminId));
  1127. TAdmin admin = adminService.getById(Long.valueOf(adminId));
  1128. LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
  1129. query.eq(TEquipment::getClientId,clientId);
  1130. List<TEquipment> list1 = equipmentService.list(query);
  1131. TEquipment equipment = list1.get(0);
  1132. // Equipment equipment = equipmentService.findByClientId(clientId);
  1133. if(!equipment.getAdminId().toString().equals(admin.getId().toString())){
  1134. jsonObject.put("code", 1);
  1135. jsonObject.put("errmsg", "clientId与adminId不匹配");
  1136. return jsonObject;
  1137. }
  1138. // ArrayList<Filter> filters = new ArrayList<>();
  1139. // filters.add(Filter.eq("equipmentId", equipment.getId()));
  1140. // List<Product> products = productService.findList(null, filters, null);
  1141. List<String> list = new ArrayList<>();
  1142. LambdaQueryWrapper<TProduct> queryProduct = Wrappers.lambdaQuery();
  1143. queryProduct.eq(TProduct::getEquipmentId,equipment.getId());
  1144. List<TProduct> products = productService.list(queryProduct);
  1145. // TProduct tProduct = products.get(0);
  1146. for (TProduct product:products){
  1147. list.add(product.getProductName());
  1148. }
  1149. jsonObject.put("code", 0);
  1150. jsonObject.put("productions", JsonUtils.toJson(list));
  1151. jsonObject.put("errmsg", "");
  1152. jsonObject.put("total", list.size());
  1153. return jsonObject;
  1154. }
  1155. // @ApiOperation(value = "分页查询")
  1156. // @GetMapping("/testPage")
  1157. // public ResponseModel<IPage<?>> testPage(TAdminParam param) {
  1158. // LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  1159. // query.eq(TAdmin::getIsEnabled,true);
  1160. // if(StrUtil.isNotBlank(param.getName())){
  1161. // query.like(TAdmin::getName,param.getName());
  1162. // }
  1163. // query.orderByDesc(TAdmin::getApplyStartTime);
  1164. // Page<TAdmin> page = new Page<>(param.getCurrent(), param.getSize(), true);
  1165. // IPage<TAdmin> iPage = tAdminService.page(page, query);
  1166. // return R.ok(iPage);
  1167. // }
  1168. //
  1169. // @ApiOperation(value = "列表查询")
  1170. // @GetMapping("/testList")
  1171. // public ResponseModel<List<?>> testList(TAdminParam param) {
  1172. // LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
  1173. // query.eq(TAdmin::getIsEnabled,true);
  1174. // if(StrUtil.isNotBlank(param.getName())){
  1175. // query.like(TAdmin::getName,param.getName());
  1176. // }
  1177. // query.orderByDesc(TAdmin::getApplyStartTime);
  1178. // List<TAdmin> list = tAdminService.list(query);
  1179. // return R.ok(list);
  1180. // }
  1181. // @ApiOperation(value = "返回失败")
  1182. // @GetMapping("/testError")
  1183. // public ResponseModel<List<?>> testError(boolean success) {
  1184. // if(success){
  1185. // return R.ok();
  1186. // }else{
  1187. // return R.fail(ResponseCodesEnum.B0001,"你的错误信息");
  1188. // }
  1189. // }
  1190. }