Pārlūkot izejas kodu

1.导入用户数据demo 2.前端获取通话记录接口调整

王苗苗 2 mēneši atpakaļ
vecāks
revīzija
ead8827c7b

+ 59 - 13
slibra-admin/src/main/java/com/slibra/web/controller/business/ExcelController.java

@@ -1,23 +1,26 @@
 package com.slibra.web.controller.business;
 
 import com.alibaba.fastjson2.JSON;
-import com.slibra.business.domain.TNeighborhood;
-import com.slibra.business.domain.TNeighborhoodBuilding;
-import com.slibra.business.domain.TPumpingStation;
-import com.slibra.business.domain.TPumpingStationNeighbourhoodNumber;
+import com.slibra.business.domain.*;
 import com.slibra.business.mapper.*;
 import com.slibra.business.req.AiChatReq;
 import com.slibra.business.req.AiChatRes;
 import com.slibra.business.res.BZXQLHInfo;
+import com.slibra.business.res.UserExcelInfo;
 import com.slibra.business.service.IFrontService;
 import com.slibra.common.core.controller.BaseController;
 import com.slibra.common.core.domain.AjaxResult;
 import com.slibra.common.core.domain.entity.SysUser;
+import com.slibra.common.exception.ServiceException;
 import com.slibra.common.utils.StringUtils;
 import com.slibra.common.utils.poi.ExcelUtil;
 import io.micrometer.core.annotation.Timed;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.checkerframework.checker.units.qual.C;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -52,6 +55,12 @@ public class ExcelController extends BaseController {
     @Autowired
     private TNeighborhoodMapper tNeighborhoodMapper;
 
+    @Autowired
+    private SqlSessionFactory sqlSessionFactory;
+
+    @Autowired
+    private TUserInfoMapper tUserInfoMapper;
+
 
 
     public static void main(String[] args) {
@@ -156,15 +165,52 @@ public class ExcelController extends BaseController {
     }
 
 
-
-
-
-
-
-
-
-
-
+    /**
+     *
+     * 将Excel中的用户数据 导入到数据库中
+     * @return
+     */
+    @GetMapping("/userExcel2DB")
+    @Transactional
+    public String userExcel2DB(){
+        long begin = System.currentTimeMillis();
+        File file = new File("/Users/wangmiaomiao/Documents/Excel/jmsuser.xlsx");
+        if(!file.exists())
+            throw new ServiceException("导入的Excel文件不存在!");
+        ExcelUtil<UserExcelInfo> util = new ExcelUtil<UserExcelInfo>(UserExcelInfo.class);
+        List<UserExcelInfo> dataList;
+        try {
+            dataList = util.importExcel("凑合能用的数据", Files.newInputStream(file.toPath()), 0);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        if (!CollectionUtils.isEmpty(dataList)) {
+            /*SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
+            TUserInfoMapper sqlSessionMapper = sqlSession.getMapper(TUserInfoMapper.class);*/
+            //处理数据
+            for (UserExcelInfo userExcelInfo : dataList) {
+                TUserInfo tUserInfo = new TUserInfo();
+//                BeanUtils.copyProperties(userExcelInfo, tUserInfo);
+                //因为数据存在空格等 需要额外处理一下
+                tUserInfo.setUserNo(userExcelInfo.getUserNo().trim());
+                tUserInfo.setAmmeterNo(userExcelInfo.getAmmeterNo().trim());
+                tUserInfo.setPumpingStationAddress(userExcelInfo.getPumpingStationAddress().trim());
+                tUserInfo.setRemark(userExcelInfo.getRemark().trim());
+                tUserInfo.setStreet(userExcelInfo.getStreet().trim());
+                tUserInfo.setNeighbourhoodName(userExcelInfo.getNeighbourhoodName().trim());
+                tUserInfo.setBuildingNo(userExcelInfo.getBuildingNo().trim());
+                tUserInfo.setDoorNo(userExcelInfo.getDoorNo().trim());
+                tUserInfo.setMeterReader(userExcelInfo.getMeterReader().trim());
+                tUserInfo.setMeterReaderPhone(userExcelInfo.getMeterReaderPhone().trim());
+                tUserInfoMapper.insertTUserInfo(tUserInfo);
+                //2025年01月09日11:20:35 数据量太大,批量插入有问题
+//                sqlSessionMapper.insertTUserInfo(tUserInfo);
+            }
+            /*sqlSession.commit();
+            sqlSession.close();*/
+        }
+        return "操作成功,新增用户数据" + dataList.size() + "条;耗时:" + (System.currentTimeMillis() - begin)/1000/60 + "分钟";
+    }
 
 
 

+ 4 - 1
slibra-admin/src/main/java/com/slibra/web/controller/business/FrontController.java

@@ -50,6 +50,9 @@ public class FrontController extends BaseController {
     @Autowired
     private CAgentMapper cAgentMapper;
 
+    @Autowired
+    private ITCallRecordService tCallRecordService;
+
 
 
 
@@ -75,7 +78,7 @@ public class FrontController extends BaseController {
     {
         log.info("进入了 分页获取通话记录 接口");
         startPage();
-        return getDataTable(tCallRecordMapper.selectTCallRecordList(callRecordReq));
+        return getDataTable(tCallRecordService.selectTCallRecordList(callRecordReq));
     }
 
 

+ 1 - 0
slibra-admin/src/main/java/com/slibra/web/controller/business/TBucketRecordController.java

@@ -108,6 +108,7 @@ public class TBucketRecordController extends BaseController
     /**
      * 修改分流策略配置
      */
+    @PreAuthorize("@ss.hasPermi('business:record:editConf')")
     @PutMapping("/editConf")
     public AjaxResult editConf(@RequestBody TBucketRecord tBucketRecord)
     {

+ 4 - 4
slibra-admin/src/main/resources/application-local.yml

@@ -6,11 +6,11 @@ spring:
         druid:
             # 主库数据源
             master:
-#                url: jdbc:mysql://localhost:3306/big_model?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                url: jdbc:mysql://192.168.100.159:3306/libra_bot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://localhost:3306/big_model?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#                url: jdbc:mysql://192.168.100.159:3306/libra_bot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
-#                password: 1234qwer
-                password: EKoAe3H8xybQKrFPApXM
+                password: 1234qwer
+#                password: EKoAe3H8xybQKrFPApXM
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

+ 4 - 4
slibra-admin/src/main/resources/application.yml

@@ -252,11 +252,11 @@ NLS_APP_KEY: OKt6jogp6fRjHQVp
 WS_URL: wss://nls-gateway-cn-shanghai.aliyuncs.com/ws/v1
 #DOMAIN: https://pbx.fuxicarbon.com/voice/
 #URL_DISK_PREFIX: /root/aibot/dm/voice/
-#SIP_SUFFIX: '@pbx.fuxicarbon.com:5060'
-#FILE_URL_PREFIX: /home/hongshan
+SIP_SUFFIX: '@pbx.fuxicarbon.com:5060'
+FILE_URL_PREFIX: /home/hongshan
 #2024年12月31日16:37:03  从docker容器获取配置
-SIP_SUFFIX: ${SIP_SUFFIX}
-FILE_URL_PREFIX: ${FILE_URL_PREFIX}
+#SIP_SUFFIX: ${SIP_SUFFIX}
+#FILE_URL_PREFIX: ${FILE_URL_PREFIX}
 
 #prometheus监控
 management:

+ 73 - 0
slibra-system/src/main/java/com/slibra/business/res/UserExcelInfo.java

@@ -0,0 +1,73 @@
+package com.slibra.business.res;
+
+import com.slibra.common.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * 用户信息对象 t_user_info
+ * 
+ * @author slibra
+ * @date 2024-11-06
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserExcelInfo
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 用户编号 */
+    @Excel(name = "用户编号")
+    private String userNo = "";
+
+    /** 水表号 */
+    @Excel(name = "水表号")
+    private String ammeterNo = "";
+
+    /** 水表地址 */
+    @Excel(name = "用户/水表地址")
+    private String pumpingStationAddress = "";
+
+    /** 泵站 */
+    @Excel(name = "泵站")
+    private String remark = "";
+
+   /* *//** 用户名称 *//*
+    @Excel(name = "用户名称")
+    private String name;
+
+    *//** 移动电话(来电号码) *//*
+    @Excel(name = "移动电话", readConverterExp = "来=电号码")
+    private String phone;*/
+
+    /** 街道 */
+    @Excel(name = "街道")
+    private String street = "";
+
+    /** 小区名称 */
+    @Excel(name = "小区名称")
+    private String neighbourhoodName = "";
+
+    /** 楼号 */
+    @Excel(name = "楼号")
+    private String buildingNo = "";
+
+    /** 门牌号 */
+    @Excel(name = "门牌号")
+    private String doorNo = "";
+
+    /** 抄表员姓名 */
+    @Excel(name = "抄表员名称")
+    private String meterReader = "";
+
+    /** 抄表员电话 */
+    @Excel(name = "抄表员电话")
+    private String meterReaderPhone = "";
+
+}