update sim卡列表页数据更新

This commit is contained in:
Lemon
2023-06-28 15:50:36 +08:00
parent b4b7f25193
commit bea87e1d2e
6 changed files with 50 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.QuerySimInfoDTO;
import com.jsowell.pile.vo.web.SimCardInfoVO;
import com.jsowell.pile.vo.web.SimCardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
@@ -92,5 +93,5 @@ public interface PileSimInfoMapper {
*/
PileSimInfo getBasicInfoByIccId(@Param("iccId") String iccId);
void updateSimCardInfoBatch(@Param("list") List<SimCardVO> list);
}

View File

@@ -3,6 +3,7 @@ package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.QuerySimInfoDTO;
import com.jsowell.pile.vo.web.SimCardInfoVO;
import com.jsowell.pile.vo.web.SimCardVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;

View File

@@ -71,25 +71,25 @@ public class SimCardService {
/**
* 不知道iccid属于哪家供应商就用这个方法查
* @param iccid
* @param iccids
* @return
*/
public SimCardVO searchByLoop(String iccid) {
SimCardVO vo = null;
public List<SimCardVO> searchByLoop(List<String> iccids) {
List<SimCardVO> resultList = Lists.newArrayList();
// 查XunZhong
List<SimCardVO> simCardVOS = XunZhongGetSimInfoByIccIds(Lists.newArrayList(iccid));
if (CollectionUtils.isNotEmpty(simCardVOS)) {
vo = simCardVOS.get(0);
List<SimCardVO> xunZhongList = XunZhongGetSimInfoByIccIds(iccids);
if (CollectionUtils.isNotEmpty(xunZhongList)) {
resultList.addAll(xunZhongList);
}
// 查WuLian平台
List<SimCardVO> wuLianSimData = WuLianGetSimInfoByIccIds(Lists.newArrayList(iccid));
List<SimCardVO> wuLianSimData = WuLianGetSimInfoByIccIds(iccids);
if (CollectionUtils.isNotEmpty(wuLianSimData)) {
vo = wuLianSimData.get(0);
resultList.addAll(xunZhongList);
}
// 第三个供应商
logger.info("查询iccid:{}, 详情信息:{}", iccid, JSON.toJSONString(vo));
return vo;
logger.info("查询iccid:{}, 详情信息:{}", iccids, JSON.toJSONString(resultList));
return resultList;
}
/**
@@ -110,7 +110,7 @@ public class SimCardService {
ArrayList<SimRenewResultVO> list = new ArrayList<>();
for (String iccId : iccIds) {
// 查出此卡属于哪家公司(拿到code)
SimCardVO simCardVO = searchByLoop(iccId);
SimCardVO simCardVO = searchByLoop(Lists.newArrayList(iccId)).get(0);
String simSupplierCode = simCardVO.getSimCardFactory();
// 根据不同的公司执行不同的续费方法

View File

@@ -533,7 +533,7 @@ public class PileBasicInfoServiceImpl implements IPileBasicInfoService {
// 通过iccid查pile_sim_info
PileSimInfo simInfo = pileSimInfoService.getBasicInfoByIccId(iccid);
if (simInfo == null) {
SimCardVO simCardVO = simCardService.searchByLoop(iccid);
SimCardVO simCardVO = simCardService.searchByLoop(Lists.newArrayList(iccid)).get(0);
// pile_sim_info 新增数据
if (simCardVO != null) {
simInfo = PileSimInfo.builder()

View File

@@ -7,7 +7,9 @@ import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.QuerySimInfoDTO;
import com.jsowell.pile.mapper.PileSimInfoMapper;
import com.jsowell.pile.service.IPileSimInfoService;
import com.jsowell.pile.service.SimCardService;
import com.jsowell.pile.vo.web.SimCardInfoVO;
import com.jsowell.pile.vo.web.SimCardVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +18,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 充电桩SIM卡信息Service业务层处理
@@ -29,6 +33,9 @@ public class PileSimInfoServiceImpl implements IPileSimInfoService {
@Autowired
private PileSimInfoMapper pileSimInfoMapper;
@Autowired
private SimCardService simCardService;
/**
* 查询充电桩SIM卡信息
*
@@ -67,6 +74,19 @@ public class PileSimInfoServiceImpl implements IPileSimInfoService {
}
dto.setExpiredTime(expiredTime);
List<SimCardInfoVO> simInfoList = pileSimInfoMapper.getSimInfoList(dto);
if (expiredTime == null) {
// 为空说明后管查询列表页没有选择筛选条件
List<String> iccids = simInfoList.stream()
.map(SimCardInfoVO::getIccId)
.collect(Collectors.toList());
// 查出最新的卡信息
List<SimCardVO> simCardList = simCardService.searchByLoop(iccids);
if (CollectionUtils.isNotEmpty(simCardList)) {
// 批量修改存库
pileSimInfoMapper.updateSimCardInfoBatch(simCardList);
}
}
if (CollectionUtils.isEmpty(simInfoList)) {
return new ArrayList<>();
}

View File

@@ -188,4 +188,19 @@
</if>
</select>
<update id="updateSimCardInfoBatch" parameterType="java.util.List">
<foreach collection="list" item="simCardVO" separator=";" >
update pile_sim_info
<trim prefix="SET" suffixOverrides=",">
<if test="simCardVO.name != null">name = #{simCardVO.name},</if>
<if test="simCardVO.simCardStatus != null">status = #{simCardVO.simCardStatus},</if>
<if test="simCardVO.simCardFactory != null">sim_supplier = #{simCardVO.simCardFactory},</if>
<if test="simCardVO.packageCapacity != null">total_data = #{simCardVO.packageCapacity},</if>
<if test="simCardVO.residualFlowRate != null">surplus_data = #{simCardVO.residualFlowRate},</if>
<if test="simCardVO.expiredTime != null">expire_time = #{simCardVO.expiredTime},</if>
</trim>
where iccid = #{simCardVO.iccId}
</foreach>
</update>
</mapper>