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