package com.szwl.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.szwl.model.bean.CommonParamVo; import com.szwl.model.bean.EquipmentDTO; import com.szwl.model.bean.EquipmentVo; import com.szwl.model.bean.ProductVo; import com.szwl.model.bo.JsonMessage; import com.szwl.model.bo.JsonUtils; import com.szwl.model.entity.*; import com.szwl.model.utils.AdminUtils; import com.szwl.model.utils.PushUtils; import com.szwl.service.*; import com.szwl.service.es.EsTEquipmentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; //@Api(value = "/api/app_equipment/index", tags = {"设备信息上传接口"}) @Api(value = "/indexController", tags = {"设备信息上传接口"}) @RestController @RequestMapping("/api/app_equipment/index") //@RequestMapping("/indexController") public class IndexController { ; @Autowired TAdminService adminService; @Autowired TEquipmentService equipmentService; @Autowired TEquipmentApplyService equipmentApplyService; @Autowired TProductService productService; @Autowired TProportionService proportionService; @Autowired TEquipmentDescService equipmentDescService; @Autowired EsTEquipmentService esTEquipmentService; @Autowired TParametersService parametersService; @Autowired TPromoCodeService promoCodeService; @ApiOperation(value = "心跳") // @PostMapping("/heart.htm") @RequestMapping(value = "/heart.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String heart(@RequestBody EquipmentVo equipmentVo) { String clientId = equipmentVo.getClientId(); Date lastUpdateTime = equipmentVo.getLastUpdateTime(); Double longitude = equipmentVo.getLongitude(); Double latitude = equipmentVo.getLatitude(); String cabinetHd = equipmentVo.getCabinetHd(); String cabinetTm = equipmentVo.getCabinetTm(); String furnaceSp = equipmentVo.getFurnaceSp(); String furnaceTm = equipmentVo.getFurnaceTm(); String gtClientId = equipmentVo.getGtClientId(); String volume = equipmentVo.getVolume(); Integer eqeStatus = equipmentVo.getEqeStatus(); Boolean is_sleep = equipmentVo.getIs_sleep(); String netWorkingMode = equipmentVo.getNetWorkingMode(); //有记录,则进行修改 LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment _new = list.get(0); // Equipment _new = equipmentService.findByClientId(clientId); if (_new != null) { _new.setNetWorkingMode(netWorkingMode); if(StringUtils.isNotEmpty(cabinetTm)){ _new.setCabinetTm(cabinetTm); } if(StringUtils.isNotEmpty(cabinetHd)){ _new.setCabinetHd(cabinetHd); } if(StringUtils.isNotEmpty(furnaceSp)){ _new.setFurnaceSp(furnaceSp); } if(StringUtils.isNotEmpty(furnaceTm)){ _new.setFurnaceTm(furnaceTm); } _new.setLastUpdateTime(lastUpdateTime); // _new.setLongitude(longitude); if(eqeStatus!=null){ _new.setEqeStatus(eqeStatus); } if(is_sleep!=null){ _new.setIsSleep(is_sleep); } if(!StringUtils.isEmpty(furnaceTm)){ int fur = Integer.parseInt(furnaceTm); if(_new.getEqeStatus()==0&&fur>150){ _new.setEqeStatus(1); } if(_new.getEqeStatus()==null&&fur>150){ _new.setEqeStatus(1); } } if(!StringUtils.isEmpty(volume)){ _new.setVolume(volume); } // _new.setLatitude(latitude); _new.setGtClientId(gtClientId); _new.setModifyDate(new Date()); equipmentService.updateById(_new); TEquipmentDesc equipmentDesc = equipmentDescService.getById(_new.getId()); if(StringUtils.isNotEmpty(equipmentVo.getBlueSugar())){ equipmentDesc.setBlueSugar(equipmentVo.getBlueSugar()); } if(StringUtils.isNotEmpty(equipmentVo.getRedSugar())){ equipmentDesc.setRedSugar(equipmentVo.getRedSugar()); } if(StringUtils.isNotEmpty(equipmentVo.getYellowSugar())){ equipmentDesc.setYellowSugar(equipmentVo.getYellowSugar()); } if(StringUtils.isNotEmpty(equipmentVo.getWhiteSugar())){ equipmentDesc.setWhiteSugar(equipmentVo.getWhiteSugar()); } if(StringUtils.isNotEmpty(equipmentVo.getWater())){ equipmentDesc.setWater(equipmentVo.getWater()); } if(StringUtils.isNotEmpty(equipmentVo.getWasteWater())){ equipmentDesc.setWasteWater(equipmentVo.getWasteWater()); } if(StringUtils.isNotEmpty(equipmentVo.getStick())){ equipmentDesc.setStick(equipmentVo.getStick()); } equipmentDescService.updateById(equipmentDesc); // return JsonMessage.success("心跳成功"); return "心跳成功"; } // return JsonMessage.error("心跳失败"); return "心跳失败"; } /** * 设备申请 * * @param clientId 个推 * @param managerId 管理系统id * @return */ @ApiOperation(value = "设备申请") // @PostMapping("/initNew.htm") @RequestMapping(value = "/initNew.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") // @RequestMapping(value = "/initNew.htm", method = RequestMethod.POST) @ResponseBody public String initNew(String clientId, String managerId, String gtClientId, String equimentType) { String machineType = "0"; LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); if (list.size() > 0) { TEquipment equipment = list.get(0); String managerId1 = equipment.getManagerId(); if(!managerId.equals(managerId1)){ return "该设备未脱离"; // return JsonMessage.error("该设备已经初始化"); }else { // return JsonMessage.error("该设备已经初始化"); return "该设备已经初始化"; } } if (StringUtils.isEmpty(gtClientId)) { // return JsonMessage.error("设备不能为空"); return "设备不能为空"; } TEquipmentApply equipmentApply = new TEquipmentApply(); equipmentApply.setStatusType(1); equipmentApply.setClientId(clientId); equipmentApply.setManagerId(managerId); equipmentApply.setGtClientId(gtClientId); Long adminId = AdminUtils.decrypt(false, managerId); TAdmin admin = adminService.getById(adminId); if (admin == null) { // return JsonMessage.error("找不到商家"); return "找不到商家"; } //所属商家 String username = admin.getUsername(); equipmentApply.setAdminId(adminId); equipmentApply.setAdminUserName(username); equipmentApply.setEquimentType(equimentType); equipmentApply.setMachineType(machineType); equipmentApply.setCreateDate(new Date()); equipmentApply.setModifyDate(new Date()); equipmentApplyService.save(equipmentApply); if(String.valueOf(adminId).equals("3")||String.valueOf(adminId).equals("31")||String.valueOf(adminId).equals("506")||String.valueOf(adminId).equals("1090")){ Long id = equipmentApply.getId(); agree(id); // return JsonMessage.success("设备申请成功"); return "设备申请成功"; } Date applyStartTime = admin.getApplyStartTime(); Date applyEndTime = admin.getApplyEndTime(); Date now = new Date(); if(now.getTime()>applyStartTime.getTime()&&now.getTime() filters = new ArrayList<>(); // filters.add(Filter.eq("clientId", clientId + "xxx")); // List list = equipmentService.findList(null, filters, null); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.like(TEquipment::getClientId,clientId+"xxx"); List list = equipmentService.list(query); equipmentApply.setStatusType(3); if (list.size() > 0) { //表示设备第二次申请了:主要为了区分脱离以及初始化 old = "1"; //重新修改设备名称 TEquipment equipment = list.get(0); equipment.setClientId(clientId); equipment.setGtClientId(gtClientId); equipment.setAdminId(adminId); equipment.setAdminLevel(adminLevel); equipment.setAdminUserName(adminUserName); equipment.setMachineType(machineType); if(equipmentApply.getEquimentType().equals("MG320-1")){ if(!equipmentApply.getEquimentType().equals(equipment.getEquimentType())&&equipment.getEquimentType().equals("MG320")){ // List filter = new ArrayList<>(); // filter.add(Filter.eq("equipmentId", equipment.getId())); // List productList = productService.findList(null, filter, null); LambdaQueryWrapper queryProduct = Wrappers.lambdaQuery(); queryProduct.eq(TProduct::getEquipmentId,equipment.getId()); List productList = productService.list(queryProduct); if(productList.size()==18){ //从18种变成30种花型 saveProductMG12(equipment.getId()); } //从18种变成30种花型 // saveProductMG12(equipment.getId()); } equipment.setEquimentType("MG320"); } if(equipmentApply.getEquimentType().equals("MG330")){ equipment.setEquimentType("MG330"); } equipmentService.updateById(equipment); // String data = com.alibaba.fastjson.JSON.toJSONString(equipment); try { // String result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data); // if(!result.equals("200")){ // result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data); // if(!result.equals("200")){ // result = HttpClientUtils.sentData(HttpClientUtils.Update_Equipment_Url, data); // if(!result.equals("200")){ // } // } // } esTEquipmentService.updateDataById(equipment); }catch (Exception e) { e.printStackTrace(); } // addFlashMessage(redirectAttributes, SUCCESS_MESSAGE); equipmentService.sentMessage(clientId,PushUtils.buildJson("statusType", "agreed" + old).toString()); PushUtils.push(equipmentApply.getGtClientId(), "【棉花糖】设备初始化申请", "同意", PushUtils.buildJson("statusType", "agreed" + old).toString()); // equipmentApplyService.update(equipmentApply); if(equipment.getEquimentType().equals("280")){ equipmentService.sentMessage(clientId,PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString()); PushUtils.push(equipmentApply.getGtClientId(), "", "", PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString()); } // equipmentService.sentMessage(clientId,PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString()); // PushUtils.push(equipmentApply.getGtClientId(), "", "", PushUtils.buildJson("endDate",String.valueOf(equipment.getEndDate().getTime()) ).toString()); // return "redirect:listInit.htm"; return; }else{ TEquipment equipment = new TEquipment(); equipment.setCreateDate(new Date()); equipment.setModifyDate(new Date()); equipment.setClientId(clientId); equipment.setManagerId(equipmentApply.getManagerId()); equipment.setAdminId(adminId); equipment.setAdminLevel(adminLevel); equipment.setGtClientId(gtClientId); equipment.setAdminUserName(adminUserName); equipment.setIsUsing(true); equipment.setIsNetWork(true); equipment.setGuestPwd("123456"); equipment.setAdminPwd("123456"); equipment.setChannel("1"); equipment.setProductTotal(0); //设置默认规则 equipment.setTimeRuleId(Long.valueOf(1)); if(equimentType.equals("MG320-1")){ equipment.setEquimentType("MG320"); }else { equipment.setEquimentType(equimentType); } if(equipmentApply.getEquimentType().equals("MG330")){ equipment.setEquimentType("MG330"); } if(!StringUtils.isEmpty(equimentType)&&equimentType.equals("MG280")){ Long monthBegin = getMonthBegin(new Date()); long time = new Date().getTime(); if(time query1 = Wrappers.lambdaQuery(); query1.eq(TEquipment::getClientId,clientId); List list1 = equipmentService.list(query1); try { if(list1.size()>0){ TEquipment tEquipment = list1.get(0); esTEquipmentService.insertData(tEquipment); } // String result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data); // if(!result.equals("200")){ // byClientId = equipmentService.findByClientId(equipment.getClientId()); // result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data); // if(!result.equals("200")){ // byClientId = equipmentService.findByClientId(equipment.getClientId()); // result = HttpClientUtils.sentData(HttpClientUtils.Equipment_Url, data); // if(!result.equals("200")){ // } // } // } }catch (Exception e) { e.printStackTrace(); } TEquipmentDesc equipmentDesc = new TEquipmentDesc(); equipmentDesc.setEquipmentId(list1.get(0).getId()); equipmentDescService.save(equipmentDesc); } //获取设备的id // Long equipmentId = equipmentService.findByClientId(clientId).getId(); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TEquipment::getClientId,clientId); List list1 = equipmentService.list(query1); Long equipmentId = list1.get(0).getId(); // if (!productService.exists(Filter.eq("equipmentId", equipmentId))) { if (true) { if(equipmentApply.getEquimentType()!=null&&equipmentApply.getEquimentType().equals("MG280")){ saveProductMG280(equipmentId); }else if(equipmentApply.getEquimentType()!=null&&equipmentApply.getEquimentType().equals("MG320-1")){ saveProductMG1(equipmentId); } else{ saveProduct(equipmentId); } } } else if (status.equals("rejected")) { equipmentApply.setStatusType(3); equipmentService.sentMessage(equipmentApply.getClientId(),PushUtils.buildJson("statusType", "rejected").toString()); // PushUtils.push(equipmentApply.getGtClientId(), "【棉花糖】设备初始化申请", "拒绝", PushUtils.buildJson("statusType", "rejected").toString()); } equipmentApplyService.updateById(equipmentApply); // addFlashMessage(redirectAttributes, SUCCESS_MESSAGE); } } } } /** * 添加产品 * * @param id */ private void saveProduct(Long id) { String[] str = {"玫瑰精灵-A01", "童心未泯-A02", "五彩缤纷-A03", "天雪恋舞-A04", "水中芙蓉-A05", "烈焰红唇-A06", "美梦成真-A07", "一见钟情-A08", "幽兰爱恋-A09", "心之守护-A10", "夏日爱恋-A11", "冰美人-A12", "国色天香-A13", "赤子之心-A14", "海洋之心-A15", "水晶之恋-A16", "彩色精灵-A17", "小棉袄-A18"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setCreateDate(new Date()); product.setModifyDate(new Date()); product.setEquipmentId(id); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } private void saveProductMG280(Long id) { String[] str = { "水中芙蓉-A05", "水中芙蓉mini-A31", "烈焰红唇-A06", "烈焰红唇mini-A32", "夏日爱恋-A11", "夏日爱恋mini-A33", "冰美人-A12", "冰美人mini-A34", "彩色精灵-A17", "彩色精灵mini-A35"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setCreateDate(new Date()); product.setModifyDate(new Date()); product.setEquipmentId(id); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } private void saveProductMG1(Long id) { String[] str = {"玫瑰精灵-A01", "童心未泯-A02", "五彩缤纷-A03", "天雪恋舞-A04", "水中芙蓉-A05", "烈焰红唇-A06", "美梦成真-A07", "一见钟情-A08", "幽兰爱恋-A09", "心之守护-A10", "夏日爱恋-A11", "冰美人-A12", "国色天香-A13", "赤子之心-A14", "海洋之心-A15", "水晶之恋-A16", "彩色精灵-A17", "小棉袄-A18", "精灵蝶梦-A19","夏日倾城-A20","百花齐放-A21","蜂缠蝶恋-A22","豆蔻年华-A23","星空幻想-A24","坠入星空-A25","雪花飞舞-A26","春暖花开-A27","花飞蝶舞-A28", "花样年华-A29","心花怒放-A30"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setCreateDate(new Date()); product.setModifyDate(new Date()); product.setEquipmentId(id); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } private void saveProductMG12(Long id) { String[] str = { "精灵蝶梦-A19","夏日倾城-A20","百花齐放-A21","蜂缠蝶恋-A22","豆蔻年华-A23","星空幻想-A24" ,"坠入星空-A25","雪花飞舞-A26","春暖花开-A27","花飞蝶舞-A28","花样年华-A29","心花怒放-A30"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setEquipmentId(id); product.setCreateDate(new Date()); product.setModifyDate(new Date()); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } private void saveProductMG22(Long id) { String[] str = {"玫瑰精灵-A01", "童心未泯-A02", "五彩缤纷-A03", "天雪恋舞-A04", "水中芙蓉-A05", "烈焰红唇-A06", "美梦成真-A07", "一见钟情-A08", "幽兰爱恋-A09", "心之守护-A10", "夏日爱恋-A11", "冰美人-A12", "国色天香-A13", "赤子之心-A14", "海洋之心-A15", "水晶之恋-A16", "彩色精灵-A17", "小棉袄-A18", "精灵蝶梦-A19","蜂缠蝶恋-A22","坠入星空-A25","花飞蝶舞-A28"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setCreateDate(new Date()); product.setModifyDate(new Date()); product.setEquipmentId(id); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } private void saveProductMG26(Long id) { String[] str = {"玫瑰精灵-A01", "童心未泯-A02", "五彩缤纷-A03", "天雪恋舞-A04", "水中芙蓉-A05", "烈焰红唇-A06", "美梦成真-A07", "一见钟情-A08", "幽兰爱恋-A09", "心之守护-A10", "夏日爱恋-A11", "冰美人-A12", "国色天香-A13", "赤子之心-A14", "海洋之心-A15", "水晶之恋-A16", "彩色精灵-A17", "小棉袄-A18", "精灵蝶梦-A19","蜂缠蝶恋-A22","坠入星空-A25","花飞蝶舞-A28", "夏日倾城-A20", "雪花飞舞-A26", "豆蔻年华-A23", "花样年华-A29"}; for (int i = 0; i < str.length; i++) { TProduct product = new TProduct(); product.setCreateDate(new Date()); product.setModifyDate(new Date()); product.setEquipmentId(id); String[] split = str[i].split("-"); product.setProductName(split[0]); product.setNo(split[1]); product.setRmbPrice(BigDecimal.ZERO); product.setCodePrice(BigDecimal.ZERO); productService.save(product); } } /** * 获取指定日期所在月份开始的时间戳 * @param date 指定日期 * @return */ public static Long getMonthBegin(Date date) { Calendar c = Calendar.getInstance(); c.setTime(date); //设置为10号,当前日期既为本月10号 c.set(Calendar.DAY_OF_MONTH, 10); //将小时至0 c.set(Calendar.HOUR_OF_DAY, 0); //将分钟至0 c.set(Calendar.MINUTE, 0); //将秒至0 c.set(Calendar.SECOND,0); //将毫秒至0 c.set(Calendar.MILLISECOND, 0); // 获取本月第一天的时间戳 return c.getTimeInMillis(); } public static Date nextMonthDate() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH,10); //将小时至0 calendar.set(Calendar.HOUR_OF_DAY, 0); //将分钟至0 calendar.set(Calendar.MINUTE, 0); //将秒至0 calendar.set(Calendar.SECOND,0); //将毫秒至0 calendar.set(Calendar.MILLISECOND, 0); calendar.add(Calendar.MONTH,1); return calendar.getTime(); } /** *改花型 * @param * @return */ @RequestMapping(value = "/updateFlowers.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateFlowers(String clientId,String number){ LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if(equipment!=null){ Long id = equipment.getId(); //修改花型记录数目 TEquipmentDesc equipmentDesc = equipmentDescService.getById(id); if(equipmentDesc!=null){ equipmentDesc.setFlowers(number); equipmentDescService.updateById(equipmentDesc); }else { TEquipmentDesc equipmentDesc1 = new TEquipmentDesc(); equipmentDesc1.setEquipmentId(id); equipmentDesc1.setFlowers(number); equipmentDescService.save(equipmentDesc1); } //删除旧花型 // List filters = new ArrayList<>(); // filters.add(Filter.eq("equipmentId", id)); // List list = productService.findList(null, filters, null); LambdaQueryWrapper queryProduct = Wrappers.lambdaQuery(); queryProduct.eq(TProduct::getEquipmentId,equipment.getId()); List productList = productService.list(queryProduct); for(TProduct product : productList){ productService.removeById(product.getId()); } //创建花型 if(number.equals("18")){ saveProduct(id); } if(number.equals("22")){ saveProductMG22(id); } if(number.equals("26")){ saveProductMG26(id); } if(number.equals("30")){ saveProductMG1(id); } // return JsonMessage.success("success"); return "success"; }else { // return JsonMessage.success("error"); return "error"; } } /** * 设备类型 开机时上传 * * @param clientId 个推 * @return */ @RequestMapping(value = "/equimentType.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String equimentType(String clientId, String equimentType){ if(!StringUtils.isEmpty(equimentType)){ LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); equipment.setEquimentType(equimentType); equipmentService.updateById(equipment); } // return JsonMessage.success("success"); return "success"; } /** * 设备地址 开机时上传 * @param clientId 个推 * @return */ @RequestMapping(value = "/equimentArea.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String equimentArea(String clientId, String longitude, String latitude, String fullName){ if(!StringUtils.isEmpty(longitude)&&!StringUtils.isEmpty(latitude)&&!StringUtils.isEmpty(fullName)){ LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); equipment.setLatitude(Double.valueOf(latitude)); equipment.setLongitude(Double.valueOf(longitude)); equipment.setFullName(fullName+"-"); equipmentService.updateById(equipment); // return JsonMessage.success("success"); return "success"; } // return JsonMessage.success("error"); return "error"; } /** * 商品调价 */ @RequestMapping(value = "/updateProduct.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateProduct(@RequestBody List productVos) { Double f=0.00; int num=0; int n=0; HashSet price = new HashSet(); HashSet minprice = new HashSet(); for (ProductVo product : productVos) { String clientId = product.getClientId(); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); Long id = equipment.getId(); if(StringUtils.isNotEmpty(product.getShowType())){ // productService.updateByClientID2(id, product.getRmbPrice(), product.getCodePrice(), product.getProductName(), product.getSellStatus(),product.getShowType()); LambdaQueryWrapper queryProduct = Wrappers.lambdaQuery(); queryProduct.eq(TProduct::getEquipmentId,equipment.getId()); queryProduct.eq(TProduct::getProductName,product.getProductName()); List productList = productService.list(queryProduct); TProduct tProduct = productList.get(0); tProduct.setRmbPrice(BigDecimal.valueOf(product.getRmbPrice())); tProduct.setCodePrice(BigDecimal.valueOf(product.getCodePrice())); tProduct.setShowType(product.getShowType()); tProduct.setSellStatus(product.getSellStatus()); productService.updateById(tProduct); }else { LambdaQueryWrapper queryProduct = Wrappers.lambdaQuery(); queryProduct.eq(TProduct::getEquipmentId,equipment.getId()); queryProduct.eq(TProduct::getProductName,product.getProductName()); List productList = productService.list(queryProduct); TProduct tProduct = productList.get(0); tProduct.setRmbPrice(BigDecimal.valueOf(product.getRmbPrice())); tProduct.setCodePrice(BigDecimal.valueOf(product.getCodePrice())); tProduct.setSellStatus(product.getSellStatus()); productService.updateById(tProduct); // productService.updateByClientID(id, product.getRmbPrice(), product.getCodePrice(), product.getProductName(), product.getSellStatus()); } } // return JsonMessage.success("调价成功"); return "调价成功"; } public Double tran(Double d){ return new BigDecimal(d).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); } public Double tran2(Double d){ return new BigDecimal(d).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); } /** * 密码修改 * * @param clientId 设备个推Id * @param pwdType 密码类型 1d代表修adminPwd,0代表guestPwd * @return * @Param pwd 密码内容 */ @RequestMapping(value = "/updatePwd.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updatePwd(String clientId, String pwdType, String pwd) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment != null) { if (!StringUtils.isEmpty(pwdType)) { switch (pwdType) { case "1": equipment.setAdminPwd(pwd); break; case "0": equipment.setGuestPwd(pwd); break; } equipmentService.updateById(equipment); // return JsonMessage.success("更新密码成功"); return "更新密码成功"; } } // return JsonMessage.error("更新密码失败"); return "更新密码失败"; } /** * 设备获取密码 */ @GetMapping(value = "/getPwd", produces = "text/html;charset=utf-8") @ResponseBody public String getPwd(String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); Map map = new HashMap<>(); // map.put("adminUserName",equipment.getAdminUserName()); map.put("adminPwd",equipment.getAdminPwd()); map.put("guestPwd",equipment.getGuestPwd()); JSONObject jsonObject = new JSONObject(); jsonObject.put("code", 0); jsonObject.put("data", JSONObject.toJSON(map).toString()); jsonObject.put("errmsg", ""); return jsonObject.toJSONString(); } /** * 修改支付方式 * * @param clientId * @param payType: 无需支付 * 线上支付 * 线下支付 * 线上/线下 * @return */ @RequestMapping(value = "/updatePayType.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updatePayType(String clientId, String payType) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("修改支付方式失败"); return "修改支付方式失败"; } equipment.setPayType(0); equipmentService.updateById(equipment); return "修改成功"; // return JsonMessage.success("修改成功"); } /** * 日志上传 */ @RequestMapping(value = "/sendLog.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String uploadFile(HttpServletRequest request, HttpServletResponse response, String fileName) throws Exception{ // String fileName = request.getParameter("fileName"); // log.info("filename:"+fileName); // String fileName ="shafei.xls"; // file1.length(); // String name = request.getParameter("inputName"); String fileFullPath = "/home/hboxs/log/" + fileName+".txt"; // String fileFullPath = "/root/uploadfile/apache-tomcat-8.5.42/" + fileName; InputStream input = null; FileOutputStream fos = null; try { input = request.getInputStream(); File file = new File("/home/hboxs/log/"); if(!file.exists()){ file.mkdirs(); } fos = new FileOutputStream(fileFullPath); int size = 0; byte[] buffer = new byte[1024]; while ((size = input.read(buffer,0,1024)) != -1) { fos.write(buffer, 0, size); } //响应信息 json字符串格式 Map responseMap = new HashMap(); responseMap.put("flag", true); //生成响应的json字符串 String jsonResponse = JSONObject.toJSONString(responseMap); sendResponse(jsonResponse,response); } catch (IOException e) { //响应信息 json字符串格式 Map responseMap = new HashMap(); responseMap.put("flag", false); responseMap.put("errorMsg", e.getMessage()); String jsonResponse = JSONObject.toJSONString(responseMap); sendResponse(jsonResponse,response); } finally{ if(input != null){ input.close(); } if(fos != null){ fos.close(); } } return null; } /** * 返回响应 * * @throws Exception */ private void sendResponse(String responseString,HttpServletResponse response) throws Exception { response.setContentType("application/json;charset=UTF-8"); PrintWriter pw = null; try { pw = response.getWriter(); pw.write(responseString); pw.flush(); } finally { IOUtils.closeQuietly(pw); } } /** * 脱离系统 * * @param clientId * @return */ @RequestMapping(value = "/separate.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String separate(String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return "该设备不存在"; return "该设备不存在"; } equipmentService.sentMessage(clientId,PushUtils.buildJson("tuoji", "0").toString()); // PushUtils.push(equipment.getGtClientId(), "", "", PushUtils.buildJson("tuoji", "0").toString()); if("xxx".equals(equipment.getClientId().substring(equipment.getClientId().length()-3,equipment.getClientId().length()))){ // return JsonMessage.success("脱离成功"); return "脱离成功"; } equipment.setClientId(equipment.getClientId() + "xxx"); equipmentService.updateById(equipment); // return JsonMessage.success("脱离成功"); return "脱离成功"; } /** * 修改设备联系人名称以及电话 */ @RequestMapping(value = "/updateContractPN.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateContractPN(String clientId, String contactName, String contactPhone) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("该设备不存在"); return "该设备不存在"; } equipment.setContactName(contactName); equipment.setContactPhone(contactPhone); equipmentService.updateById(equipment); // return JsonMessage.success("修改成功"); return "修改成功"; } /** * 设备上传公司电话 */ @RequestMapping(value = "/sentCompanyPhone.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String sentCompanyPhone(String clientId, String companyPhone) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("该设备不存在"); return "该设备不存在"; } equipment.setCompanyPhone(companyPhone); equipmentService.updateById(equipment); // return JsonMessage.success("修改成功"); return "修改成功"; } /** * 获取二维码图片 */ @RequestMapping(value = "/getQrCodeImgUrl.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String getQrCodeImgUrl(String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { return "404"; } //TODO // TAdmin admin = adminService.find(equipment.getAdminId()); // String qrCodeImgUrl = admin.getQrCodeImgUrl(); // if(!StringUtils.isEmpty(qrCodeImgUrl)){ // return qrCodeImgUrl; // }else { // return "400"; // } return "400"; } /** * 上传4G卡号 */ @RequestMapping(value = "/sentSimNo.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String sentSimNo(String clientId, String simNo) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("该设备不存在"); return "该设备不存在"; } equipment.setSimNo(simNo); equipmentService.updateById(equipment); // return JsonMessage.success("修改成功"); return "修改成功"; } /** * 修改设备状态 * * @param clientId * @param eqeStatus 设备状态1开 0关 * @return */ @RequestMapping(value = "/updateEqeStatus.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateEqeStatus(String clientId, Integer eqeStatus) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { return "该设备不存在"; } if(eqeStatus!=null){ equipment.setEqeStatus(eqeStatus); equipment.setModifyDate(new Date()); equipmentService.updateById(equipment); } return "修改成功"; } /** * 新修改设备状态 * * @param clientId * @param eqeStatus 设备状态1开 0关 * @return */ @RequestMapping(value = "/updateEqeStatusNew.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateEqeStatusNew(String clientId, Integer eqeStatus,String netTime) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("该设备不存在"); return "该设备不存在"; } if(eqeStatus!=null){ equipment.setNetwork(netTime); equipment.setEqeStatus(eqeStatus); equipmentService.updateById(equipment); } // return JsonMessage.success("修改成功"); return "修改成功"; } /** * 修改设备锁定状态 * * @param clientId * @param block * @return */ @RequestMapping(value = "/updateBlock.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateBlock(String clientId, Boolean block) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("该设备不存在"); return "该设备不存在"; } equipment.setIsBlocked(block); equipmentService.updateById(equipment); return "修改成功"; } /** * 修改设备睡眠状态 * * @param clientId * @param is_sleep * @return */ @RequestMapping(value = "/updateSleep.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateSleep(String clientId, Boolean is_sleep) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { return "该设备不存在"; } if(is_sleep!=null){ equipment.setIsSleep(is_sleep); equipmentService.updateById(equipment); } return "修改成功"; } /** * 修改设备生产棉花糖个数 * * @param clientId * @param productTotal * @return */ @RequestMapping(value = "/updateProductTotal.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateProductTotal(String clientId, Integer productTotal) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { return "该设备不存在"; } Integer total = equipment.getProductTotal(); if (total == null) { total = 0; } equipment.setProductTotal(total + productTotal); equipmentService.updateById(equipment); return "修改成功"; } /** * 修改设备共同参数/进阶参数 * * @param * @return */ // @PostMapping(value = "/updateParam/{code}/{clientId}", produces = "application/json;charset=UTF-8") // @ResponseBody // public JsonMessage updateParam(@PathVariable Integer code, @PathVariable String clientId, @RequestBody List commonParamVos) { // Equipment equipment = equipmentService.findByClientId(clientId); // if (equipment == null) { // return JsonMessage.error("设备不存在"); // } // String param = JSONArray.toJSONString(commonParamVos); // if (code == 0) { // equipment.setCommonParameters(param); // } else { // equipment.setAdvancedParameters(param); // } // equipmentService.update(equipment); // return JsonMessage.success("修改成功"); // } /** * 修改设备共同参数/进阶参数 * code 0:通用参数;1:进阶参数;2:调试页参数 * @param * @return */ @PostMapping(value = "/updateParamNew.htm/{code}/{clientId}", produces = "text/html;charset=utf-8") @ResponseBody public String updateParamNew(@PathVariable Integer code, @PathVariable String clientId, @RequestBody List commonParamVos) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("设备不存在"); return "设备不存在"; } if(commonParamVos.size()<=0){ // return JsonMessage.error("参数为空"); return "参数为空"; } // ArrayList filters = new ArrayList<>(); // filters.add(Filter.eq("status", code)); // filters.add(Filter.eq("clientId", clientId)); // filters.add(Filter.eq("equipmentId", equipment.getId())); // List list = parametersService.findList(null, filters, null); LambdaQueryWrapper queryParameters = Wrappers.lambdaQuery(); queryParameters.eq(TParameters::getClientId,clientId); queryParameters.eq(TParameters::getStatus,code); queryParameters.eq(TParameters::getEquipmentId,equipment.getId()); List list1 = parametersService.list(queryParameters); if(list1.size()>0){ for(TParameters parameters:list1){ //删除旧的参数 parametersService.removeById(parameters.getId()); } } Date date = new Date(); for(CommonParamVo commonParamVo:commonParamVos){ TParameters parameters = new TParameters(); parameters.setVal(commonParamVo.getVal()); parameters.setName(commonParamVo.getName()); parameters.setStatus(String.valueOf(code)); parameters.setClientId(clientId); parameters.setEquipmentId(equipment.getId()); parameters.setCreateDate(date); parameters.setModifyDate(date); parametersService.save(parameters); } return "修改成功"; } /** * 修改单个设备共同参数/进阶参数 * code 0:通用参数;1:进阶参数;2:调试页参数 * @param * @return */ @PostMapping(value = "/updateAloneParam.htm", produces = "text/html;charset=utf-8") @ResponseBody public String updateAloneParam(String code, String clientId,String name,String val) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if (equipment == null) { // return JsonMessage.error("设备不存在"); return "设备不存在"; } // ArrayList filters = new ArrayList<>(); // filters.add(Filter.eq("status", code)); // filters.add(Filter.eq("clientId", clientId)); // filters.add(Filter.eq("equipmentId", equipment.getId())); // filters.add(Filter.eq("name", name)); // List list = parametersService.findList(null, filters, null); LambdaQueryWrapper queryParameters = Wrappers.lambdaQuery(); queryParameters.eq(TParameters::getClientId,clientId); queryParameters.eq(TParameters::getStatus,code); queryParameters.eq(TParameters::getName,name); queryParameters.eq(TParameters::getEquipmentId,equipment.getId()); List list1 = parametersService.list(queryParameters); if(list1.size()>0){ TParameters parameters = list1.get(0); parameters.setVal(val); parameters.setModifyDate(new Date()); parametersService.updateById(parameters); } return "修改成功"; } /** * 获取机器列表 */ @RequestMapping(value = "/getEquipmentList.htm", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") @ResponseBody public String getByAdminAndProduct(String adminId,String name) { JSONObject jsonObject = new JSONObject(); if(StringUtils.isEmpty(adminId)){ jsonObject.put("code", 1); jsonObject.put("errmsg", "adminId为空"); return jsonObject.toJSONString(); } if(StringUtils.isEmpty(name)){ jsonObject.put("code", 1); jsonObject.put("errmsg", "name为空"); return jsonObject.toJSONString(); } // Admin admin = adminService.find(Long.valueOf(adminId)); TAdmin admin = adminService.getById(adminId); if(!admin.getUsername().equals(name)){ jsonObject.put("code", 1); jsonObject.put("errmsg", "name与adminId不匹配"); return jsonObject.toJSONString(); } List list = new ArrayList<>(); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getAdminId,Long.valueOf(adminId)); List equipmentList = equipmentService.list(query); // List equipmentList = equipmentService.findByAdminId(Long.valueOf(adminId)); for(TEquipment equipment:equipmentList){ EquipmentDTO equipmentDTO = new EquipmentDTO(); equipmentDTO.setClientId(equipment.getClientId()); equipmentDTO.setSn(equipment.getSn()); equipmentDTO.setName(equipment.getName()); equipmentDTO.setLatitude(equipment.getLatitude()); equipmentDTO.setLongitude(equipment.getLongitude()); equipmentDTO.setFullName(equipment.getFullName()); equipmentDTO.setEqeStatus(equipment.getEqeStatus()); list.add(equipmentDTO); } jsonObject.put("code", 0); jsonObject.put("rows", JsonUtils.toJson(list)); jsonObject.put("errmsg", ""); jsonObject.put("total", list.size()); return jsonObject.toJSONString(); } /** * 获取商品信息 */ @RequestMapping(value = "/getProductions.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String getProductions(String adminId,String clientId) { JSONObject jsonObject = new JSONObject(); if(StringUtils.isEmpty(adminId)){ jsonObject.put("code", 1); jsonObject.put("errmsg", "adminId为空"); return jsonObject.toJSONString(); } if(StringUtils.isEmpty(clientId)){ jsonObject.put("code", 1); jsonObject.put("errmsg", "clientId为空"); return jsonObject.toJSONString(); } // KafkaProperties.Admin admin = adminService.find(Long.valueOf(adminId)); TAdmin admin = adminService.getById(Long.valueOf(adminId)); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list1 = equipmentService.list(query); TEquipment equipment = list1.get(0); // Equipment equipment = equipmentService.findByClientId(clientId); if(!equipment.getAdminId().toString().equals(admin.getId().toString())){ jsonObject.put("code", 1); jsonObject.put("errmsg", "clientId与adminId不匹配"); return jsonObject.toJSONString(); } // ArrayList filters = new ArrayList<>(); // filters.add(Filter.eq("equipmentId", equipment.getId())); // List products = productService.findList(null, filters, null); List list = new ArrayList<>(); LambdaQueryWrapper queryProduct = Wrappers.lambdaQuery(); queryProduct.eq(TProduct::getEquipmentId,equipment.getId()); List products = productService.list(queryProduct); // TProduct tProduct = products.get(0); for (TProduct product:products){ list.add(product.getProductName()); } jsonObject.put("code", 0); jsonObject.put("productions", JsonUtils.toJson(list)); jsonObject.put("errmsg", ""); jsonObject.put("total", list.size()); return jsonObject.toJSONString(); } // @ApiOperation(value = "分页查询") // @GetMapping("/testPage") // public ResponseModel> testPage(TAdminParam param) { // LambdaQueryWrapper query = Wrappers.lambdaQuery(); // query.eq(TAdmin::getIsEnabled,true); // if(StrUtil.isNotBlank(param.getName())){ // query.like(TAdmin::getName,param.getName()); // } // query.orderByDesc(TAdmin::getApplyStartTime); // Page page = new Page<>(param.getCurrent(), param.getSize(), true); // IPage iPage = tAdminService.page(page, query); // return R.ok(iPage); // } // // @ApiOperation(value = "列表查询") // @GetMapping("/testList") // public ResponseModel> testList(TAdminParam param) { // LambdaQueryWrapper query = Wrappers.lambdaQuery(); // query.eq(TAdmin::getIsEnabled,true); // if(StrUtil.isNotBlank(param.getName())){ // query.like(TAdmin::getName,param.getName()); // } // query.orderByDesc(TAdmin::getApplyStartTime); // List list = tAdminService.list(query); // return R.ok(list); // } // @ApiOperation(value = "返回失败") // @GetMapping("/testError") // public ResponseModel> testError(boolean success) { // if(success){ // return R.ok(); // }else{ // return R.fail(ResponseCodesEnum.B0001,"你的错误信息"); // } // } /** *是否启用物料监控功能 * 0:不启用,1:启用 * @param clientId 个推 * @return */ @RequestMapping(value = "/updateMaterialStatus.htm", method = RequestMethod.POST, produces = "text/html;charset=utf-8") @ResponseBody public String updateMaterialUse(String clientId, String isMaterialUse){ if(!StringUtils.isEmpty(clientId)&&!StringUtils.isEmpty(isMaterialUse)){ LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list1 = equipmentService.list(query); TEquipment equipment = list1.get(0); TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipment.getId()); equipmentDesc.setIsMaterialUse(isMaterialUse); equipmentDescService.updateById(equipmentDesc); // return JsonMessage.success("success"); return "success"; } // return JsonMessage.error("error"); return "error"; } //修改优惠码状态 @RequestMapping(value = "/updateCode.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String CardPay(String code, String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); // List filters = new ArrayList<>(); // if(code.length()<7){ // filters.add(Filter.in("adminId", equipment.getAdminId())); // } // filters.add(Filter.in("code", code)); // List list = promoCodeService.findList(null, filters, null); // PromoCode promoCode = list.get(0); LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TPromoCode::getAdminId,equipment.getAdminId()); query1.eq(TPromoCode::getCode,code); List list1 = promoCodeService.list(query1); TPromoCode promoCode = list1.get(0); promoCode.setIsUse("1"); promoCode.setUseBy(equipment.getName()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(new Date()); promoCode.setUseDate(time); promoCodeService.updateById(promoCode); // return JsonMessage.success("success"); return "success"; } //验证优惠码 @RequestMapping(value = "/selectCode.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String selectCode(String code, String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); //验证优惠码 LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TPromoCode::getCode,code); List codeList = promoCodeService.list(query1); TPromoCode promoCode = new TPromoCode(); if (codeList.size() == 0) { //不存在 // return JsonMessage.success("1"); return "1"; } for (TPromoCode cod : codeList) { if(!cod.getAdminId().equals("1")){ String adminId = cod.getAdminId(); String adminId1 = String.valueOf(equipment.getAdminId()); if (adminId.equals(adminId1)) { promoCode = cod; } }else{ promoCode = cod; } } if(promoCode.getAdminId()==null){ //不是本机 // return JsonMessage.success("3"); return "3"; } Date lastUseDate = null; if (promoCode != null) { lastUseDate = promoCode.getLastUseDate(); } if (lastUseDate != null && lastUseDate.getTime() < ((new Date()).getTime())) { promoCode.setIsUse("2"); promoCodeService.updateById(promoCode); //过期 // return JsonMessage.success("4"); return "4"; } if (promoCode.getId() == null) { //不存在 // return JsonMessage.success("1"); return "1"; } if (promoCode.getIsUse().equals("1")) { //被使用 // return JsonMessage.success("2"); return "2"; } if(!promoCode.getAdminId().equals("1")){ if (String.valueOf(equipment.getAdminId()).equals(promoCode.getAdminId())) { } else { //不是本机 // return JsonMessage.success("3"); return "3"; } } if (promoCode.getDiscount() == null) { //旧优惠码 // return JsonMessage.success("0"); return "0"; } if (promoCode.getDiscount() != null && promoCode.getDiscount() == 0) { //0折 // return JsonMessage.success("0"); return "0"; } // return JsonMessage.success("success"); return "success"; } //验证优惠码 @RequestMapping(value = "/updateProportion.htm", method = RequestMethod.GET, produces = "text/html;charset=utf-8") @ResponseBody public String updateProportion(String clientId) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TEquipment::getClientId,clientId); List list = equipmentService.list(query); TEquipment equipment = list.get(0); if(equipment!=null&&equipment.getId()!=null){ TAdmin admin = adminService.getById(equipment.getAdminId()); String name = admin.getName(); if(StringUtils.isNotEmpty(name)&&name.substring(name.length()-1).equals("x")){ //查询机器是否已经有设置分销 LambdaQueryWrapper query1 = Wrappers.lambdaQuery(); query1.eq(TProportion::getClientId,equipment.getClientId()); query1.eq(TProportion::getEquipmentId,equipment.getId()); List list1 = proportionService.list(query1); if(list1.size()>0){ //已有 }else { //没有,需要创建 //1,判断是否新机器 Date createDate = equipment.getCreateDate(); long time = createDate.getTime(); DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String day= "2022-09-21 23:59:59"; try { Date parse = simpleDateFormat.parse(day); if(time>parse.getTime()){ return "新机器,不能已此方式生成分销!"; } } catch (ParseException e) { e.printStackTrace(); } //先找到原账户的分销 LambdaQueryWrapper query2 = Wrappers.lambdaQuery(); query2.eq(TProportion::getAdminId,admin.getId()); List list2 = proportionService.list(query2); if(list2.size()>0){ TProportion adminProportion = list2.get(0); TProportion equipmentProportion = new TProportion(); equipmentProportion.setCreateDate(new Date()); equipmentProportion.setModifyDate(new Date()); equipmentProportion.setAdminId(admin.getId()); equipmentProportion.setClientId(equipment.getClientId()); equipmentProportion.setEquipmentId(equipment.getId()); equipmentProportion.setAdminProportion(adminProportion.getAdminProportion()); Integer type = adminProportion.getType(); switch (type) { case 1: equipmentProportion.setProportion(adminProportion.getAgencyProportion()); equipmentProportion.setAgencyProportion(new BigDecimal("0.00")); equipmentProportion.setMerchantProportion(new BigDecimal("0.00")); equipmentProportion.setPersonageProportion(new BigDecimal("0.00")); equipmentProportion.setType(0); break; case 2: equipmentProportion.setProportion(adminProportion.getMerchantProportion()); equipmentProportion.setAgencyProportion(adminProportion.getAgencyProportion()); if(adminProportion.getAgencyProportion().compareTo(new BigDecimal("0.00"))!=0){ equipmentProportion.setAgencyId(admin.getAgencyId()); TAdmin byId = adminService.getById(admin.getAgencyId()); equipmentProportion.setAgencyName(byId.getUsername()); } equipmentProportion.setMerchantProportion(new BigDecimal("0.00")); equipmentProportion.setPersonageProportion(new BigDecimal("0.00")); equipmentProportion.setType(1); break; case 3: equipmentProportion.setProportion(adminProportion.getPersonageProportion()); equipmentProportion.setAgencyProportion(adminProportion.getAgencyProportion()); if(adminProportion.getAgencyProportion().compareTo(new BigDecimal("0.00"))!=0){ equipmentProportion.setAgencyId(admin.getAgencyId()); TAdmin byId = adminService.getById(admin.getAgencyId()); equipmentProportion.setAgencyName(byId.getUsername()); } equipmentProportion.setMerchantProportion(adminProportion.getMerchantProportion()); if(adminProportion.getMerchantProportion().compareTo(new BigDecimal("0.00"))!=0){ equipmentProportion.setMerchantId(admin.getMerchantId()); TAdmin byId = adminService.getById(admin.getMerchantId()); equipmentProportion.setMerchantName(byId.getUsername()); } equipmentProportion.setPersonageProportion(new BigDecimal("0.00")); equipmentProportion.setType(2); break; } boolean save = proportionService.save(equipmentProportion); }else { return "原账户没有设置分销!"; } } } } return "success"; } }