Bladeren bron

系统管理-基础配置开发

zhaishaofeng 2 jaren geleden
bovenliggende
commit
f81a3c88b9

+ 20 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/baseconfig/dao/BaseConfigMapper.java

@@ -0,0 +1,20 @@
+package com.github.zuihou.business.baseconfig.dao;
+
+import com.github.zuihou.base.mapper.SuperMapper;
+import com.github.zuihou.business.baseconfig.entity.BaseConfig;
+
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * Mapper 接口
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @date 2023-04-27
+ */
+@Repository
+public interface BaseConfigMapper extends SuperMapper<BaseConfig> {
+
+}

+ 17 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/baseconfig/service/BaseConfigService.java

@@ -0,0 +1,17 @@
+package com.github.zuihou.business.baseconfig.service;
+
+import com.github.zuihou.base.service.SuperService;
+import com.github.zuihou.business.baseconfig.entity.BaseConfig;
+
+/**
+ * <p>
+ * 业务接口
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @date 2023-04-27
+ */
+public interface BaseConfigService extends SuperService<BaseConfig> {
+
+}

+ 25 - 0
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/baseconfig/service/impl/BaseConfigServiceImpl.java

@@ -0,0 +1,25 @@
+package com.github.zuihou.business.baseconfig.service.impl;
+
+
+import com.github.zuihou.business.baseconfig.dao.BaseConfigMapper;
+import com.github.zuihou.business.baseconfig.entity.BaseConfig;
+import com.github.zuihou.business.baseconfig.service.BaseConfigService;
+import com.github.zuihou.base.service.SuperServiceImpl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 业务实现类
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @date 2023-04-27
+ */
+@Slf4j
+@Service
+
+public class BaseConfigServiceImpl extends SuperServiceImpl<BaseConfigMapper, BaseConfig> implements BaseConfigService {
+}

+ 23 - 0
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/baseconfig/BaseConfigMapper.xml

@@ -0,0 +1,23 @@
+<?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.github.zuihou.business.baseconfig.dao.BaseConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.github.zuihou.business.baseconfig.entity.BaseConfig">
+        <id column="id" jdbcType="BIGINT" property="id"/>
+        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="create_user" jdbcType="BIGINT" property="createUser"/>
+        <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
+        <result column="update_user" jdbcType="BIGINT" property="updateUser"/>
+        <result column="order_point_scale" jdbcType="INTEGER" property="orderPointScale"/>
+        <result column="xcx_cs_phone" jdbcType="VARCHAR" property="xcxCsPhone"/>
+        <result column="wxmp_qr_code" jdbcType="VARCHAR" property="wxmpQrCode"/>
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id,create_time,create_user,update_time,update_user,
+        order_point_scale, xcx_cs_phone, wxmp_qr_code
+    </sql>
+
+</mapper>

+ 74 - 0
imcs-bt-be/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/baseconfig/BaseConfigController.java

@@ -0,0 +1,74 @@
+package com.github.zuihou.business.controller.baseconfig;
+
+import com.github.zuihou.business.advertisement.entity.Advertisement;
+import com.github.zuihou.business.baseconfig.entity.BaseConfig;
+import com.github.zuihou.business.baseconfig.dto.BaseConfigSaveDTO;
+import com.github.zuihou.business.baseconfig.dto.BaseConfigUpdateDTO;
+import com.github.zuihou.business.baseconfig.dto.BaseConfigPageDTO;
+import com.github.zuihou.business.baseconfig.service.BaseConfigService;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import com.github.zuihou.base.controller.SuperController;
+import com.github.zuihou.base.R;
+import com.github.zuihou.utils.BeanPlusUtil;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.github.zuihou.security.annotation.PreAuth;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 前端控制器
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @date 2023-04-27
+ */
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("/baseConfig")
+@Api(value = "BaseConfig", tags = "基础配置")
+@PreAuth(replace = "baseConfig:")
+public class BaseConfigController extends SuperController<BaseConfigService, Long, BaseConfig, BaseConfigPageDTO, BaseConfigSaveDTO, BaseConfigUpdateDTO> {
+
+    /**
+     * 默认基础配置主键
+     */
+    public final long DEF_BASE_CONFIG_ID = 1L;
+
+    /**
+     * Excel导入后的操作
+     *
+     * @param list
+     */
+    @Override
+    public R<Boolean> handlerImport(List<Map<String, String>> list){
+        List<BaseConfig> baseConfigList = list.stream().map((map) -> {
+            BaseConfig baseConfig = BaseConfig.builder().build();
+            //TODO 请在这里完成转换
+            return baseConfig;
+        }).collect(Collectors.toList());
+
+        return R.success(baseService.saveBatch(baseConfigList));
+    }
+
+    @Override
+    public R<BaseConfig> handlerUpdate(BaseConfigUpdateDTO model) {
+        BaseConfig baseConfig = BeanPlusUtil.toBean(model, BaseConfig.class);
+
+        // 默认基础配置特殊处理
+        if (DEF_BASE_CONFIG_ID == baseConfig.getId()) {
+            baseService.saveOrUpdate(baseConfig);
+        } else {
+            baseService.updateAllById(baseConfig);
+        }
+
+        return success(baseConfig);
+    }
+}

+ 55 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/baseconfig/dto/BaseConfigPageDTO.java

@@ -0,0 +1,55 @@
+package com.github.zuihou.business.baseconfig.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.hibernate.validator.constraints.Length;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @since 2023-04-27
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "BaseConfigPageDTO", description = "基础配置")
+public class BaseConfigPageDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单积分比例
+     */
+    @ApiModelProperty(value = "订单积分比例")
+    private Integer orderPointScale;
+    /**
+     * 用户小程序客服电话
+     */
+    @ApiModelProperty(value = "用户小程序客服电话")
+    @Length(max = 30, message = "用户小程序客服电话长度不能超过30")
+    private String xcxCsPhone;
+    /**
+     * 微信公众号二维码
+     */
+    @ApiModelProperty(value = "微信公众号二维码")
+    @Length(max = 150, message = "微信公众号二维码长度不能超过150")
+    private String wxmpQrCode;
+
+}

+ 55 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/baseconfig/dto/BaseConfigSaveDTO.java

@@ -0,0 +1,55 @@
+package com.github.zuihou.business.baseconfig.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.hibernate.validator.constraints.Length;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @since 2023-04-27
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "BaseConfigSaveDTO", description = "基础配置")
+public class BaseConfigSaveDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单积分比例
+     */
+    @ApiModelProperty(value = "订单积分比例")
+    private Integer orderPointScale;
+    /**
+     * 用户小程序客服电话
+     */
+    @ApiModelProperty(value = "用户小程序客服电话")
+    @Length(max = 30, message = "用户小程序客服电话长度不能超过30")
+    private String xcxCsPhone;
+    /**
+     * 微信公众号二维码
+     */
+    @ApiModelProperty(value = "微信公众号二维码")
+    @Length(max = 150, message = "微信公众号二维码长度不能超过150")
+    private String wxmpQrCode;
+
+}

+ 60 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/baseconfig/dto/BaseConfigUpdateDTO.java

@@ -0,0 +1,60 @@
+package com.github.zuihou.business.baseconfig.dto;
+
+import com.github.zuihou.base.entity.SuperEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 实体类
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @since 2023-04-27
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@ApiModel(value = "BaseConfigUpdateDTO", description = "基础配置")
+public class BaseConfigUpdateDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键")
+    @NotNull(message = "id不能为空", groups = SuperEntity.Update.class)
+    private Long id;
+
+    /**
+     * 订单积分比例
+     */
+    @ApiModelProperty(value = "订单积分比例")
+    private Integer orderPointScale;
+    /**
+     * 用户小程序客服电话
+     */
+    @ApiModelProperty(value = "用户小程序客服电话")
+    @Length(max = 30, message = "用户小程序客服电话长度不能超过30")
+    private String xcxCsPhone;
+    /**
+     * 微信公众号二维码
+     */
+    @ApiModelProperty(value = "微信公众号二维码")
+    @Length(max = 150, message = "微信公众号二维码长度不能超过150")
+    private String wxmpQrCode;
+}

+ 83 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/baseconfig/entity/BaseConfig.java

@@ -0,0 +1,83 @@
+package com.github.zuihou.business.baseconfig.entity;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.zuihou.base.entity.Entity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.hibernate.validator.constraints.Length;
+
+import java.time.LocalDateTime;
+
+import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;
+
+/**
+ * <p>
+ * 实体类
+ * 基础配置
+ * </p>
+ *
+ * @author zuihou
+ * @since 2023-04-27
+ */
+@Data
+@NoArgsConstructor
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("bt_base_config")
+@ApiModel(value = "BaseConfig", description = "基础配置")
+@AllArgsConstructor
+public class BaseConfig extends Entity<Long> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单积分比例
+     */
+    @ApiModelProperty(value = "订单积分比例")
+    @TableField("order_point_scale")
+    @Excel(name = "订单积分比例")
+    private Integer orderPointScale;
+
+    /**
+     * 用户小程序客服电话
+     */
+    @ApiModelProperty(value = "用户小程序客服电话")
+    @Length(max = 30, message = "用户小程序客服电话长度不能超过30")
+    @TableField(value = "xcx_cs_phone", condition = LIKE)
+    @Excel(name = "用户小程序客服电话")
+    private String xcxCsPhone;
+
+    /**
+     * 微信公众号二维码
+     */
+    @ApiModelProperty(value = "微信公众号二维码")
+    @Length(max = 150, message = "微信公众号二维码长度不能超过150")
+    @TableField(value = "wxmp_qr_code", condition = LIKE)
+    @Excel(name = "微信公众号二维码")
+    private String wxmpQrCode;
+
+
+    @Builder
+    public BaseConfig(Long id, LocalDateTime createTime, Long createUser, LocalDateTime updateTime, Long updateUser, 
+                    Integer orderPointScale, String xcxCsPhone, String wxmpQrCode) {
+        this.id = id;
+        this.createTime = createTime;
+        this.createUser = createUser;
+        this.updateTime = updateTime;
+        this.updateUser = updateUser;
+        this.orderPointScale = orderPointScale;
+        this.xcxCsPhone = xcxCsPhone;
+        this.wxmpQrCode = wxmpQrCode;
+    }
+
+}