From f13536f98c1737bf1714b4e22eb207dd7f60285d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Fri, 14 Nov 2025 21:11:38 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E7=94=9F=E4=BA=A7=E8=AE=A1?= =?UTF-8?q?=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 养殖类租户,打印网箱能力. --- .../baseinfo/PlotInfoController.java | 9 +- .../farm/manager/printer/JbyPrintManager.java | 38 ++++ .../farm/manager/printer/conf/PrintConf.java | 23 ++ .../manager/printer/conf/PrintConstants.java | 21 ++ .../farm/manager/printer/dto/PrintReqDTO.java | 65 ++++++ .../manager/printer/dto/PrintRespDTO.java | 20 ++ .../farm/manager/printer/dto/PrintTask.java | 18 ++ .../manager/printer/utils/JbyPrintUtil.java | 202 ++++++++++++++++++ .../utils/PrintServerHttpClientUtil.java | 135 ++++++++++++ .../src/main/resources/application-gtr7.yaml | 1 + .../src/main/resources/application.yaml | 9 + yudao-server/src/main/resources/db.properties | 65 +++++- 12 files changed, 592 insertions(+), 14 deletions(-) create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/JbyPrintManager.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConf.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConstants.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintReqDTO.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintRespDTO.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintTask.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/JbyPrintUtil.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/PrintServerHttpClientUtil.java diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java index 424dbda2..fa41a789 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.*; +import cn.iocoder.yudao.module.farm.manager.printer.JbyPrintManager; import cn.iocoder.yudao.module.farm.service.plotinfo.PlotLesseeService; import io.swagger.v3.oas.annotations.Parameters; import org.springframework.web.bind.annotation.*; @@ -46,6 +47,8 @@ public class PlotInfoController { private PlotInfoService plotInfoService; @Resource private PlotLesseeService plotLesseeService; + @Resource + private JbyPrintManager printManager; @PostMapping("/create") @Operation(summary = "创建地块") @@ -129,9 +132,9 @@ public class PlotInfoController { @GetMapping("/grid-code/print") @Operation(summary = "网箱二维码打印") @Parameter(name = "planNumber", description = "生产计划编号", required = true) - public CommonResult gridPrint(@RequestParam("planNumber") String planNumber) { - - return success(true); + public CommonResult gridPrint(@RequestParam("planNumber") String planNumber) { + String msg = printManager.printGridCode(planNumber); + return success(msg); } } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/JbyPrintManager.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/JbyPrintManager.java new file mode 100644 index 00000000..55b5c847 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/JbyPrintManager.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.farm.manager.printer; + +import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.grid.ProductionPlanGridRespVO; +import cn.iocoder.yudao.module.farm.manager.printer.dto.PrintReqDTO; +import cn.iocoder.yudao.module.farm.manager.printer.dto.PrintTask; +import cn.iocoder.yudao.module.farm.manager.printer.utils.JbyPrintUtil; +import cn.iocoder.yudao.module.farm.service.productionplan.ProductionPlanService; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: binda + * @date: 2025/11/14 13:50 + */ +@Component +public class JbyPrintManager { + + private final JbyPrintUtil jbyPrintUtil; + private final ProductionPlanService productionPlanService; + + public JbyPrintManager(JbyPrintUtil jbyPrintUtil, ProductionPlanService productionPlanService) { + this.jbyPrintUtil = jbyPrintUtil; + this.productionPlanService = productionPlanService; + } + + public String printGridCode(String planNumber) { + ProductionPlanGridRespVO gridForPlan = productionPlanService.getGridForPlan(planNumber); + List rows = gridForPlan.getRows(); + List taskList = rows.stream() + .map(e -> new PrintTask(e.getGridCode(), new PrintReqDTO.PlanData(planNumber, e.getGridCode()))) + .toList(); + + return jbyPrintUtil.batchPrint(taskList); + } + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConf.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConf.java new file mode 100644 index 00000000..23147cf4 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConf.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.farm.manager.printer.conf; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * @description: TODO + * @author: binda + * @date: 2025/11/14 14:21 + */ +@Data +@Configuration +@ConfigurationProperties(prefix = "jby") +public class PrintConf { + + private String hosts; + private String apiKey; + private String memberCode; + private String templateId; + private String deviceId; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConstants.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConstants.java new file mode 100644 index 00000000..128b1113 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/conf/PrintConstants.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.farm.manager.printer.conf; + +/** + * @description: 佳博云打印机 + * @URL https://dev.poscom.cn/openapi?sendMsg + * @author: binda + * @date: 2025/11/14 14:30 + */ +public class PrintConstants { + + /** + * 打印信息的格式类型。取值范围[2-3] (无空格,如十六进制 0x12 0xAB 0xCD 0xEF,发送内容 12ABCDEF) + * mode=2,自由格式打印(推荐使用) + * mode=3,十六进制命令集或十六进制字符串打印 + */ + private final String MODE_2 = "2"; + private final String MODE_3 = "3"; + + + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintReqDTO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintReqDTO.java new file mode 100644 index 00000000..4f48ded7 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintReqDTO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.farm.manager.printer.dto; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 打印机请求参数 + * @author: binda + * @date: 2025/11/14 14:05 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PrintReqDTO { + + /** + * 当前UNIX时间戳。13位,精确到毫秒。 + */ + private String reqTime; + private String securityCode; + private String memberCode; + private String deviceID; + private String templetID; + private String tData; + + + /** + * 编码格式,取值范围[1-10] 默认1。 + * 1: GB18030 + * 2: GB2312 + * 3: GBK + * 4: UTF-8 + * 5: Unicode + * 6: ISO8859-1 + * 7: BIG5 + * 8: EUC-KR + * 9: TIS-620 + * 10: VISCII + */ + private String charset; + /** + *业务ID 一般由用户生成,用于跟踪订单状态 + */ + private String msgNo; + + /** + * 是否重新打印。取值范围[0-1] 0:否,1:是。默认值0。 + * 若是重新打印则系统允许 msgNo 字段重复,但不记录订单 + */ + private String reprint; + + private String times; + + + @Data + @AllArgsConstructor + @NoArgsConstructor + public static class PlanData { + private String planNumber; + private String gridCode; + } + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintRespDTO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintRespDTO.java new file mode 100644 index 00000000..357d305f --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintRespDTO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.farm.manager.printer.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author: binda + * @date: 2025/11/14 15:16 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PrintRespDTO { + private Integer code; + private String msg; + private Object data; + private String serverExecTime; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintTask.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintTask.java new file mode 100644 index 00000000..f3635106 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/dto/PrintTask.java @@ -0,0 +1,18 @@ +package cn.iocoder.yudao.module.farm.manager.printer.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: + * @author: binda + * @date: 2025/11/14 15:31 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PrintTask { + private String msgNo; + private PrintReqDTO.PlanData data; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/JbyPrintUtil.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/JbyPrintUtil.java new file mode 100644 index 00000000..af8ede9e --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/JbyPrintUtil.java @@ -0,0 +1,202 @@ +package cn.iocoder.yudao.module.farm.manager.printer.utils; + + +import cn.iocoder.yudao.module.farm.manager.printer.conf.PrintConf; +import cn.iocoder.yudao.module.farm.manager.printer.dto.PrintReqDTO; +import cn.iocoder.yudao.module.farm.manager.printer.dto.PrintTask; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.codec.digest.DigestUtils; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author + * @description + * @date 2025/7/18 + */ +@Slf4j +@Component +public class JbyPrintUtil { + + private final PrintConf printConf; + private final PrintServerHttpClientUtil httpClientUtil; + + public JbyPrintUtil(PrintConf printConf, PrintServerHttpClientUtil httpClientUtil) { + this.printConf = printConf; + this.httpClientUtil = httpClientUtil; + } + + /** + * 批量打印方法 + */ + public String batchPrint(List tasks) { + if (tasks == null || tasks.isEmpty()) { + return buildSuccessResult("无打印任务"); + } + + log.info("开始批量打印,任务数量: {}", tasks.size()); + int successCount = 0; + + for (PrintTask task : tasks) { + try { + String result = print( + task.getMsgNo(), + printConf.getDeviceId(), + printConf.getTemplateId(), + 1L, + task.getData() + ); + + // 检查API返回结果 + if (!isSuccessResult(result)) { + log.error("打印API返回错误,停止批量打印: msgNo={}, result={}", task.getMsgNo(), result); + return buildErrorResultFromResponse(result); + } + + successCount++; + log.info("打印任务成功: msgNo={}", task.getMsgNo()); + + } catch (Exception e) { + // print方法异常,立即返回 + log.error("打印任务异常,停止批量打印: msgNo={}", task.getMsgNo(), e); + return buildErrorResult("打印系统异常: " + e.getMessage()); + } + } + + log.info("批量打印全部成功,共{}条任务", successCount); + return buildSuccessResult("成功打印" + successCount + "个任务"); + } + + /** + * 单条打印 + * + * @param msgNo + * @param deviceID + * @param templateId + * @param times + * @param data + * @return + */ + public String print(String msgNo, + String deviceID, + String templateId, + Long times, + PrintReqDTO.PlanData data) { + try { + String reqTime = String.valueOf(System.currentTimeMillis()); + + String securityCode = generateSecurityCode(deviceID, msgNo, reqTime); + + // 构建符合服务商要求的参数Map + Map params = buildPrintParams(msgNo, deviceID, templateId, times, data, reqTime, securityCode); + + log.info("发送打印请求: msgNo={}, deviceID={}, template={}", msgNo, deviceID, templateId); + log.info("请求参数: {}", params); + + // 使用表单格式发送请求 + String result = httpClientUtil.postForm(printConf.getHosts(), params); + + log.info("打印响应: {}", result); + + return result; + + } catch (Exception e) { + log.error("打印请求失败: msgNo={}, deviceID={}, error={}", msgNo, deviceID, e.getMessage(), e); + throw new RuntimeException("打印服务调用失败", e); + } + } + + /** + * 构建符合服务商要求的参数Map + */ + private Map buildPrintParams(String msgNo, String deviceID, String template, + Long printTime, PrintReqDTO.PlanData data, + String reqTime, String securityCode) { + Map params = new HashMap<>(); + + // 严格按照服务商示例的参数名和顺序 + params.put("reqTime", reqTime); + params.put("securityCode", securityCode); + params.put("memberCode", printConf.getMemberCode()); + params.put("templetID", template); + params.put("deviceID", deviceID != null ? deviceID : "undefined"); + params.put("token", ""); + params.put("tData", data != null ? JSON.toJSONString(data) : ""); + params.put("reprint", "0"); + params.put("multi", "0"); // 服务商示例中有这个参数 + params.put("msgNo", msgNo != null ? msgNo : ""); + params.put("charset", "1"); + params.put("times", printTime != null ? printTime.toString() : "1"); + return params; + } + + /** + * 生成安全码 + */ + private String generateSecurityCode(String deviceID, String msgNo, String reqTime) { + String source = printConf.getMemberCode() + deviceID + msgNo + reqTime + printConf.getApiKey(); + return DigestUtils.md5Hex(source); + } + + /** + * 构建成功结果 + */ + private String buildSuccessResult(String message) { + JSONObject result = new JSONObject(); + result.put("code", 0); + result.put("msg", message); + result.put("success", true); + return result.toJSONString(); + } + + /** + * 构建错误结果(自定义错误信息) + */ + private String buildErrorResult(String errorMessage) { + JSONObject result = new JSONObject(); + result.put("code", -1); + result.put("msg", errorMessage); + result.put("success", false); + return result.toJSONString(); + } + + /** + * 从API响应中构建错误结果 + */ + private String buildErrorResultFromResponse(String apiResponse) { + try { + JSONObject responseJson = JSON.parseObject(apiResponse); + Integer code = responseJson.getInteger("code"); + String msg = responseJson.getString("msg"); + + JSONObject result = new JSONObject(); + result.put("code", code != null ? code : -1); + result.put("msg", msg != null ? msg : "打印服务返回错误"); + result.put("success", false); + result.put("originalResponse", apiResponse); // 保留原始响应 + + return result.toJSONString(); + } catch (Exception e) { + // 如果解析失败,使用自定义错误信息 + return buildErrorResult("打印服务返回异常结果: " + apiResponse); + } + } + + /** + * 判断API响应是否成功 + */ + private boolean isSuccessResult(String result) { + try { + JSONObject json = JSON.parseObject(result); + Integer code = json.getInteger("code"); + return code != null && code == 0; + } catch (Exception e) { + return false; + } + } +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/PrintServerHttpClientUtil.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/PrintServerHttpClientUtil.java new file mode 100644 index 00000000..58234935 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/manager/printer/utils/PrintServerHttpClientUtil.java @@ -0,0 +1,135 @@ +package cn.iocoder.yudao.module.farm.manager.printer.utils; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.stereotype.Component; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; + +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; + +/** + * @description: 打印机 httpClient 氢气工具 + * @author: binda + * @date: 2025/11/14 15:22 + */ +@Slf4j +@Component +public class PrintServerHttpClientUtil { + + private final RestTemplate restTemplate; + + public PrintServerHttpClientUtil(RestTemplate restTemplate) { + this.restTemplate = restTemplate; + } + + private RestTemplate createRestTemplate() { + RestTemplate restTemplate = new RestTemplate(); + + // 设置消息转换器 + restTemplate.setMessageConverters(Arrays.asList( + new StringHttpMessageConverter(StandardCharsets.UTF_8), + new MappingJackson2HttpMessageConverter() + )); + + // 设置请求工厂 + HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); + factory.setConnectionRequestTimeout(5000); + factory.setConnectTimeout(5000); + factory.setReadTimeout(10000); + restTemplate.setRequestFactory(factory); + + return restTemplate; + } + + /** + * POST请求 - 发送JSON数据 + */ + public T postForObject(String url, Object request, Class responseType) { + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); + + HttpEntity entity = new HttpEntity<>(request, headers); + + return restTemplate.postForObject(url, entity, responseType); + } catch (RestClientException e) { + throw new RuntimeException("HTTP请求失败: " + e.getMessage(), e); + } + } + + /** + * POST请求 - 发送表单数据(佳博云API需要表单格式) + */ + public String postForm(String url, Map params) { + try { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + + MultiValueMap formData = new LinkedMultiValueMap<>(); + params.forEach(formData::add); + + HttpEntity> entity = new HttpEntity<>(formData, headers); + + ResponseEntity response = restTemplate.postForEntity(url, entity, String.class); + return response.getBody(); + + } catch (RestClientException e) { + throw new RuntimeException("HTTP请求失败: " + e.getMessage(), e); + } + } + + /** + * GET请求 + */ + public T getForObject(String url, Class responseType, Object... uriVariables) { + try { + return restTemplate.getForObject(url, responseType, uriVariables); + } catch (RestClientException e) { + throw new RuntimeException("HTTP请求失败: " + e.getMessage(), e); + } + } + + /** + * GET请求 - 带查询参数 + */ + public T getForObject(String url, Class responseType, Map params) { + try { + if (params != null && !params.isEmpty()) { + StringBuilder urlBuilder = new StringBuilder(url); + urlBuilder.append("?"); + params.forEach((key, value) -> + urlBuilder.append(key).append("=").append(value).append("&")); + url = urlBuilder.substring(0, urlBuilder.length() - 1); + } + return restTemplate.getForObject(url, responseType); + } catch (RestClientException e) { + throw new RuntimeException("HTTP请求失败: " + e.getMessage(), e); + } + } + + /** + * 带异常处理的POST请求 + */ + public T postWithExceptionHandler(String url, Object request, Class responseType) { + try { + return postForObject(url, request, responseType); + } catch (Exception e) { + // 这里可以记录日志或进行其他异常处理 + throw new RuntimeException("调用外部服务失败: " + e.getMessage(), e); + } + } + +} diff --git a/yudao-server/src/main/resources/application-gtr7.yaml b/yudao-server/src/main/resources/application-gtr7.yaml index 76f72134..99f226a1 100644 --- a/yudao-server/src/main/resources/application-gtr7.yaml +++ b/yudao-server/src/main/resources/application-gtr7.yaml @@ -62,6 +62,7 @@ spring: host: ${redis.host} port: ${redis.port} database: ${redis.database} + username: ${redis.username} password: ${redis.password} mongodb: uri: mongodb://mongo_BiKBdR:mongo_KaShrX@223.83.129.121:27017/farming-platform-iot?authSource=farming-platform-iot diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index 3b789c13..3066ea79 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -345,6 +345,7 @@ spring: max-size: 32 # 最大线程数 queue-capacity: 1000 # 队列容量 keep-alive: 60s # 空闲线程存活时间 + # 万懋wms系统 wms: hosts: ${wanmao.wms.hosts} @@ -396,9 +397,17 @@ weather: url-1: https://restapi.amap.com/v3/geocode/regeo?location={0},{1}&key={2} # 经纬度逆解析 GET url-2: https://restapi.amap.com/v3/weather/weatherInfo?city={0}&key={1} # 获取天气信息 GET +# 公司联系方式 company: contact-number: 40088888 email: weixucz@isoftstone.com address: 江西省南昌市xxx-xxx-C4-1717室 +# 打印机 +jby: + hosts: ${print.jby.hosts} + apikey: ${print.jby.api-key} + member-code: ${print.jby.member-code} + template-id: ${print.jby.template-id} + device-id: ${print.jby.device-id} diff --git a/yudao-server/src/main/resources/db.properties b/yudao-server/src/main/resources/db.properties index b0577db5..c169e3ba 100644 --- a/yudao-server/src/main/resources/db.properties +++ b/yudao-server/src/main/resources/db.properties @@ -1,16 +1,17 @@ ######################### -###########wanmao########### +# wanmao server ######################### mysql.url=jdbc:mysql://223.83.129.121:3360/farming-platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true -#mysql.url=jdbc:mysql://Mysql:3360/farming-platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true +#mysql.url=jdbc:mysql://Mysql:3306/farming-platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true mysql.username=farming-platform mysql.password=wCM7fBMhFP3zNdJ3 redis.host= 112.126.60.236 #redis.host=Redis redis.port=65532 -redis.database=0 +redis.database=5 +redis.username= redis.password=luxifa970219 wm.wx.mp.app-id=wx508d9a9ab84f67d0 @@ -27,34 +28,76 @@ wanmao.wms.hosts=https://wms.simple.gltec.cn/prod-api # gaode key gaode.weather.webkey=ea0a0486aaea8dbf9f68274df1160df3 +# print +print.jby.hosts=http://api.poscom.cn/apisc/templetPrint +print.jby.api-key=8KOSGN3SX11QV80IY8N6PYFMNF29R1N9 +print.jby.member-code=7A7453F04CB067987229F7BBAD888CFF +print.jby.template-id=be64feabccf44de189f7019daa0dd7fb +print.jby.device-id=00543113467925660 +#======================== +# wan mao server +#======================== + +#mysql.url=jdbc:mysql://rm-2ze979o6dt71z2mf6so.mysql.rds.aliyuncs.com:3306/farming-platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true +#mysql.username=root +#mysql.password=Wm@123456 +# +#redis.host=r-2zepgu4tu2ofnhhgzopd.redis.rds.aliyuncs.com +#redis.port=6379 +#redis.database=5 +#redis.username=yunge +#redis.password=Yunge123 +# +#wm.wx.mp.app-id=wx508d9a9ab84f67d0 +#wm.wx.mp.secret=92c571b9973f9078c11da47a16c4094c +#wm.wx.miniapp.app-id=wx508d9a9ab84f67d0 +#wm.wx.miniapp.secret=92c571b9973f9078c11da47a16c4094c +# +#wanmao.wms.url_1=getTenantByMobile +## prod +#wanmao.wms.hosts=https://wms.simple.gltec.cn/prod-api +## test +##wanmao.wms.hosts=47.111.15.9:8074/prod-api +# +## gaode key +#gaode.weather.webkey=ea0a0486aaea8dbf9f68274df1160df3 +# +## print +#print.jby.hosts=http://api.poscom.cn/apisc/templetPrint +#print.jby.api-key=8KOSGN3SX11QV80IY8N6PYFMNF29R1N9 +#print.jby.member-code=7A7453F04CB067987229F7BBAD888CFF +#print.jby.template-id=be64feabccf44de189f7019daa0dd7fb +#print.jby.device-id=00543113467925660 -######################### -###########jishui########### -######################### + + + +#======================== +# ji shui server +#======================== #mysql.url=jdbc:mysql://rm-bp10c7f0fou5efc95fo.mysql.rds.aliyuncs.com:3306/farming-platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true #mysql.username=root #mysql.password=Jsnm2025 -# + #redis.host=r-bp14zubs85fmfuhnw7pd.redis.rds.aliyuncs.com #redis.port=6379 #redis.database=1 #redis.password=m&wRPVcyy7Gl -# + #wm.wx.mp.app-id=wxde87f69bb4a2cf5c #wm.wx.mp.secret=a5e114df50a86c2578af255adba1c3e7 #wm.wx.miniapp.app-id=wxde87f69bb4a2cf5c #wm.wx.miniapp.secret=a5e114df50a86c2578af255adba1c3e7 -# + #wms.hosts=https://wms.jslstec.cn/prod-api #wms.url_1=getTenantByMobile -# -#weather.webkey=6e867624a911d74e673f5e68c52a61e7 \ No newline at end of file +#gaode.weather.webkey=6e867624a911d74e673f5e68c52a61e7 \ No newline at end of file