diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/service/XaApi.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/service/XaApi.java new file mode 100644 index 0000000..5d463da --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/service/XaApi.java @@ -0,0 +1,73 @@ +package net.shapelight.modules.xian.service; + +import com.alibaba.fastjson.JSONObject; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import net.shapelight.common.utils.DateUtils; +import net.shapelight.common.utils.MD5Utils; +import net.shapelight.modules.xian.utils.AESUtils; +import net.shapelight.modules.xian.utils.XaHttpUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class XaApi { + + private static final Logger log = LoggerFactory.getLogger(net.shapelight.modules.xian.service.XaApi.class); + + private static final String getXqAddrUrl = "http://117.34.12.66:10011/zhxqgl/interface/get_xq_addr.jsp"; + + private static final String getFwikUrl = "http://117.34.12.66:10011/ywxzservice/get_fwjk_url.jsp"; + + public static String getAddress(String xqid, String appId, String appSecret) { + Map postParameters = new HashMap<>(); + String appsecretMd5 = MD5Utils.getMD5Str(appSecret); + postParameters.put("xqid", xqid); + postParameters.put("appid", appId); + postParameters.put("appsecret", appsecretMd5); + return XaHttpUtils.postHttp("http://117.34.12.66:10011/zhxqgl/interface/get_xq_addr.jsp", postParameters); + } + + public static String getFwikUrl(String appId, String appSecret) { + Map postParameters = new HashMap<>(); + String appsecretMd5 = MD5Utils.getMD5Str(appSecret); + postParameters.put("appid", appId); + postParameters.put("appsecret", appsecretMd5); + String res = XaHttpUtils.postHttp("http://117.34.12.66:10011/ywxzservice/get_fwjk_url.jsp", postParameters); + JSONObject resObject = JSONObject.parseObject(res); + if (resObject != null) { + JSONObject xmlObject = resObject.getJSONObject("xml"); + String code = xmlObject.getString("code"); + if (code != null && code.equals("0000")) + return xmlObject.getString("data"); + log.error("获取接口地址错误,错误码:"+ xmlObject.getString("code") + ",错误信息:"+ xmlObject.getString("data")); + } + return null; + } + + public static String postData(String url, String appId, String appSecret, String tranId, String serviceId, String serviceValue, Map dataObject) { + String dataMingWen = JSONObject.toJSONString(dataObject); + String dataMiWen = null; + try { + dataMiWen = AESUtils.encrypt(dataMingWen, appSecret); + } catch (Exception e) { + log.error("加密数据时出错:"+ e.getMessage()); + return null; + } + if (dataMiWen != null) { + String tokenStr = appId + appSecret + DateUtils.format(new Date(), "YYYYMMDD") + dataMiWen; + String token = MD5Utils.getMD5Str(tokenStr); + Map headerMaps = new HashMap<>(); + headerMaps.put("appID", appId); + headerMaps.put("token", token); + headerMaps.put("tranId", tranId); + headerMaps.put("serviceId", serviceId); + headerMaps.put("serviceValue", serviceValue); + Map postParameters = new HashMap<>(); + postParameters.put("data", dataMiWen); + return ""; + } + return null; + } + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/AESUtils.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/AESUtils.java new file mode 100644 index 0000000..d82f765 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/AESUtils.java @@ -0,0 +1,103 @@ +package net.shapelight.modules.xian.utils; + +import com.alibaba.fastjson.JSONObject; +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; +import net.shapelight.common.utils.DateUtils; +import net.shapelight.modules.xian.vo.XaSYFW; + + +public class AESUtils { + + public static String encrypt(String sSrc, String sKey) throws Exception { + if (sKey == null) + return null; + if (sKey.length() != 32) + return null; + byte[] raw = parseHexStr2Byte(sKey); + SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(1, skeySpec); + byte[] encrypted = cipher.doFinal(sSrc.getBytes("utf-8")); + return parseByte2HexStr(encrypted); + } + + public static String decrypt(String sSrc, String sKey) throws Exception { + try { + if (sKey == null) + return null; + if (sKey.length() != 32) + return null; + byte[] raw = parseHexStr2Byte(sKey); + SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(2, skeySpec); + byte[] encrypted1 = parseHexStr2Byte(sSrc); + try { + byte[] original = cipher.doFinal(encrypted1); + String originalString = new String(original, "utf-8"); + return originalString; + } catch (Exception e) { + System.out.println(e.toString()); + return null; + } + } catch (Exception ex) { + System.out.println(ex.toString()); + return null; + } + } + + private static String parseByte2HexStr(byte[] buf) { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < buf.length; i++) { + String hex = Integer.toHexString(buf[i] & 0xFF); + if (hex.length() == 1) + hex = '0' + hex; + sb.append(hex.toUpperCase()); + } + return sb.toString(); + } + + private static byte[] parseHexStr2Byte(String hexStr) { + if (hexStr.length() < 1) + return null; + byte[] result = new byte[hexStr.length() / 2]; + for (int i = 0; i < hexStr.length() / 2; i++) { + int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16); + int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16); + result[i] = (byte)(high * 16 + low); + } + return result; + } + + public static void main(String[] args) throws Exception { + Date now = new Date(); + SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss"); + String s = df.format(now); + XaSYFW realRoom = new XaSYFW(); + realRoom.setLV_FWBM("123456781234567812345678"); + realRoom.setLV_DZBM("123456781234567812345678"); + realRoom.setLV_DZMC("陕西省西安市雁塔区科技二路78号太白阁c座10304室"); + realRoom.setLV_FWLB("1"); + realRoom.setLV_FWXZ("2"); + realRoom.setLV_FWYT("4"); + realRoom.setLV_SFCZF("否"); + realRoom.setLV_FZ_GMSFHM("123456781234567812"); + realRoom.setLV_FZ_XM("令狐传奇"); + realRoom.setLV_FZ_ZJZL("10"); + realRoom.setLV_FZ_ZJHM("123456781234567812"); + realRoom.setLV_FZ_LXDH("12345678912"); + realRoom.setLV_DJSJ(DateUtils.format(new Date(), "yyyyMMddHHmmss")); + realRoom.setLV_FWXZZ("1000"); + realRoom.setLV_FWJG("1"); + realRoom.setLV_COMPUTERID("123456781234567812345678"); + realRoom.setLV_SSXQBM("123456781234567812345678"); + realRoom.setLV_PROCMODE("PMINSERT"); + String object = JSONObject.toJSONString(realRoom); + int count = object.length(); + System.out.println(count); + } + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaConst.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaConst.java new file mode 100644 index 0000000..43c773e --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaConst.java @@ -0,0 +1,29 @@ +package net.shapelight.modules.xian.utils; + + + + +public class XaConst { + + public static final String REAL_ROOM = "SYFW"; + + public static final String REAL_PERSON = "SYRK"; + + public static final String DOOR_CARD = "MJKXX"; + + public static final String DEVICE = "MJSBXX"; + + public static final String VISITOR = "FKSQXX"; + + public static final String PERSON_RECORD = "RYSKZPXX"; + + public static final String CAR_RECORD = "TCCTCSBXX"; + + public static final String PERSSON_RECORD_IMAGE = "RYJCZPXX"; + + public static final String CAR_RECORD_IMAGE = "TCCTCSBZPXX"; + + public static final String REAL_PERSON_IMAGE = "RYRKPHOTO"; + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaHttpUtils.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaHttpUtils.java new file mode 100644 index 0000000..c424f31 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/utils/XaHttpUtils.java @@ -0,0 +1,132 @@ +package net.shapelight.modules.xian.utils; + + +import com.alibaba.fastjson.JSONObject; +import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.Map; +import net.shapelight.common.utils.DateUtils; +import net.shapelight.common.utils.MD5Utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.client.ClientHttpRequestFactory; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.http.converter.StringHttpMessageConverter; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.DefaultResponseErrorHandler; +import org.springframework.web.client.ResponseErrorHandler; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; + + +public class XaHttpUtils { + + private static final Logger log = LoggerFactory.getLogger(net.shapelight.modules.xian.utils.XaHttpUtils.class); + + private static final String appId = "1297164778041095"; + + private static final String appSecret = "22971647780410956329716477804109"; + + public static String postHttp(String url, Map postParameters) { + SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); + requestFactory.setConnectTimeout(180000); + requestFactory.setReadTimeout(180000); + RestTemplate restTemplate = new RestTemplate((ClientHttpRequestFactory)requestFactory); + restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); + restTemplate.setErrorHandler((ResponseErrorHandler)new DefaultResponseErrorHandler()); + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.add("Content-Type", "application/x-www-form-urlencoded"); + HttpEntity> requestEntity = new HttpEntity(postParameters, (MultiValueMap)requestHeaders); + String result = null; + for (int i = 1; i <= 3; i++) { + try { + result = (String)restTemplate.postForObject(url, requestEntity, String.class, new Object[0]); + return result; + } catch (RestClientException e) { + System.out.println("-----------" + i); + e.printStackTrace(); + } + } + return result; + } + + public static String postHttp(String url, Map postParameters, Map headerMaps) { + SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); + requestFactory.setConnectTimeout(180000); + requestFactory.setReadTimeout(180000); + RestTemplate restTemplate = new RestTemplate((ClientHttpRequestFactory)requestFactory); + restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); + restTemplate.setErrorHandler((ResponseErrorHandler)new DefaultResponseErrorHandler()); + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.add("Content-Type", "application/x-www-form-urlencoded"); + for (String key : headerMaps.keySet()) { + System.out.print(key + "-" + (String)headerMaps.get(key) + "\t"); + requestHeaders.add("key", headerMaps.get(key)); + } + HttpEntity> requestEntity = new HttpEntity(postParameters, (MultiValueMap)requestHeaders); + String result = null; + for (int i = 1; i <= 3; i++) { + try { + result = (String)restTemplate.postForObject(url, requestEntity, String.class, new Object[0]); + return result; + } catch (RestClientException e) { + System.out.println("-----------" + i); + e.printStackTrace(); + } + } + return result; + } + + public static String postHttp(String url, JSONObject params) { + SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); + requestFactory.setConnectTimeout(180000); + requestFactory.setReadTimeout(180000); + RestTemplate restTemplate = new RestTemplate((ClientHttpRequestFactory)requestFactory); + restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); + restTemplate.setErrorHandler((ResponseErrorHandler)new DefaultResponseErrorHandler()); + HttpHeaders requestHeaders = new HttpHeaders(); + requestHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8); + HttpEntity requestEntity = new HttpEntity(params, (MultiValueMap)requestHeaders); + String result = null; + for (int i = 1; i <= 3; i++) { + try { + result = (String)restTemplate.postForObject(url, requestEntity, String.class, new Object[0]); + return result; + } catch (RestClientException e) { + System.out.println("-----------" + i); + e.printStackTrace(); + } + } + return result; + } + + public String getToken(String appId, String appSecret, String requestPackage) { + return MD5Utils.getMD5Str(appId + appSecret + + + DateUtils.format(new Date(), "YYYYMMDD") + requestPackage); + } + + public String packageEncode(String appSecret, String packageString) { + try { + String res = AESUtils.encrypt(packageString, appSecret); + return res; + } catch (Exception e) { + log.error(e.getMessage()); + return null; + } + } + + public String packageDecode(String appSecret, String packageString) { + try { + String res = AESUtils.decrypt(packageString, appSecret); + return res; + } catch (Exception e) { + log.error(e.getMessage()); + return null; + } + } + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaCYRY.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaCYRY.java new file mode 100644 index 0000000..3f2319f --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaCYRY.java @@ -0,0 +1,36 @@ +package net.shapelight.modules.xian.vo; + +import lombok.Data; + +@Data +public class XaCYRY { + + private String LV_CYRYBM; + + private String LV_GMSFHM; + + private String LV_XM; + + private String LV_DWBM; + + private String LV_DWMC; + + private String LV_ZY; + + private String LV_ZYLB; + + private String LV_DJDWGAJGJGDM; + + private String LV_DJDWGAJGJGMC; + + private String LV_DJR; + + private String LV_DJSJ; + + private String LV_LXFS; + + private String LV_COMPUTERID; + + private String LV_PROCMODE = "PMINSERT"; + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaFKSQXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaFKSQXX.java new file mode 100644 index 0000000..54fa761 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaFKSQXX.java @@ -0,0 +1,28 @@ +package net.shapelight.modules.xian.vo; + +import lombok.Data; + +@Data +public class XaFKSQXX { + + + private String LV_SSXQBM; + + private String LV_GMSFHM; + + private String LV_XM; + + private String LV_LXDH; + + private String LV_DJRXM; + + private String LV_YDJRGX; + + private String LV_DJSJ; + + private String LV_YXQX; + + private String LV_PROCMODE = "PMINSERT"; + + private String LV_SBXT = "10"; +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaHeaderParam.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaHeaderParam.java index 0b9f277..6f8e86d 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaHeaderParam.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaHeaderParam.java @@ -22,6 +22,5 @@ public class XaHeaderParam { private String tranId; private String serviceId; private String serviceValue; - private String versionCode; } diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJKXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJKXX.java new file mode 100644 index 0000000..3f15cf1 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJKXX.java @@ -0,0 +1,21 @@ +package net.shapelight.modules.xian.vo; + +import lombok.Data; + +@Data +public class XaMJKXX { + + private String LV_MJKLX; + + private String LV_DJSJ; + + private String LV_SSXQBM; + + private String LV_SBXT; + + private String LV_CKR; + + private String LV_BH; + private String LV_PROCMODE = "PMINSERT"; + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJSBXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJSBXX.java new file mode 100644 index 0000000..51770be --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaMJSBXX.java @@ -0,0 +1,23 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaMJSBXX { + + private String LV_MJMC; + + private String LV_WZMS; + + private String LV_SFYSXT; + + private String LV_SSXQBM; + + private String LV_SBXT; + + private String LV_MJXTWYBM; + + private String LV_PROCMODE = "PMINSERT"; + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaPages.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaPages.java index 3da8877..3a79c31 100644 --- a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaPages.java +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaPages.java @@ -11,6 +11,6 @@ public class XaPages { */ private Integer psize; private Integer tcount; - private Integer pno; + private String pno = "1"; private Integer tsize; } diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYJCZPXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYJCZPXX.java new file mode 100644 index 0000000..b643e6a --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYJCZPXX.java @@ -0,0 +1,20 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaRYJCZPXX { + + + private String LV_SSXQBM; + + private String LV_MJXTWYBM; + + private String LV_ZPZP; + + private String LV_ZPSJ; + + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYRKPHOTO.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYRKPHOTO.java new file mode 100644 index 0000000..208493e --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYRKPHOTO.java @@ -0,0 +1,20 @@ +package net.shapelight.modules.xian.vo; + +import lombok.Data; + +@Data +public class XaRYRKPHOTO { + + + private String LV_CASE_ID; + + private String LV_SSXQBM; + + private String LV_ZP; + + private String LV_DJSJ; + + private String LV_GMSFHM; + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYSKZPXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYSKZPXX.java new file mode 100644 index 0000000..5fa49be --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaRYSKZPXX.java @@ -0,0 +1,28 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaRYSKZPXX { + + private String LV_SSXQBM; + + private String LV_MJBH; + + private String LV_CRLB; + + private String LV_ZPSJ; + + private String LV_SBXT = "10"; + + private String LV_MJXTWYBM; + + private String LV_RY_ID; + + private String LV_FFMS; + + + private String LV_PROCMODE = "PMINSERT"; + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYDW.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYDW.java new file mode 100644 index 0000000..fa2ee05 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYDW.java @@ -0,0 +1,38 @@ +package net.shapelight.modules.xian.vo; + +import lombok.Data; + +@Data +public class XaSYDW { + + + private String LV_DWBM; + + private String LV_DWMC; + + private String LV_DWDZBM; + + private String LV_DZLB; + + private String LV_HZDWLX; + + private String LV_DWXZ; + + private String LV_DJDWGAJGJGMC; + + private String LV_DJDWGAJGJGDM; + + private String LV_DJSJ; + + private String LV_DJR; + + private String LV_COMPUTERID; + + private String LV_SSXQBM; + + + private String LV_PROCMODE = "PMINSERT"; + + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYFW.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYFW.java new file mode 100644 index 0000000..0eb53a5 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaSYFW.java @@ -0,0 +1,46 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaSYFW { + + private String LV_FWBM; + + private String LV_DZBM; + + private String LV_DZMC; + + private String LV_FWLB = "1"; + + private String LV_FWXZ = "2"; + + private String LV_FWYT = "4"; + + private String LV_SFCZF = "否"; + + private String LV_FZ_GMSFHM; + + private String LV_FZ_XM; + + private String LV_FZ_ZJZL = "10"; + + private String LV_FZ_ZJHM; + + private String LV_FZ_LXDH; + + private String LV_DJSJ; + + private String LV_FWXZZ = "1000"; + + private String LV_FWJG = "1"; + + private String LV_COMPUTERID; + + private String LV_SSXQBM; + + private String LV_PROCMODE = "PMINSERT"; + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBXX.java new file mode 100644 index 0000000..18b0e3c --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBXX.java @@ -0,0 +1,26 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaTCCTCSBXX { + + private String LV_TCCBH; + + private String LV_CPHM; + + private String LV_CPLX; + + private String LV_GCSJ; + + private String LV_GCLX; + + private String LV_SBXT = "10"; + + private String LV_KKSBBH; + + private String LV_PROCMODE = "PMINSERT"; + + +} diff --git a/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBZPXX.java b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBZPXX.java new file mode 100644 index 0000000..ca41935 --- /dev/null +++ b/shapelight-admin/src/main/java/net/shapelight/modules/xian/vo/XaTCCTCSBZPXX.java @@ -0,0 +1,17 @@ +package net.shapelight.modules.xian.vo; + + +import lombok.Data; + +@Data +public class XaTCCTCSBZPXX { + + + private String LV_TCCBH; + + private String LV_ZPZP; + + private String LV_ZPSJ; + + +}