From 2221b7618f62d23fbf2000725be39e0d5b970fee Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 25 Sep 2021 11:31:02 +0800
Subject: [PATCH] add common function

---
 src/main/java/cc/mrbird/febs/mall/controller/CommonController.java       |   30 ++++++++++
 src/main/java/cc/mrbird/febs/mall/dto/Base64UploadDto.java               |   20 ++++++
 src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryCustomMapper.java |   11 +++
 src/main/java/cc/mrbird/febs/mall/service/ICommonService.java            |    6 ++
 src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml         |    8 ++
 sql/xc_mall.sql                                                          |   14 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java        |   10 +++
 src/main/java/cc/mrbird/febs/mall/entity/DataDictionaryCustom.java       |   22 +++++++
 8 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/sql/xc_mall.sql b/sql/xc_mall.sql
index 18d4da2..762529f 100644
--- a/sql/xc_mall.sql
+++ b/sql/xc_mall.sql
@@ -303,5 +303,19 @@
 
 alter table mall_order_info add pay_image varchar(1000) null comment '支付凭证';
 
+DROP TABLE IF EXISTS data_dictionary_custom;
+CREATE TABLE data_dictionary_custom(
+   REVISION INT    COMMENT '乐观锁' ,
+   CREATED_BY VARCHAR(32)    COMMENT '创建人' ,
+   CREATED_TIME DATETIME    COMMENT '创建时间' ,
+   UPDATED_BY VARCHAR(32)    COMMENT '更新人' ,
+   UPDATED_TIME DATETIME    COMMENT '更新时间' ,
+   ID BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键' ,
+   type VARCHAR(255)    COMMENT '类型' ,
+   code VARCHAR(255)    COMMENT '字典码' ,
+   value TEXT    COMMENT '字典值' ,
+   description TEXT    COMMENT '描述' ,
+   PRIMARY KEY (ID)
+)  COMMENT = '字典表';
 
 
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
index 33804e3..4f7ca23 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
@@ -4,6 +4,9 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.*;
+import cc.mrbird.febs.mall.dto.Base64UploadDto;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.service.ICommonService;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import io.swagger.annotations.Api;
@@ -18,6 +21,7 @@
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,6 +36,7 @@
 public class CommonController {
 
     private final RedisUtils redisUtils;
+    private final ICommonService commonService;
 
     @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口")
     @GetMapping(value = "/verifyCode")
@@ -105,4 +110,29 @@
         map2.put("title",imageNames);//图片名称,这个会显示在输入框里
         return map;
     }
+
+    @ApiOperation(value = "数据字典")
+    @GetMapping(value = "/findDataDic/{type}")
+    public FebsResponse findDataDic(@PathVariable("type") String type) {
+        List<DataDictionaryCustom> dic = commonService.findDataDicByType(type);
+        return new FebsResponse().success().data(dic);
+    }
+
+    @ApiOperation(value = "base64上传")
+    @PostMapping(value = "/base64Upload")
+    public FebsResponse base64Upload(@RequestBody @Validated Base64UploadDto base64UploadDto) {
+        String base64Str = base64UploadDto.getBase64Str();
+        if (base64Str.startsWith("data:image")) {
+            base64Str = base64Str.substring(base64Str.indexOf(",") + 1, base64Str.length() - 1);
+        }
+
+        String imageFuffix = ".jpg";
+        String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageFuffix;
+        String imageName = "uploadeFile/" + imageNames;
+        OssUtils.uploadFileWithBase64(base64Str, imageName);
+        String bucket_name ="https://excoin.oss-cn-hangzhou.aliyuncs.com";
+        String url = bucket_name + "/" + imageName;
+
+        return new FebsResponse().message("上传成功").success().data(url);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/Base64UploadDto.java b/src/main/java/cc/mrbird/febs/mall/dto/Base64UploadDto.java
new file mode 100644
index 0000000..684095a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/Base64UploadDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author wzy
+ * @date 2021-09-25
+ **/
+@Data
+@ApiModel(value = "Base64UploadDto", description = "图片上传")
+public class Base64UploadDto {
+
+    @NotBlank(message = "参数不能为空")
+    @ApiModelProperty(value = "base64字符串")
+    private String base64Str;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/DataDictionaryCustom.java b/src/main/java/cc/mrbird/febs/mall/entity/DataDictionaryCustom.java
new file mode 100644
index 0000000..7fb136a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/DataDictionaryCustom.java
@@ -0,0 +1,22 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * @author wzy
+ * @date 2021-09-25
+ **/
+@Data
+@TableName("data_dictionary_custom")
+public class DataDictionaryCustom extends BaseEntity {
+
+    private String type;
+
+    private String code;
+
+    private String value;
+
+    private String description;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryCustomMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryCustomMapper.java
new file mode 100644
index 0000000..e793dfb
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryCustomMapper.java
@@ -0,0 +1,11 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface DataDictionaryCustomMapper extends BaseMapper<DataDictionaryCustom> {
+
+    List<DataDictionaryCustom> selectDicByType(String type);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
index 6508cb3..5445eca 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java
@@ -1,9 +1,15 @@
 package cc.mrbird.febs.mall.service;
 
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+
+import java.util.List;
+
 /**
  * @author wzy
  * @date 2021-09-16
  **/
 public interface ICommonService {
     boolean verifyCode(String account, String code);
+
+    List<DataDictionaryCustom> findDataDicByType(String type);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
index 443f40f..e9efbc9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
@@ -2,11 +2,15 @@
 
 import cc.mrbird.febs.common.utils.AppContants;
 import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.service.ICommonService;
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @author wzy
@@ -17,6 +21,7 @@
 @RequiredArgsConstructor
 public class CommonService implements ICommonService {
     private final RedisUtils redisUtils;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @Override
     public boolean verifyCode(String account, String code) {
@@ -31,4 +36,9 @@
             return false;
         }
     }
+
+    @Override
+    public List<DataDictionaryCustom> findDataDicByType(String type) {
+        return dataDictionaryCustomMapper.selectDicByType(type);
+    }
 }
diff --git a/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
new file mode 100644
index 0000000..29b8282
--- /dev/null
+++ b/src/main/resources/mapper/modules/DataDictionaryCustomMapper.xml
@@ -0,0 +1,8 @@
+<?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="cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper">
+
+    <select id="selectDicByType" resultType="cc.mrbird.febs.mall.entity.DataDictionaryCustom">
+        select * from data_dictionary_custom where type=#{type}
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1