Browse Source

批量导入备案

qzyReal 3 years ago
parent
commit
81ed5d922c

+ 7 - 0
business-system/filing-system/src/main/java/com/pj/biz/TbPersonFilingController.java

@@ -16,6 +16,7 @@ import com.pj.project4sp.SP;
 
 import com.pj.current.satoken.StpUserUtil;
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.multipart.MultipartFile;
 
 
 /**
@@ -96,6 +97,12 @@ public class TbPersonFilingController {
         return AjaxJson.getPageData(so.getDataCount(), list);
     }
 
+    @RequestMapping("import")
+    @SaCheckPermission(TbPersonFiling.PERMISSION_CODE_IMPORT)
+    public AjaxJson importExcel(@RequestPart MultipartFile file) throws Exception{
+        tbPersonFilingService.importExcel(file);
+        return AjaxJson.getSuccess();
+    }
 
     @RequestMapping("judge")
     @SaCheckPermission(TbPersonFiling.PERMISSION_CODE_JUDGE)

+ 5 - 0
pom.xml

@@ -158,6 +158,11 @@
 			<version>4.1.59.Final</version>
 		</dependency>
 		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>easyexcel</artifactId>
+			<version>3.0.5</version>
+		</dependency>
+		<dependency>
 			<groupId>com.google.guava</groupId>
 			<artifactId>guava</artifactId>
 			<version>20.0</version>

+ 9 - 11
sp-admin/src/main/java/com/pj/project4sp/admin/SpAdminController.java

@@ -71,11 +71,16 @@ public class SpAdminController {
 	}
 	
 	/** 改  -  name */
-	@RequestMapping("update")
+	@RequestMapping("updatePhone")
 	@SaCheckPermission(AuthConst.ADMIN_LIST)
 	AjaxJson update(SpAdmin obj){
-		SpAdminUtil.checkName(obj.getId(), obj.getName());
-		int line = spAdminMapper.update(obj);
+		int line = spAdminMapper.updatePhone(obj);
+		return AjaxJson.getByLine(line);
+	}
+	@RequestMapping("updateName")
+	@SaCheckPermission(AuthConst.ADMIN_LIST)
+	AjaxJson updateName(SpAdmin obj){
+		int line = spAdminMapper.updateName(obj);
 		return AjaxJson.getByLine(line);
 	}
 
@@ -163,14 +168,7 @@ public class SpAdminController {
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
 
-	/** 当前 Admin 修改自己信息 */
-	@RequestMapping("updateInfo")
-	AjaxJson updateInfo(SpAdmin obj){
-		obj.setId(StpUtil.getLoginIdAsLong());
-		SpAdminUtil.checkName(obj.getId(), obj.getName());
-		int line = spAdminMapper.update(obj);
-		return AjaxJson.getByLine(line);
-	}
+
 
 	/** 模拟指定账号登录 */
 	@RequestMapping("runAs")

+ 5 - 0
sp-core/src/main/java/com/pj/current/config/MyConfig.java

@@ -62,4 +62,9 @@ public class MyConfig {
 
 	private long limitUserCount;
 
+	private boolean smsEnable;
+	private String smsSign;
+	private String smsName;
+	private String smsPassword;
+
 }

+ 20 - 5
sp-core/src/main/java/com/pj/current/netty/command/handler/impl/HealthlogHandler.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.pj.current.config.MyConfig;
 import com.pj.current.config.WxConfig;
 import com.pj.current.netty.command.constants.CommandType;
 import com.pj.current.netty.command.handler.IHandler;
@@ -35,6 +36,7 @@ import com.pj.project.tb_venues.TbVenues;
 import com.pj.project.tb_venues.TbVenuesService;
 import com.pj.project.wx.WxService;
 import com.pj.project.wx.bo.MsgDataBO;
+import com.pj.project4sp.sms.DuanXinBaoSMSService;
 import com.pj.project4sp.spcfg.SpCfgUtil;
 import com.pj.utils.cache.RedisUtil;
 import io.netty.channel.ChannelHandlerContext;
@@ -79,6 +81,11 @@ public class HealthlogHandler implements IHandler {
     @Resource
     private TbCarVisitRecordService tbCarVisitRecordService;
 
+    @Resource
+    private MyConfig myConfig;
+    @Resource
+    private DuanXinBaoSMSService duanXinBaoSMSService;
+
     @Override
     public CommandType commandType() {
         return CommandType.UPLOAD_HEALTH_LOG;
@@ -114,7 +121,7 @@ public class HealthlogHandler implements IHandler {
             tbPersonFilingService.save(tbPersonFiling);
             taskService.addTask(new Base64ToImage(RandomUtil.randomNumbers(10), 50, tbPersonFiling.getId(), dto.getPicture()));
             //分发人员信息到其他终端
-            if (!needJudge){
+            if (!needJudge) {
                 taskService.addTask(new DelayIsuued(RandomUtil.randomNumbers(11), 4000, tbPersonFiling.getId(), sn));
             }
         }
@@ -181,8 +188,10 @@ public class HealthlogHandler implements IHandler {
             MsgDataBO msgDataBO = new MsgDataBO("您收到一条人员体温异常提醒", dto.getName(), dto.getTemperature(), now, "请及时处理");
             //todo 触发体温预警
             managers.forEach(tbManager -> {
-                String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
-                wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
+                if (wxConfig.isEnable()) {
+                    String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
+                    wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
+                }
             });
         }
         if (StrUtil.isNotEmpty(healthStatus) && !healthStatus.equals(TbPersonVisitRecord.HealthEnum.GREEN.getStatus())) {
@@ -190,9 +199,15 @@ public class HealthlogHandler implements IHandler {
             // todo 黄码,红码预警
             MsgDataBO msgDataBO = new MsgDataBO("您收到一条人员健康码异常提醒", dto.getName(), now, tbTerminal.getName(), healthStatus, tbVenues.getName(), "请及时处理");
             //todo 触发体温预警
+            String smsContent = "[" + SpCfgUtil.getSmsSign() + "]" + tbDept.getName() + tbPersonFiling.getName() + "人员在" + tbVenues.getName() + "核验结果为" + healthStatus + ",请马上介入处置(核验时间:" + DateUtil.now() + ")";
             managers.forEach(tbManager -> {
-                String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
-                wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
+                if (myConfig.isSmsEnable()) {
+                    duanXinBaoSMSService.sendSMS(tbManager.getPhone(), smsContent);
+                }
+                if (wxConfig.isEnable()) {
+                    String detailUrl = wxConfig.getReportDetail() + "?=" + record.getId() + "&openid=" + tbManager.getOpenid();
+                    wxService.sendTemplateMsg(wxConfig.getTemperatureErrorTemplate(), tbManager.getOpenid(), msgDataBO, detailUrl);
+                }
             });
         }
     }

+ 2 - 1
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminMapper.java

@@ -34,7 +34,8 @@ public interface SpAdminMapper {
 	 * @param obj
 	 * @return
 	 */
-	int update(SpAdmin obj);
+	int updatePhone(SpAdmin obj);
+	int updateName(SpAdmin obj);
 
 	/**
 	 * 查 

+ 8 - 3
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminMapper.xml

@@ -18,11 +18,16 @@
 
 
 	<!-- 改 -->
-	<delete id="update">
+	<update id="updatePhone">
 		update sp_admin set 
-		name = #{name} 
+		phone = #{phone}
 		where id = #{id} 
-	</delete>
+	</update>
+	<update id="updateName">
+		update sp_admin set
+		name = #{name}
+		where id = #{id}
+	</update>
 	<delete id="removeByPhone">
 		delete  from sp_admin where phone=#{phone}
 	</delete>

+ 6 - 2
sp-core/src/main/java/com/pj/project/sp_admin/SpAdminService.java

@@ -61,7 +61,6 @@ public class SpAdminService {
         if (!PhoneUtil.isPhone(phone)) {
             throw new BusinessException("请输入正确的手机号");
         }
-        admin.setName(admin.getPhone());
         // 检查姓名是否合法
         SpAdminUtil.checkAdmin(admin);
 
@@ -118,7 +117,12 @@ public class SpAdminService {
         }
         //绑定操作
         if (TbMiniUser.TypeEnum.INTERIOR_TYPE.getType().equals(type)) {
-            SpAdmin spAdmin = spAdminMapper.getByName(key);
+            SpAdmin spAdmin;
+            if (PhoneUtil.isPhone(key)) {
+                spAdmin=spAdminMapper.getByPhone(key);
+            }else {
+                spAdmin = spAdminMapper.getByName(key);
+            }
             if (spAdmin == null) {
                 return AjaxJson.getError("账号错误");
             }

+ 24 - 7
sp-core/src/main/java/com/pj/project/tb_dept/TbDeptService.java

@@ -8,8 +8,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pj.current.global.BusinessException;
+import com.pj.project.tb_person_filing.TbPersonFiling;
+import com.pj.project.tb_person_filing.TbPersonFilingService;
 import com.pj.project.tb_terminal.TbTerminal;
 import com.pj.project.tb_terminal.TbTerminalService;
+import com.pj.utils.sg.AjaxError;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,7 +34,7 @@ public class TbDeptService extends ServiceImpl<TbDeptMapper, TbDept> implements
     @Autowired
     TbDeptMapper tbDeptMapper;
     @Resource
-    private TbTerminalService tbTerminalService;
+    private TbPersonFilingService tbPersonFilingService;
 
 
     /**
@@ -49,6 +52,10 @@ public class TbDeptService extends ServiceImpl<TbDeptMapper, TbDept> implements
      * 删
      */
     void delete(Long id) {
+       List<TbPersonFiling>list= tbPersonFilingService.findByDeptId(id);
+       if (!list.isEmpty()){
+            throw new AjaxError("部门有备案,不能删除");
+       }
         this.removeById(id);
     }
 
@@ -74,12 +81,22 @@ public class TbDeptService extends ServiceImpl<TbDeptMapper, TbDept> implements
     }
 
 
-
-
     public TbDept findTheDept(Integer adminType) {
-        QueryWrapper<TbDept>ew=new QueryWrapper<>();
-        ew.lambda().eq(TbDept::getAdminType,adminType);
-        List<TbDept>list=list(ew);
-        return list.isEmpty()?null:list.get(0);
+        QueryWrapper<TbDept> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbDept::getAdminType, adminType);
+        List<TbDept> list = list(ew);
+        return list.isEmpty() ? null : list.get(0);
+    }
+
+    /**
+     * 根据名称查找
+     * @param deptName
+     * @return
+     */
+    public TbDept findByName(String deptName) {
+        QueryWrapper<TbDept> ew = new QueryWrapper<>();
+        ew.lambda().eq(TbDept::getName, deptName);
+        List<TbDept> list = list(ew);
+        return list.isEmpty() ? null : list.get(0);
     }
 }

+ 22 - 0
sp-core/src/main/java/com/pj/project/tb_person_filing/ImportPersonBO.java

@@ -0,0 +1,22 @@
+package com.pj.project.tb_person_filing;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ImportPersonBO implements Serializable {
+    @ExcelProperty(index = 0)
+    private String deptName;
+    @ExcelProperty(index = 1)
+    private String name;
+    @ExcelProperty(index = 2)
+    private String phone;
+    @ExcelProperty(index = 3)
+    private String idCard;
+    @ExcelProperty(index = 4)
+    private String type;
+
+
+}

+ 81 - 0
sp-core/src/main/java/com/pj/project/tb_person_filing/ImportPersonListener.java

@@ -0,0 +1,81 @@
+package com.pj.project.tb_person_filing;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.IdcardUtil;
+import cn.hutool.core.util.PhoneUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+
+import com.pj.current.global.BusinessException;
+import com.pj.project.tb_dept.TbDept;
+import com.pj.project.tb_dept.TbDeptService;
+import com.pj.utils.sg.AjaxError;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class ImportPersonListener extends AnalysisEventListener<ImportPersonBO> {
+    @Resource
+    @Lazy
+    private TbPersonFilingService tbPersonFilingService;
+
+    @Resource
+    private TbDeptService tbDeptService;
+
+
+    public List<ImportPersonBO> list = new ArrayList<>();
+
+    @Override
+    public void invoke(ImportPersonBO importPersonBO, AnalysisContext analysisContext) {
+        if (StrUtil.isNotEmpty(importPersonBO.getDeptName())) {
+            list.add(importPersonBO);
+        }
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        int index = 1;
+        List<TbPersonFiling>personFilings=new ArrayList<>();
+        for (ImportPersonBO importPersonBO : list) {
+            String deptName = importPersonBO.getDeptName();
+            String name = importPersonBO.getName();
+            if (StrUtil.isEmpty(name)) {
+                throw new AjaxError("第" + index + "行姓名不能为空");
+            }
+            String phone = importPersonBO.getPhone();
+            if (!PhoneUtil.isPhone(phone)) {
+                throw new AjaxError("第" + index + "行手机号码不正确");
+            }
+            String idCard = importPersonBO.getIdCard();
+            if (!IdcardUtil.isValidCard(idCard)) {
+                throw new AjaxError("第" + index + "行身份证号不正确");
+            }
+            TbDept tbDept = tbDeptService.findByName(deptName);
+            if (tbDept == null) {
+                throw new AjaxError("组织不存在");
+            }
+            TbPersonFiling tbPersonFiling = tbPersonFilingService.findByIdCard(idCard);
+            if (tbPersonFiling == null) {
+                tbPersonFiling = new TbPersonFiling();
+                tbPersonFiling.setCreateTime(new Date()).setUpdateTime(new Date());
+            }
+            if (TbDept.NeedJudgeEnum.AUTO_JUDGE.getType().equals(tbDept.getNeedJudge())) {
+                tbPersonFiling.setJudgeState(1)
+                        .setJudgeTime(new Date())
+                        .setJudgeBy("平台自动审核");
+            }
+            tbPersonFiling.setType(importPersonBO.getType().equals("内部") ? 2 : 1).setName(name)
+            .setPhone(phone).setPin(idCard).setIdCard(idCard).setDeptId(tbDept.getId())
+            .setDeptName(tbDept.getName());
+            personFilings.add(tbPersonFiling);
+            index++;
+        }
+        tbPersonFilingService.saveOrUpdateBatch(personFilings);
+    }
+}

+ 1 - 0
sp-core/src/main/java/com/pj/project/tb_person_filing/TbPersonFiling.java

@@ -40,6 +40,7 @@ public class TbPersonFiling extends Model<TbPersonFiling> implements Serializabl
     public static final String PERMISSION_CODE_EDIT = "tb-person-filing-edit";
     public static final String PERMISSION_CODE_DEL = "tb-person-filing-del";
     public static final String PERMISSION_CODE_JUDGE = "tb-person-filing-judge";
+    public static final String PERMISSION_CODE_IMPORT = "tb-person-filing-import";
 
 
     // ---------- 表中字段 ----------

+ 28 - 2
sp-core/src/main/java/com/pj/project/tb_person_filing/TbPersonFilingService.java

@@ -1,6 +1,7 @@
 package com.pj.project.tb_person_filing;
 
 import java.io.File;
+import java.io.InputStream;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
@@ -16,6 +17,10 @@ import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import cn.hutool.log.StaticLog;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelReader;
+import com.alibaba.excel.read.metadata.ReadSheet;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -40,6 +45,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import com.pj.utils.so.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 
@@ -66,6 +72,8 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
     private UploadConfig uploadConfig;
     @Resource
     private TbDeptService tbDeptService;
+    @Resource
+    private ImportPersonListener importPersonListener;
 
 
     /**
@@ -187,7 +195,7 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
             return;
         }
         List<TbTerminal> tbTerminalList = tbTerminalService.list();
-        log.info("排除设备下发人脸信息:{},{}",sn,JSONUtil.toJsonStr(filing));
+        log.info("排除设备下发人脸信息:{},{}", sn, JSONUtil.toJsonStr(filing));
         JSONObject params = builderParams(filing);
         tbTerminalList.stream().filter(t -> !StrUtil.equals(t.getSn(), sn)).forEach(tbTerminal -> {
             tbTerminalService.setCommand(CommandType.ISSUED_USER_COMMAND.getFuncId(), params, tbTerminal);
@@ -274,7 +282,9 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
         TbPersonFiling db = this.getById(filing.getId());
         db.setJudgeBy(StpUserUtil.getAdminName()).setJudgeTime(new Date()).setJudgeState(filing.getJudgeState());
         this.updateById(db);
-        issued(db);
+        if (StrUtil.isNotEmpty(db.getPhoto())) {
+            issued(db);
+        }
     }
 
     /**
@@ -296,4 +306,20 @@ public class TbPersonFilingService extends ServiceImpl<TbPersonFilingMapper, TbP
     public List<TbPersonFiling> getOuterList(SoMap startPage) {
         return tbPersonFilingMapper.getOuterList(startPage);
     }
+
+    /**
+     * 批量导入
+     *
+     * @param file
+     */
+    public void importExcel(MultipartFile file) throws Exception {
+        StaticLog.info("file size:{}", file.getSize());
+        InputStream is = file.getInputStream();
+        importPersonListener.list.clear();
+        ExcelReader reader = EasyExcel.read(is, ImportPersonBO.class, importPersonListener).build();
+        ReadSheet readSheet = EasyExcel.readSheet(0).build();
+        reader.read(readSheet);
+        reader.finish();
+        is.close();
+    }
 }

+ 7 - 3
sp-core/src/main/java/com/pj/project/tb_terminal/TbTerminalService.java

@@ -345,7 +345,11 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
             if (SpCfgUtil.termianlFilling()) {
                 TbDept dept = tbDeptService.findTheDept(TbDept.AdminTypeEnum.TEMP_TYPE.getType());
                 boolean needJudge = TbDept.NeedJudgeEnum.MAN_JUDGE.getType().equals(dept.getNeedJudge());
-                checkDataDTO.setIs_pass(needJudge ? 0 :1);
+                if (needJudge){
+                    log.info("返回信息:{},{}", "备案未审核", JSONUtil.toJsonStr(checkDataDTO));
+                    return AjaxJson.getSuccess(checkBO.getName() + "备案未审核", checkDataDTO);
+                }
+                checkDataDTO.setIs_pass(1);
                 log.info("返回信息:{},{}", "首次备案", JSONUtil.toJsonStr(checkDataDTO));
                 return AjaxJson.getSuccess(checkBO.getName() + "首次备案", checkDataDTO);
             } else {
@@ -355,7 +359,7 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
         }
         if (tbPersonFiling.getJudgeState() == 0) {
             log.info("返回信息:{},{}", "人员备案未审核", JSONUtil.toJsonStr(checkDataDTO));
-            return AjaxJson.getSuccess(checkBO.getName() + "未审核", checkDataDTO);
+            return AjaxJson.getSuccess(checkBO.getName() + "备案未审核", checkDataDTO);
         }
         TbDept tbDept = tbDeptService.getById(tbPersonFiling.getDeptId());
         String msg = tbDept.getName() + tbPersonFiling.getName();
@@ -363,7 +367,7 @@ public class TbTerminalService extends ServiceImpl<TbTerminalMapper, TbTerminal>
         double minTemperature = SpCfgUtil.getMinTemperature();
         if (minTemperature < checkBO.getTemperature()) {
             log.info("返回信息体温过高:{},{}", msg, JSONUtil.toJsonStr(checkDataDTO));
-            return AjaxJson.getSuccess(msg + "\n体温异常", checkDataDTO);
+            return AjaxJson.getSuccess(msg + "体温异常", checkDataDTO);
         }
         //健康码是否绿码
         if (!StrUtil.equals(TbPersonVisitRecord.HealthEnum.GREEN.getStatus(), checkBO.getHealth_status())) {

+ 31 - 0
sp-core/src/main/java/com/pj/project4sp/sms/DuanXinBaoSMSService.java

@@ -0,0 +1,31 @@
+package com.pj.project4sp.sms;
+
+import cn.hutool.core.net.URLEncoder;
+import cn.hutool.crypto.digest.MD5;
+import cn.hutool.http.HttpUtil;
+import com.pj.current.config.MyConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.nio.charset.Charset;
+
+@Service
+@Slf4j
+public class DuanXinBaoSMSService {
+    @Resource
+    private MyConfig myConfig;
+
+
+
+    @Async
+    public void sendSMS(String phone, String content) {
+        String pwd = MD5.create().digestHex(myConfig.getSmsPassword());
+        final String url = "http://api.smsbao.com/sms?u=" +myConfig.getSmsName()+
+                "&p=" + pwd + "&m=" + phone + "&c=" +
+                URLEncoder.createDefault().encode(content, Charset.forName("utf-8"));
+        String result = HttpUtil.get(url);
+        log.info("send sms result:{},{},{}", phone, content, result);
+    }
+}

+ 5 - 0
sp-core/src/main/java/com/pj/project4sp/spcfg/SpCfgUtil.java

@@ -96,6 +96,11 @@ public class SpCfgUtil {
         return Integer.valueOf(SpCfgUtil.getServerCfg("acidLimit", "24"));
     }
 
+  // 获取短信签名
+    public static String getSmsSign() {
+        return SpCfgUtil.getServerCfg("smsSign", "钦州码头智慧湾卡口智能防疫系统");
+    }
+
 
 
     // 获取配置信息:备案审核 1审核 2不审核

+ 5 - 1
sp-start/src/main/resources/application-dev.yml

@@ -46,7 +46,7 @@ spring:
     # 项目自定义配置
     myconfig:
         # 本项目部署到的服务器域名(文件上传等等模块  要用到)
-        domain: http://127.0.0.1:8099
+        domain: http://127.0.0.1:8099/pro
         ip: 192.168.3.27
         net-ip: 192.168.3.27
         heart-port: 9999
@@ -55,6 +55,10 @@ spring:
         heart-prefix: "heart:"
         gate-port: 8131
         limit-user-count: 45000
+        sms-enable: true
+        sms-sign: "钦州码头智慧湾卡口智能防疫系统"
+        sms-name: "zjy7366"
+        sms-password: "@zjy7366"
 wx:
     enable: true
     app-id: wxd40a34141872bf0c