mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-11 05:20:14 +08:00
Merge branch 'dev-new' of http://192.168.2.2:8099/jsowell/jsowell-charger-web into dev-new
This commit is contained in:
@@ -255,8 +255,9 @@ public class LoginRequestHandler extends AbstractYkcHandler {
|
|||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
// 充电桩使用的sim卡,把信息存库
|
// 充电桩使用的sim卡,把信息存库
|
||||||
try {
|
try {
|
||||||
pileBasicInfoService.updatePileSimInfo(pileSn, iccid);
|
// pileBasicInfoService.updatePileSimInfo(pileSn, iccid);
|
||||||
// pileBasicInfoService.updatePileSimInfoV2(pileSn, iccid);
|
// pileBasicInfoService.updatePileSimInfoV2(pileSn, iccid);
|
||||||
|
pileBasicInfoService.bindPileSimCard(pileSn, iccid);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("更新充电桩sim卡信息失败pileSn:{}, iccid:{}", pileSn, iccid, e);
|
log.error("更新充电桩sim卡信息失败pileSn:{}, iccid:{}", pileSn, iccid, e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,6 +159,9 @@ public interface PileBasicInfoService {
|
|||||||
void updatePileSimInfo(String pileSn, String iccid);
|
void updatePileSimInfo(String pileSn, String iccid);
|
||||||
|
|
||||||
void updatePileSimInfoV2(String pileSn, String iccid);
|
void updatePileSimInfoV2(String pileSn, String iccid);
|
||||||
|
|
||||||
|
public void bindPileSimCard(String pileSn, String iccId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后管首页基本信息查询
|
* 后管首页基本信息查询
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -8,11 +8,13 @@ import com.jsowell.common.enums.sim.SimCardStatusCorrespondEnum;
|
|||||||
import com.jsowell.common.enums.sim.SimSupplierEnum;
|
import com.jsowell.common.enums.sim.SimSupplierEnum;
|
||||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||||
import com.jsowell.common.exception.BusinessException;
|
import com.jsowell.common.exception.BusinessException;
|
||||||
|
import com.jsowell.common.util.DateUtils;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.common.util.http.HttpUtils;
|
import com.jsowell.common.util.http.HttpUtils;
|
||||||
import com.jsowell.common.util.id.IdUtils;
|
import com.jsowell.common.util.id.IdUtils;
|
||||||
import com.jsowell.common.util.sim.SimCardUtils;
|
import com.jsowell.common.util.sim.SimCardUtils;
|
||||||
import com.jsowell.common.util.sim.XunZhongSimUtils;
|
import com.jsowell.common.util.sim.XunZhongSimUtils;
|
||||||
|
import com.jsowell.pile.domain.PileSimInfo;
|
||||||
import com.jsowell.pile.vo.web.*;
|
import com.jsowell.pile.vo.web.*;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -71,6 +73,7 @@ public class SimCardService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 不知道iccid属于哪家供应商,就用这个方法查
|
* 不知道iccid属于哪家供应商,就用这个方法查
|
||||||
|
*
|
||||||
* @param iccids
|
* @param iccids
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -92,8 +95,78 @@ public class SimCardService {
|
|||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过iccId去两个官方平台查询流量卡具体数据
|
||||||
|
*
|
||||||
|
* @param iccId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
SimCardVO searchOfficialWebsiteSimInfo(String iccId) {
|
||||||
|
SimCardVO vo = new SimCardVO();
|
||||||
|
List<String> iccIds = Lists.newArrayList(iccId);
|
||||||
|
// 查XunZhong
|
||||||
|
List<SimCardVO> simCardVOS = XunZhongGetSimInfoByIccIds(iccIds);
|
||||||
|
if (CollectionUtils.isNotEmpty(simCardVOS)) {
|
||||||
|
vo = simCardVOS.get(0);
|
||||||
|
} else {
|
||||||
|
// 查WuLian平台
|
||||||
|
List<SimCardVO> wuLianSimData = WuLianGetSimInfoByIccIds(iccIds);
|
||||||
|
if (CollectionUtils.isEmpty(wuLianSimData)) {
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
vo = wuLianSimData.get(0);
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过iccId查询数据(2024.11.1 后管用)
|
||||||
|
*
|
||||||
|
* @param iccId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
SimCardVO getSimCardInfoByIccId(String iccId) {
|
||||||
|
PileSimInfo pileSimInfo = pileSimInfoService.getBasicInfoByIccId(iccId);
|
||||||
|
// 调用官方数据接口查询最新sim卡数据
|
||||||
|
SimCardVO simCardVO = searchOfficialWebsiteSimInfo(iccId);
|
||||||
|
if (simCardVO == null) {
|
||||||
|
throw new BusinessException(ReturnCodeEnum.CODE_SELECT_INFO_IS_NULL);
|
||||||
|
}
|
||||||
|
if (pileSimInfo == null) {
|
||||||
|
// 数据库中没有此卡数据,进行新增
|
||||||
|
pileSimInfo = PileSimInfo.builder()
|
||||||
|
.name(simCardVO.getName())
|
||||||
|
.iccid(simCardVO.getIccId())
|
||||||
|
.status(simCardVO.getSimCardStatus())
|
||||||
|
.simSupplier(simCardVO.getSimCardFactory())
|
||||||
|
.totalData(String.valueOf(simCardVO.getPackageCapacity()))
|
||||||
|
.surplusData(String.valueOf(simCardVO.getResidualFlowRate()))
|
||||||
|
.expireTime(DateUtils.parseDate(simCardVO.getExpiredTime()))
|
||||||
|
.operator(simCardVO.getSimCardOperator())
|
||||||
|
|
||||||
|
.build();
|
||||||
|
pileSimInfoService.insertPileSimInfo(pileSimInfo);
|
||||||
|
} else {
|
||||||
|
// 将查到的流量套餐等最新数据更新到数据库
|
||||||
|
pileSimInfo.setName(simCardVO.getName());
|
||||||
|
pileSimInfo.setIccid(simCardVO.getIccId());
|
||||||
|
pileSimInfo.setStatus(simCardVO.getSimCardStatus());
|
||||||
|
pileSimInfo.setSimSupplier(simCardVO.getSimCardFactory());
|
||||||
|
pileSimInfo.setTotalData(String.valueOf(simCardVO.getPackageCapacity()));
|
||||||
|
pileSimInfo.setSurplusData(String.valueOf(simCardVO.getResidualFlowRate()));
|
||||||
|
pileSimInfo.setExpireTime(DateUtils.parseDate(simCardVO.getExpiredTime()));
|
||||||
|
pileSimInfo.setOperator(simCardVO.getSimCardOperator());
|
||||||
|
|
||||||
|
pileSimInfoService.updatePileSimInfo(pileSimInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return simCardVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量续费(后管调用此方法)
|
* 批量续费(后管调用此方法)
|
||||||
|
*
|
||||||
* @param iccIds 卡号
|
* @param iccIds 卡号
|
||||||
* @param cycleNumber 续费周期
|
* @param cycleNumber 续费周期
|
||||||
*/
|
*/
|
||||||
@@ -123,9 +196,11 @@ public class SimCardService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据不同的公司执行不同的续费方法
|
* 根据不同的公司执行不同的续费方法
|
||||||
* @param code SimSupplierEnum.getCode()
|
*
|
||||||
|
* @param code 👇👇👇👇👇👇👇
|
||||||
* @param iccId 卡号
|
* @param iccId 卡号
|
||||||
* @param cycleNumber 续费周期
|
* @param cycleNumber 续费周期
|
||||||
|
* @see SimSupplierEnum
|
||||||
*/
|
*/
|
||||||
private SimRenewResultVO renewSimBySupplier(String code, String iccId, int cycleNumber) {
|
private SimRenewResultVO renewSimBySupplier(String code, String iccId, int cycleNumber) {
|
||||||
SimRenewResultVO vo = new SimRenewResultVO();
|
SimRenewResultVO vo = new SimRenewResultVO();
|
||||||
@@ -138,7 +213,7 @@ public class SimCardService {
|
|||||||
vo.setSimSuppler(SimSupplierEnum.XUN_ZHONG.getName());
|
vo.setSimSuppler(SimSupplierEnum.XUN_ZHONG.getName());
|
||||||
XunZhongSimRenewal(Lists.newArrayList(iccId), cycleNumber);
|
XunZhongSimRenewal(Lists.newArrayList(iccId), cycleNumber);
|
||||||
vo.setResult(true);
|
vo.setResult(true);
|
||||||
}catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
vo.setResult(false);
|
vo.setResult(false);
|
||||||
vo.setReason(e.getMessage());
|
vo.setReason(e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -149,7 +224,7 @@ public class SimCardService {
|
|||||||
vo.setSimSuppler(SimSupplierEnum.WU_LIAN_INTERNET.getName());
|
vo.setSimSuppler(SimSupplierEnum.WU_LIAN_INTERNET.getName());
|
||||||
WuLianSimRenew(Lists.newArrayList(iccId), cycleNumber);
|
WuLianSimRenew(Lists.newArrayList(iccId), cycleNumber);
|
||||||
vo.setResult(true);
|
vo.setResult(true);
|
||||||
}catch (BusinessException e){
|
} catch (BusinessException e) {
|
||||||
vo.setResult(false);
|
vo.setResult(false);
|
||||||
vo.setReason(e.getMessage());
|
vo.setReason(e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -158,10 +233,10 @@ public class SimCardService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 讯众 内部接口
|
* 讯众 内部接口
|
||||||
* 通过iccIds查询讯众Sim卡信息
|
* 通过iccIds查询讯众Sim卡信息
|
||||||
|
*
|
||||||
* @param iccIds
|
* @param iccIds
|
||||||
*/
|
*/
|
||||||
public List<SimCardVO> XunZhongGetSimInfoByIccIds(List<String> iccIds) {
|
public List<SimCardVO> XunZhongGetSimInfoByIccIds(List<String> iccIds) {
|
||||||
@@ -237,6 +312,7 @@ public class SimCardService {
|
|||||||
/**
|
/**
|
||||||
* 讯众官方接口
|
* 讯众官方接口
|
||||||
* 获取sim卡详细信息
|
* 获取sim卡详细信息
|
||||||
|
*
|
||||||
* @param iccIds Sim卡集合
|
* @param iccIds Sim卡集合
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -267,6 +343,7 @@ public class SimCardService {
|
|||||||
/**
|
/**
|
||||||
* 讯众官方接口
|
* 讯众官方接口
|
||||||
* 获取流量池信息
|
* 获取流量池信息
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getTrafficPoolInfo() {
|
public String getTrafficPoolInfo() {
|
||||||
@@ -288,6 +365,7 @@ public class SimCardService {
|
|||||||
/**
|
/**
|
||||||
* 讯众官方接口
|
* 讯众官方接口
|
||||||
* sim卡续期
|
* sim卡续期
|
||||||
|
*
|
||||||
* @param iccIds 需要续期的sim卡
|
* @param iccIds 需要续期的sim卡
|
||||||
* @param cycleNumber 续费周期(0-999),0表示无限周期
|
* @param cycleNumber 续费周期(0-999),0表示无限周期
|
||||||
* @return
|
* @return
|
||||||
@@ -387,7 +465,7 @@ public class SimCardService {
|
|||||||
String operator = "";
|
String operator = "";
|
||||||
if (StringUtils.contains(packageName, "移动")) {
|
if (StringUtils.contains(packageName, "移动")) {
|
||||||
operator = "china_mobile";
|
operator = "china_mobile";
|
||||||
}else if (StringUtils.contains(packageName, "电信")) {
|
} else if (StringUtils.contains(packageName, "电信")) {
|
||||||
operator = "china_telecom";
|
operator = "china_telecom";
|
||||||
} else if (StringUtils.contains(packageName, "联通")) {
|
} else if (StringUtils.contains(packageName, "联通")) {
|
||||||
operator = "china_unicom";
|
operator = "china_unicom";
|
||||||
|
|||||||
@@ -783,6 +783,29 @@ public class PileBasicInfoServiceImpl implements PileBasicInfoService {
|
|||||||
updateSimInfo(basicInfo);
|
updateSimInfo(basicInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定桩与sim卡的信息(仅0x01中调用)
|
||||||
|
* @param pileSn
|
||||||
|
* @param iccId
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void bindPileSimCard(String pileSn, String iccId) {
|
||||||
|
PileBasicInfo basicInfo = selectPileBasicInfoBySN(pileSn);
|
||||||
|
if (basicInfo == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String basicInfoIccId = basicInfo.getIccId();
|
||||||
|
if (!StringUtils.equals(iccId, basicInfoIccId)) {
|
||||||
|
// 如果表中存储的sim卡与当前登录的sim卡不一致,修改数据库
|
||||||
|
// 清缓存
|
||||||
|
cleanRedisCache(pileSn);
|
||||||
|
// 将桩与sim卡进行绑定
|
||||||
|
basicInfo.setIccId(iccId);
|
||||||
|
updatePileBasicInfo(basicInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后管首页基本信息查询
|
* 后管首页基本信息查询
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user