推送运营商、门店新增
This commit is contained in:
161
ruoyi-admin/src/main/java/com/ruoyi/api/DataPushApi.java
Normal file
161
ruoyi-admin/src/main/java/com/ruoyi/api/DataPushApi.java
Normal file
@ -0,0 +1,161 @@
|
||||
package com.ruoyi.api;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.ruoyi.orders.domain.ZcOrderSub;
|
||||
import com.ruoyi.orders.dto.RefundRequest;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class DataPushApi {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DataPushApi.class);
|
||||
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@Value(value = "${pay.refundUrl}")
|
||||
private String refundUrl;
|
||||
|
||||
@Value(value = "${dataPush.sendAddCompanyUrl}")
|
||||
private String sendAddCompanyUrl;
|
||||
@Value(value = "${dataPush.sendAddStoreUrl}")
|
||||
private String sendAddStoreUrl;
|
||||
@Value(value = "${dataPush.sendAddUserUrl}")
|
||||
private String sendAddUserUrl;
|
||||
|
||||
/**
|
||||
* 发送添加运营商信息
|
||||
* @param companyId
|
||||
*/
|
||||
public boolean sendAddCompany(Long companyId) {
|
||||
return sendDataId(sendAddCompanyUrl, companyId, "运营商");
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送添加门店信息
|
||||
* @param storeId
|
||||
*/
|
||||
public boolean sendAddStore(Long storeId) {
|
||||
return sendDataId(sendAddStoreUrl, storeId, "门店");
|
||||
}
|
||||
/**
|
||||
* 发送添加用户信息
|
||||
* @param userId
|
||||
*/
|
||||
public boolean sendAddUser(Long userId) {
|
||||
return sendDataId(sendAddUserUrl, userId, "用户");
|
||||
}
|
||||
|
||||
|
||||
private boolean sendDataId(String url,Long id,String name) {
|
||||
try {
|
||||
// 发送HTTP请求调用添加接口
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.getForEntity(url + id, String.class);
|
||||
|
||||
// 处理添加接口响应
|
||||
if (response.getStatusCode() == HttpStatus.OK) {
|
||||
// 解析响应内容,检查return_code是否为SUCCESS
|
||||
String responseBody = response.getBody();
|
||||
if (responseBody != null) {
|
||||
try {
|
||||
// 使用ObjectMapper解析JSON响应
|
||||
Map<String, Object> responseMap = objectMapper.readValue(responseBody, Map.class);
|
||||
Object returnCode = responseMap.get("code");
|
||||
if ("200".equals(returnCode)) {
|
||||
logger.info("推送{}ID成功,ID: {}", name, id);
|
||||
return true;
|
||||
} else {
|
||||
logger.error("推送{}ID失败,ID: {},响应: {}", name, id, responseBody);
|
||||
return false;
|
||||
}
|
||||
} catch (Exception jsonEx) {
|
||||
logger.error("推送{}ID接口响应异常,ID: {},响应: {}", name, id, responseBody, jsonEx);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("推送{}ID返回空响应,ID: {}", name, id);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("推送{}ID,ID: {},响应: {}", name, id, response.getBody());
|
||||
return false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("推送门店ID异常,ID: " + name, id, e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 调用退款接口
|
||||
* @param refundSub
|
||||
* @param operatorId 运营商ID
|
||||
* @return 退款是否成功
|
||||
*/
|
||||
public boolean callRefundApi(ZcOrderSub refundSub, Long operatorId) {
|
||||
String refundNo = refundSub.getRefundId();
|
||||
try {
|
||||
// 准备退款请求参数
|
||||
RefundRequest refundRequest = new RefundRequest();
|
||||
refundRequest.setCompanyId(operatorId);// 运营商id
|
||||
refundRequest.setOutTradeNo(refundSub.getPaymentId()); // 原始押金子订单payment_id
|
||||
refundRequest.setOutRefundNo(refundNo);// 退款子订单编号
|
||||
refundRequest.setRefundDesc("手动结束订单退款");// 退款描述
|
||||
refundRequest.setTotalFee(new BigDecimal(0));
|
||||
refundRequest.setRefundFee(refundSub.getAmount().multiply(new BigDecimal(100))); // 退款金额 分
|
||||
|
||||
// 发送HTTP请求调用退款接口
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
|
||||
HttpEntity<RefundRequest> requestEntity = new HttpEntity<>(refundRequest, headers);
|
||||
|
||||
// 打印请求参数便于调试
|
||||
String jsonParams = objectMapper.writeValueAsString(refundRequest);
|
||||
logger.info("退款请求参数: {}", jsonParams);
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(refundUrl, requestEntity, String.class);
|
||||
|
||||
// 处理退款接口响应
|
||||
if (response.getStatusCode() == HttpStatus.OK) {
|
||||
// 解析响应内容,检查return_code是否为SUCCESS
|
||||
String responseBody = response.getBody();
|
||||
if (responseBody != null) {
|
||||
try {
|
||||
// 使用ObjectMapper解析JSON响应
|
||||
Map<String, Object> responseMap = objectMapper.readValue(responseBody, Map.class);
|
||||
Object returnCode = responseMap.get("return_code");
|
||||
if ("SUCCESS".equals(returnCode)) {
|
||||
logger.info("退款成功,退款单号: {}", refundNo);
|
||||
return true;
|
||||
} else {
|
||||
logger.error("退款失败,退款单号: {},响应: {}", refundNo, responseBody);
|
||||
return false;
|
||||
}
|
||||
} catch (Exception jsonEx) {
|
||||
logger.error("解析退款接口响应异常,退款单号: {},响应: {}", refundNo, responseBody, jsonEx);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("退款接口返回空响应,退款单号: {}", refundNo);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("退款失败,退款单号: {},响应: {}", refundNo, response.getBody());
|
||||
return false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("调用退款接口异常,退款单号: " + refundNo, e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.baseUser.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.api.DataPushApi;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
@ -36,6 +37,8 @@ public class ZcBaseUserController extends BaseController
|
||||
|
||||
@Autowired
|
||||
private IZcBaseUserService zcBaseUserService;
|
||||
@Autowired
|
||||
private DataPushApi dataPushApi;
|
||||
|
||||
@RequiresPermissions("baseUser:user:view")
|
||||
@GetMapping()
|
||||
@ -93,7 +96,12 @@ public class ZcBaseUserController extends BaseController
|
||||
@ResponseBody
|
||||
public AjaxResult addSave(ZcBaseUser zcBaseUser)
|
||||
{
|
||||
return toAjax(zcBaseUserService.insertZcBaseUser(zcBaseUser));
|
||||
int flag = zcBaseUserService.insertZcBaseUser(zcBaseUser);
|
||||
if(flag > 0){
|
||||
// 推送用户ID
|
||||
dataPushApi.sendAddUser(zcBaseUser.getId());
|
||||
}
|
||||
return toAjax(flag);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.operation.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.api.DataPushApi;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.exception.RRException;
|
||||
@ -53,6 +54,9 @@ public class CompanyController extends BaseController
|
||||
@Autowired
|
||||
private ISysAreaHnService areaHnService;
|
||||
|
||||
@Autowired
|
||||
private DataPushApi dataPushApi;
|
||||
|
||||
@RequiresPermissions("operation:company:view")
|
||||
@GetMapping()
|
||||
public String company()
|
||||
@ -125,6 +129,10 @@ public class CompanyController extends BaseController
|
||||
}
|
||||
company.setCreateBy(getLoginName());
|
||||
int flag = companyService.insertCompany(company);
|
||||
if(flag > 0){
|
||||
// 推送运营商ID
|
||||
dataPushApi.sendAddCompany(company.getId());
|
||||
}
|
||||
return toAjax(flag);
|
||||
}
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.operation.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.api.DataPushApi;
|
||||
import com.ruoyi.baseUser.domain.ZcBaseUser;
|
||||
import com.ruoyi.baseUser.service.IZcBaseUserService;
|
||||
import com.ruoyi.common.constant.CompanyConstants;
|
||||
@ -41,7 +42,8 @@ public class CompanyStoreController extends BaseController
|
||||
private ICompanyService companyService;
|
||||
@Autowired
|
||||
private IZcBaseUserService zcBaseUserService;
|
||||
|
||||
@Autowired
|
||||
private DataPushApi dataPushApi;
|
||||
|
||||
@RequiresPermissions("operation:store:view")
|
||||
@GetMapping()
|
||||
@ -118,7 +120,12 @@ public class CompanyStoreController extends BaseController
|
||||
return error("新增失败,门店编号'" + companyStore.getStoreNumber() + "'已存在");
|
||||
}
|
||||
companyStore.setCreateBy(getLoginName());
|
||||
return toAjax(companyStoreService.insertCompanyStore(companyStore));
|
||||
int flag = companyStoreService.insertCompanyStore(companyStore);
|
||||
if(flag > 0){
|
||||
// 推送门店ID
|
||||
dataPushApi.sendAddStore(companyStore.getId());
|
||||
}
|
||||
return toAjax(flag);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.operation.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.api.DataPushApi;
|
||||
import com.ruoyi.common.constant.CompanyConstants;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
@ -21,6 +22,7 @@ import com.ruoyi.operation.mapper.CompanyMapper;
|
||||
import com.ruoyi.operation.domain.Company;
|
||||
import com.ruoyi.operation.service.ICompanyService;
|
||||
import com.ruoyi.common.core.text.Convert;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 运营商Service业务层处理
|
||||
@ -43,6 +45,7 @@ public class CompanyServiceImpl implements ICompanyService
|
||||
private ISysAreaHnService areaHnService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 查询运营商
|
||||
*
|
||||
@ -94,6 +97,7 @@ public class CompanyServiceImpl implements ICompanyService
|
||||
* @param company 运营商
|
||||
* @return 结果
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int insertCompany(Company company)
|
||||
{
|
||||
|
||||
@ -87,7 +87,7 @@ public class CompanyStoreServiceImpl implements ICompanyStoreService
|
||||
companyStore.setCreateTime(DateUtils.getNowDate());
|
||||
companyStore.setUpdateTime(DateUtils.getNowDate());
|
||||
companyStore.setStatus("0");
|
||||
|
||||
companyStore.setAddress(companyStore.getProvinceName()+companyStore.getCityName()+companyStore.getAreaName());
|
||||
setAreaInfo(companyStore);
|
||||
int flag = companyStoreMapper.insertCompanyStore(companyStore);
|
||||
if(flag > 0){
|
||||
@ -106,7 +106,7 @@ public class CompanyStoreServiceImpl implements ICompanyStoreService
|
||||
private void setAreaInfo(CompanyStore companyStore){
|
||||
//获取当前区划
|
||||
String areaCode = companyStore.getAreaId();
|
||||
SysAreaHn areaHn = sysAreaHnService.selectSysAreaHnByCode(areaCode.substring(0,4)+"00000000");
|
||||
SysAreaHn areaHn = sysAreaHnService.selectSysAreaHnByCode(areaCode.substring(0,4)+"00");
|
||||
companyStore.setCityId(areaHn.getAreaCode());
|
||||
companyStore.setCityName(areaHn.getName());
|
||||
companyStore.setProvinceId(areaHn.getParentCode());
|
||||
@ -124,7 +124,7 @@ public class CompanyStoreServiceImpl implements ICompanyStoreService
|
||||
{
|
||||
companyStore.setUpdateTime(DateUtils.getNowDate());
|
||||
companyStore.setStatus("0");
|
||||
|
||||
companyStore.setAddress(companyStore.getProvinceName()+companyStore.getCityName()+companyStore.getAreaName());
|
||||
setAreaInfo(companyStore);
|
||||
return companyStoreMapper.updateCompanyStore(companyStore);
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.api.DataPushApi;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.ShiroUtils;
|
||||
import com.ruoyi.operation.domain.ZcCar;
|
||||
@ -57,10 +58,8 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService
|
||||
@Autowired
|
||||
private IZcCarService zcCarService;
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
private DataPushApi dataPushApi;
|
||||
|
||||
@Value(value = "${pay.refundUrl}")
|
||||
private String refundUrl;
|
||||
|
||||
/**
|
||||
* 查询租车订单
|
||||
@ -152,6 +151,7 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService
|
||||
return zcOrderMainMapper.deleteZcOrderMainByOrderId(orderId);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public int updateManualEndOrder(Long orderId) {
|
||||
// 1. 参数校验
|
||||
@ -229,19 +229,20 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService
|
||||
refundSub.setRefundId(suborderNo);
|
||||
refundSub.setCreateTime(DateUtils.getNowDate());
|
||||
|
||||
// // 调用退款接口并检查结果
|
||||
// boolean bool = callRefundApi(querySub, suborderNo, refundAmount, queryOrder.getOperatorId());
|
||||
// if(bool) {
|
||||
// // 创建退款成功子订单
|
||||
// zcOrderSubService.insertZcOrderSub(refundSub);
|
||||
// }
|
||||
// return bool;
|
||||
// 调用退款接口并检查结果
|
||||
boolean bool = dataPushApi.callRefundApi(refundSub, queryOrder.getOperatorId());
|
||||
if(bool) {
|
||||
// 创建退款成功子订单
|
||||
refundSub.setPayStatus("SUCCESS");
|
||||
zcOrderSubService.insertZcOrderSub(refundSub);
|
||||
}
|
||||
return bool;
|
||||
|
||||
// 在新事务中插入退款子订单
|
||||
insertRefundSubInNewTransaction(refundSub);
|
||||
|
||||
// 调用退款接口并检查结果(此时数据库中已有退款订单数据)
|
||||
return callRefundApi(refundSub, queryOrder.getOperatorId());
|
||||
// // 在新事务中插入退款子订单
|
||||
// insertRefundSubInNewTransaction(refundSub);
|
||||
//
|
||||
// // 调用退款接口并检查结果(此时数据库中已有退款订单数据)
|
||||
// return callRefundApi(refundSub, queryOrder.getOperatorId());
|
||||
|
||||
}
|
||||
return true; // 如果没有押金子订单,认为退款成功
|
||||
@ -255,7 +256,7 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService
|
||||
zcOrderSubService.insertZcOrderSub(refundSub);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
||||
public int updateRefundZcOrderMain(Long orderId, ZcOrderMain queryOrder){
|
||||
// 4. 退款成功后,更新订单状态
|
||||
ZcOrderMain zcOrderMain = new ZcOrderMain();
|
||||
@ -286,69 +287,6 @@ public class ZcOrderMainServiceImpl implements IZcOrderMainService
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用退款接口
|
||||
* @param refundSub
|
||||
* @param operatorId 运营商ID
|
||||
* @return 退款是否成功
|
||||
*/
|
||||
private boolean callRefundApi(ZcOrderSub refundSub, Long operatorId) {
|
||||
String refundNo = refundSub.getRefundId();
|
||||
try {
|
||||
// 准备退款请求参数
|
||||
RefundRequest refundRequest = new RefundRequest();
|
||||
refundRequest.setCompanyId(operatorId);// 运营商id
|
||||
refundRequest.setOutTradeNo(refundSub.getPaymentId()); // 原始押金子订单payment_id
|
||||
refundRequest.setOutRefundNo(refundNo);// 退款子订单编号
|
||||
refundRequest.setRefundDesc("手动结束订单退款");// 退款描述
|
||||
refundRequest.setTotalFee(new BigDecimal(0));
|
||||
refundRequest.setRefundFee(refundSub.getAmount().multiply(new BigDecimal(100))); // 退款金额 分
|
||||
|
||||
// 发送HTTP请求调用退款接口
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||
|
||||
HttpEntity<RefundRequest> requestEntity = new HttpEntity<>(refundRequest, headers);
|
||||
|
||||
// 打印请求参数便于调试
|
||||
String jsonParams = objectMapper.writeValueAsString(refundRequest);
|
||||
logger.info("退款请求参数: {}", jsonParams);
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(refundUrl, requestEntity, String.class);
|
||||
|
||||
// 处理退款接口响应
|
||||
if (response.getStatusCode() == HttpStatus.OK) {
|
||||
// 解析响应内容,检查return_code是否为SUCCESS
|
||||
String responseBody = response.getBody();
|
||||
if (responseBody != null) {
|
||||
try {
|
||||
// 使用ObjectMapper解析JSON响应
|
||||
Map<String, Object> responseMap = objectMapper.readValue(responseBody, Map.class);
|
||||
Object returnCode = responseMap.get("return_code");
|
||||
if ("SUCCESS".equals(returnCode)) {
|
||||
logger.info("退款成功,退款单号: {}", refundNo);
|
||||
return true;
|
||||
} else {
|
||||
logger.error("退款失败,退款单号: {},响应: {}", refundNo, responseBody);
|
||||
return false;
|
||||
}
|
||||
} catch (Exception jsonEx) {
|
||||
logger.error("解析退款接口响应异常,退款单号: {},响应: {}", refundNo, responseBody, jsonEx);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("退款接口返回空响应,退款单号: {}", refundNo);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
logger.error("退款失败,退款单号: {},响应: {}", refundNo, response.getBody());
|
||||
return false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("调用退款接口异常,退款单号: " + refundNo, e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增租车子订单信息
|
||||
|
||||
@ -85,3 +85,8 @@ renren:
|
||||
|
||||
pay:
|
||||
refundUrl: http://115.190.8.52:8019/api/payment/refund
|
||||
|
||||
dataPush:
|
||||
sendAddCompanyUrl: http://115.190.8.52:8016/send/companyinfo/
|
||||
sendAddStoreUrl: http://115.190.8.52:8016/send/storeinfo/
|
||||
sendAddUserUrl: http://115.190.8.52:8016/send/userinfo/
|
||||
|
||||
@ -56,9 +56,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地址:</label>
|
||||
<label class="col-sm-3 control-label is-required">地址:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="address" class="form-control" type="text" maxlength="100">
|
||||
<input name="address" class="form-control" type="text" maxlength="100" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -112,19 +112,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* 用户管理-修改-选择部门树 */
|
||||
function selectDeptTree() {
|
||||
var deptId = $.common.isEmpty($("#treeId").val()) ? "431200000000" : $("#treeId").val();
|
||||
var url = ctx + "system/dept/selectDeptTree/" + deptId;
|
||||
var options = {
|
||||
title: '选择部门',
|
||||
width: "380",
|
||||
url: url,
|
||||
callBack: doSubmit
|
||||
};
|
||||
$.modal.openOptions(options);
|
||||
}
|
||||
|
||||
function doSubmit(index, layero){
|
||||
var tree = layero.find("iframe")[0].contentWindow.$._tree;
|
||||
var body = $.modal.getChildFrame(index);
|
||||
|
||||
@ -166,7 +166,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<button type="button" th:if="not (*{orderStatus} == 'AUTO_END' or *{orderStatus} == 'MANUAL_END')" class="btn btn-success btn-xs" onclick="manualEndOrder()">手动结束订单</i></button>
|
||||
<button type="button" th:if="not (*{orderStatus} == 'AUTO_END' or *{orderStatus} == 'MANUAL_END' or *{orderStatus} == 'WAIT_PAY')" class="btn btn-success btn-xs" onclick="manualEndOrder()">手动结束订单</i></button>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
|
||||
@ -13,18 +13,7 @@ public class CodeConstants {
|
||||
*/
|
||||
public final static String IMPORT_EXECUTE = "000000";
|
||||
|
||||
/**
|
||||
* 9月一号
|
||||
*/
|
||||
public final static String MONTH_DAY_9_1 = "09-01";
|
||||
/**
|
||||
* 省code
|
||||
*/
|
||||
public final static String PROVINCE_CODE = "430000000000";
|
||||
/**
|
||||
* 怀化市code
|
||||
*/
|
||||
public final static String HUAI_HUA_CODE = "431200000000";
|
||||
|
||||
|
||||
/**
|
||||
* 医保低保户和特困预警type
|
||||
|
||||
Reference in New Issue
Block a user