From 3436929ce8f22fe0bb68a19a7d37412b34fca061 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 28 三月 2026 18:11:42 +0800
Subject: [PATCH] feat(basic): 新增企业信息管理功能

---
 src/main/resources/mapper/basic/EnterpriseInfoMapper.xml                  |    7 +
 src/main/java/com/ruoyi/basic/service/impl/EnterpriseInfoServiceImpl.java |   32 ++++++
 src/main/java/com/ruoyi/basic/pojo/EnterpriseInfo.java                    |  113 ++++++++++++++++++++++
 src/main/java/com/ruoyi/basic/service/IEnterpriseInfoService.java         |   17 +++
 src/main/java/com/ruoyi/basic/controller/EnterpriseInfoController.java    |   67 +++++++++++++
 src/main/java/com/ruoyi/basic/mapper/EnterpriseInfoMapper.java            |    9 +
 6 files changed, 245 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/EnterpriseInfoController.java b/src/main/java/com/ruoyi/basic/controller/EnterpriseInfoController.java
new file mode 100644
index 0000000..94789c8
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/controller/EnterpriseInfoController.java
@@ -0,0 +1,67 @@
+package com.ruoyi.basic.controller;
+
+import com.ruoyi.basic.pojo.EnterpriseInfo;
+import com.ruoyi.basic.service.IEnterpriseInfoService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.other.service.TempFileService;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+
+@RestController
+@RequestMapping("/system/enterpriseInfo")
+@AllArgsConstructor
+public class EnterpriseInfoController {
+
+    private final IEnterpriseInfoService enterpriseInfoService;
+    private final TempFileService tempFileService;
+
+    /**
+     * 鑾峰彇浼佷笟淇℃伅
+     */
+    @GetMapping("/getInfo")
+    public AjaxResult getInfo() {
+        return AjaxResult.success(enterpriseInfoService.getEnterpriseInfo());
+    }
+
+    /**
+     * 淇濆瓨鎴栨洿鏂颁紒涓氫俊鎭�
+     */
+    @PostMapping("/save")
+    public AjaxResult save(@RequestBody EnterpriseInfo enterpriseInfo) {
+        boolean result = enterpriseInfoService.saveOrUpdateInfo(enterpriseInfo);
+        if (result) {
+            return AjaxResult.success("淇濆瓨鎴愬姛");
+        }
+        return AjaxResult.error("淇濆瓨澶辫触");
+    }
+
+    /**
+     * 涓婁紶浼佷笟Logo
+     */
+    @PostMapping("/uploadLogo")
+    @ApiOperation(value = "涓婁紶浼佷笟Logo")
+    public AjaxResult uploadLogo(@RequestParam("file") MultipartFile file) {
+        try {
+            return AjaxResult.success(tempFileService.uploadFile(file, 0));
+        } catch (IOException e) {
+            return AjaxResult.error("涓婁紶澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    /**
+     * 涓婁紶浜岀淮鐮�
+     */
+    @PostMapping("/uploadQrCode")
+    @ApiOperation(value = "涓婁紶浜岀淮鐮�")
+    public AjaxResult uploadQrCode(@RequestParam("file") MultipartFile file) {
+        try {
+            return AjaxResult.success(tempFileService.uploadFile(file, 1));
+        } catch (IOException e) {
+            return AjaxResult.error("涓婁紶澶辫触锛�" + e.getMessage());
+        }
+    }
+}
diff --git a/src/main/java/com/ruoyi/basic/mapper/EnterpriseInfoMapper.java b/src/main/java/com/ruoyi/basic/mapper/EnterpriseInfoMapper.java
new file mode 100644
index 0000000..165136d
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/mapper/EnterpriseInfoMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.basic.pojo.EnterpriseInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EnterpriseInfoMapper extends BaseMapper<EnterpriseInfo> {
+}
diff --git a/src/main/java/com/ruoyi/basic/pojo/EnterpriseInfo.java b/src/main/java/com/ruoyi/basic/pojo/EnterpriseInfo.java
new file mode 100644
index 0000000..e7f2470
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/pojo/EnterpriseInfo.java
@@ -0,0 +1,113 @@
+package com.ruoyi.basic.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("enterprise_info")
+public class EnterpriseInfo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 涓婚敭ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鍏徃鍚嶇О
+     */
+    @ApiModelProperty(value = "鍏徃鍚嶇О")
+    private String companyName;
+
+    /**
+     * 鍏徃Logo
+     */
+    @ApiModelProperty(value = "鍏徃Logo")
+    private String companyLogo;
+
+    /**
+     * 鍏徃绠�浠�
+     */
+    @ApiModelProperty(value = "鍏徃绠�浠�")
+    private String companyIntro;
+
+    /**
+     * 浜у搧浠嬬粛
+     */
+    @ApiModelProperty(value = "浜у搧浠嬬粛")
+    private String productIntro;
+
+    /**
+     * 璁惧浠嬬粛
+     */
+    @ApiModelProperty(value = "璁惧浠嬬粛")
+    private String equipmentIntro;
+
+    /**
+     * 鑱旂郴浜�
+     */
+    @ApiModelProperty(value = "鑱旂郴浜�")
+    private String contactPerson;
+
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
+    @ApiModelProperty(value = "鑱旂郴鐢佃瘽")
+    private String contactPhone;
+
+    /**
+     * 鍏徃鍦板潃
+     */
+    @ApiModelProperty(value = "鍏徃鍦板潃")
+    private String companyAddress;
+
+    /**
+     * 鍏徃缃戠珯
+     */
+    @ApiModelProperty(value = "鍏徃缃戠珯")
+    private String website;
+
+    /**
+     * 浜岀淮鐮�
+     */
+    @ApiModelProperty(value = "浜岀淮鐮�")
+    private String qrCode;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 鏇存柊鑰�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/basic/service/IEnterpriseInfoService.java b/src/main/java/com/ruoyi/basic/service/IEnterpriseInfoService.java
new file mode 100644
index 0000000..6e33fc1
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/service/IEnterpriseInfoService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.basic.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.pojo.EnterpriseInfo;
+
+public interface IEnterpriseInfoService extends IService<EnterpriseInfo> {
+
+    /**
+     * 鑾峰彇浼佷笟淇℃伅锛堝崟鏉★級
+     */
+    EnterpriseInfo getEnterpriseInfo();
+
+    /**
+     * 淇濆瓨鎴栨洿鏂颁紒涓氫俊鎭�
+     */
+    boolean saveOrUpdateInfo(EnterpriseInfo enterpriseInfo);
+}
diff --git a/src/main/java/com/ruoyi/basic/service/impl/EnterpriseInfoServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/EnterpriseInfoServiceImpl.java
new file mode 100644
index 0000000..00c41b2
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/service/impl/EnterpriseInfoServiceImpl.java
@@ -0,0 +1,32 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.EnterpriseInfoMapper;
+import com.ruoyi.basic.pojo.EnterpriseInfo;
+import com.ruoyi.basic.service.IEnterpriseInfoService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper, EnterpriseInfo>
+        implements IEnterpriseInfoService {
+
+    @Override
+    public EnterpriseInfo getEnterpriseInfo() {
+        LambdaQueryWrapper<EnterpriseInfo> wrapper = new LambdaQueryWrapper<>();
+        wrapper.orderByDesc(EnterpriseInfo::getId).last("LIMIT 1");
+        EnterpriseInfo info = this.getOne(wrapper);
+        if (info == null) {
+            info = new EnterpriseInfo();
+        }
+        return info;
+    }
+
+    @Override
+    public boolean saveOrUpdateInfo(EnterpriseInfo enterpriseInfo) {
+        if (enterpriseInfo.getId() == null) {
+            return this.save(enterpriseInfo);
+        }
+        return this.updateById(enterpriseInfo);
+    }
+}
diff --git a/src/main/resources/mapper/basic/EnterpriseInfoMapper.xml b/src/main/resources/mapper/basic/EnterpriseInfoMapper.xml
new file mode 100644
index 0000000..cfc409b
--- /dev/null
+++ b/src/main/resources/mapper/basic/EnterpriseInfoMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.basic.mapper.EnterpriseInfoMapper">
+
+</mapper>

--
Gitblit v1.9.3