From f8e96ddd8080e49105371b49f37b8d069778620f Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期一, 21 十月 2024 15:00:11 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java index c75617b..a8a7570 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java @@ -1,5 +1,6 @@ package com.doumee.service.business.impl; +import com.doumee.core.annotation.excel.ExcelImporter; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -8,8 +9,13 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.ScientificNotationTUtil; import com.doumee.core.utils.Utils; +import com.doumee.dao.admin.request.MemberImport; +import com.doumee.dao.admin.request.PlatformGasImport; import com.doumee.dao.business.PlatformWaterGasMapper; +import com.doumee.dao.business.model.Company; +import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.PlatformReason; import com.doumee.dao.business.model.PlatformWaterGas; import com.doumee.dao.openapi.request.GasByMonthRequest; @@ -22,12 +28,16 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.multipart.MultipartFile; import java.math.BigDecimal; import java.util.*; @@ -329,5 +339,70 @@ + @Autowired + private RedisTemplate<String, Object> redisTemplate; + + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public String importBatch(MultipartFile file, LoginUserInfo loginUserInfo){ + try { + ExcelImporter ie = null; + List<PlatformGasImport> dataList =null; + try { + ie = new ExcelImporter(file,0,0); + dataList = ie.getDataList(PlatformGasImport.class,null); + } catch (Exception e) { + e.printStackTrace(); + } + if(dataList == null || dataList.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�"); + } + List<PlatformWaterGas> newList = new ArrayList<>(); + for(int i=0;i<dataList.size();i++){ + PlatformGasImport model = dataList.get(i); + if(Objects.isNull(model.getTimeInfo()) + || StringUtils.isBlank(model.getCarCode()) + || StringUtils.isBlank(model.getNum()) ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+i+2+"琛屾暟鎹弬鏁伴敊璇紒"); + } + PlatformWaterGas platformWaterGas = new PlatformWaterGas(); + try { + BigDecimal num = new BigDecimal(model.getNum()); + platformWaterGas.setNum(num); + }catch (Exception e){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+i+2+"琛屾暟閲忛敊璇紒"); + } + if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda() + .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO) + .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(model.getTimeInfo()) +"')") + .eq(PlatformWaterGas::getType,Constants.TWO) + .eq(PlatformWaterGas::getCarCode,model.getCarCode()))>0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇"+DateUtil.getPlusTime2(model.getTimeInfo())+"]鏁版嵁宸插瓨鍦紝璇峰嬁閲嶆柊褰曞叆锛屽彲浠ュ皾璇曟悳绱㈠悗杩涜鏁版嵁淇敼锛�"); + } + + platformWaterGas.setTimeInfo(model.getTimeInfo()); + platformWaterGas.setCarCode(model.getCarCode()); + platformWaterGas.setContent(model.getContent()); + platformWaterGas.setIsdeleted(Constants.ZERO); + platformWaterGas.setType(Constants.TWO); + platformWaterGas.setCreator(loginUserInfo.getId()); + platformWaterGas.setCreateDate(new Date()); + platformWaterGas.setEditDate(platformWaterGas.getCreateDate()); + platformWaterGas.setEditor(platformWaterGas.getCreator()); + newList.add(platformWaterGas); + } + if(newList == null || newList.size() ==0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏈夋晥鏁版嵁涓虹┖锛�"); + } + platformWaterGasMapper.insert(newList); + return "瀵煎叆鎴愬姛"; + }catch (BusinessException e){ + throw e; + }catch (Exception e){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯"); + }finally { + redisTemplate.delete(Constants.RedisKeys.IMPORTING_MEMBER); + } + } } -- Gitblit v1.9.3