Commit d4e16218 authored by 375138141's avatar 375138141
parents 865cddda 80e7bb0b
package com.dsk.web.controller.customer;
import com.dsk.common.core.controller.BaseController;
import com.dsk.system.service.ICustomerService;
import com.dsk.system.service.impl.CustomerServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 客户相关
*
* @author lcl
* @create 2023/5/16
*/
@RestController
@RequestMapping("/system/config")
public class CustomerController extends BaseController {
@Autowired
private ICustomerService baseService;
}
...@@ -158,14 +158,107 @@ token: ...@@ -158,14 +158,107 @@ token:
# 令牌有效期(默认30分钟) # 令牌有效期(默认30分钟)
expireTime: 30 expireTime: 30
# MyBatis配置
mybatis: #mybatis:
# 搜索指定包别名 # # 搜索指定包别名
typeAliasesPackage: com.dsk.**.domain # typeAliasesPackage: com.dsk.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件 # # 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml # mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件 # # 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml # configLocation: classpath:mybatis/mybatis-config.xml
# MyBatisPlus配置
# https://baomidou.com/config/
mybatis-plus:
# 不支持多包, 如有需要可在注解配置 或 提升扫包等级
# 例如 com.**.**.mapper
mapperPackage: com.dsk.**.mapper
# 对应的 XML 文件位置
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.dsk.**.domain
# 针对 typeAliasesPackage,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
#typeAliasesSuperType: Class<?>
# 如果配置了该属性,SqlSessionFactoryBean 会把该包下面的类注册为对应的 TypeHandler
#typeHandlersPackage: null
# 如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性
#typeEnumsPackage: null
# 启动时是否检查 MyBatis XML 文件的存在,默认不检查
checkConfigLocation: false
# 通过该属性可指定 MyBatis 的执行器,MyBatis 的执行器总共有三种:
# SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句(PreparedStatement)
# REUSE:该执行器类型会复用预处理语句(PreparedStatement)
# BATCH:该执行器类型会批量执行所有的更新语句
executorType: SIMPLE
configuration:
# 自动驼峰命名规则(camel case)映射
# 如果您的数据库命名符合规则无需使用 @TableField 注解指定数据库字段名
mapUnderscoreToCamelCase: true
# 默认枚举处理类,如果配置了该属性,枚举将统一使用指定处理器进行处理
# org.apache.ibatis.type.EnumTypeHandler : 存储枚举的名称
# org.apache.ibatis.type.EnumOrdinalTypeHandler : 存储枚举的索引
# com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler : 枚举类需要实现IEnum接口或字段标记@EnumValue注解.
defaultEnumTypeHandler: org.apache.ibatis.type.EnumTypeHandler
# 当设置为 true 的时候,懒加载的对象可能被任何懒属性全部加载,否则,每个属性都按需加载。需要和 lazyLoadingEnabled 一起使用。
aggressiveLazyLoading: true
# MyBatis 自动映射策略
# NONE:不启用自动映射
# PARTIAL:只对非嵌套的 resultMap 进行自动映射
# FULL:对所有的 resultMap 都进行自动映射
autoMappingBehavior: PARTIAL
# MyBatis 自动映射时未知列或未知属性处理策
# NONE:不做任何处理 (默认值)
# WARNING:以日志的形式打印相关警告信息
# FAILING:当作映射失败处理,并抛出异常和详细信息
autoMappingUnknownColumnBehavior: NONE
# Mybatis一级缓存,默认为 SESSION
# SESSION session级别缓存,同一个session相同查询语句不会再次查询数据库
# STATEMENT 关闭一级缓存
localCacheScope: SESSION
# 开启Mybatis二级缓存,默认为 true
cacheEnabled: false
# 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
# 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
# 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl
global-config:
# 是否打印 Logo banner
banner: true
# 是否初始化 SqlRunner
enableSqlRunner: false
dbConfig:
# 主键类型
# AUTO 数据库ID自增
# NONE 空
# INPUT 用户输入ID
# ASSIGN_ID 全局唯一ID
# ASSIGN_UUID 全局唯一ID UUID
idType: AUTO
# 表名前缀
tablePrefix: null
# 字段 format,例: %s,(对主键无效)
columnFormat: null
# 表名是否使用驼峰转下划线命名,只对表名生效
tableUnderline: true
# 大写命名,对表名和字段名均生效
capitalMode: false
# 全局的entity的逻辑删除字段属性名
logicDeleteField: null
# 逻辑已删除值
logicDeleteValue: 2
# 逻辑未删除值
logicNotDeleteValue: 0
# 字段验证策略之 insert,在 insert 的时候的字段验证策略
# IGNORED 忽略判断
# NOT_NULL 非NULL判断
# NOT_EMPTY 非空判断(只对字符串类型字段,其他类型字段依然为非NULL判断)
# DEFAULT 默认的,一般只用于注解里
# NEVER 不加入 SQL
insertStrategy: NOT_NULL
# 字段验证策略之 update,在 update 的时候的字段验证策略
updateStrategy: NOT_NULL
# 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
where-strategy: NOT_NULL
# PageHelper分页插件 # PageHelper分页插件
pagehelper: pagehelper:
......
...@@ -113,6 +113,15 @@ ...@@ -113,6 +113,15 @@
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId> <artifactId>commons-pool2</artifactId>
</dependency> </dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
</dependency>
<!-- hutool工具类 --> <!-- hutool工具类 -->
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
......
...@@ -7,8 +7,8 @@ npm install ...@@ -7,8 +7,8 @@ npm install
npm run dev npm run dev
## 页面 ## 页面
### http://localhost:8088/login 登录页面 ### http://localhost:81/login 登录页面
### http://localhost:8088/index 首页 ### http://localhost:81/index 首页
## 开发规范及注意事项 ## 开发规范及注意事项
...@@ -16,7 +16,7 @@ npm run dev ...@@ -16,7 +16,7 @@ npm run dev
2* 所有图片文件均放在src/assets/images文件夹下,图片命名规范:(1)直接小写(2)驼峰命名(3)带下划线,三种均可。公用图片直接放在images下,单独栏目板块下的图片要单独建文件夹存放。 2* 所有图片文件均放在src/assets/images文件夹下,图片命名规范:(1)直接小写(2)驼峰命名(3)带下划线,三种均可。公用图片直接放在images下,单独栏目板块下的图片要单独建文件夹存放。
3* svg栏目图标统一存放位置:src/icons/svg。 3* svg栏目图标统一存放位置:src/assets/icons/svg。
4* 组件引用:公用组件存放目录src/components;单独引用的组件存放目录可在页面同级目录下建component文件夹存。 4* 组件引用:公用组件存放目录src/components;单独引用的组件存放目录可在页面同级目录下建component文件夹存。
......
...@@ -180,3 +180,248 @@ aside { ...@@ -180,3 +180,248 @@ aside {
margin-bottom: 10px; margin-bottom: 10px;
} }
} }
// 自定义全局样式
.flex-box {
display: flex !important;
flex-direction: row;
align-items: center;
}
.a-link{
color: #0081FF;
&:hover{
color: #0081FF;
text-decoration: underline;
}
}
.text-cl1{
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
ul, li {
list-style: none;
padding: 0;
margin: 0;
}
.app-container {
margin: 12px 24px;
background: #FFFFFF;
.el-input__inner{
border-color: #D9D9D9;
color: #232323;
&::placeholder {
color: rgba(35,35,35,0.5);
}
}
.el-select .el-input .el-select__caret{
color: #232323;
}
.query-box{
justify-content: space-between;
}
.query-params {
.form-content-width {
width: 160px;
}
.el-form{
&.el-form--inline .el-form-item{
margin-right: 16px;
}
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{
margin-bottom: 8px;
margin-top: 8px;
}
}
}
.query-ability{
span{
font-size: 14px;
color: #232323;
line-height: initial;
margin-left: 20px;
cursor: pointer;
&:hover{
color: #0081FF;
}
&:first-child{
margin-left: 0;
}
img{
width: 18px;
height: 18px;
margin-right: 5px;
}
}
}
}
.container-box {
padding: 16px;
}
.table-item{
width: 100%;
.el-table{
font-size: 12px;
color: #232323;
.cell{
padding-right: 12px !important;
padding-left: 12px !important;
line-height: 18px;
}
thead{
color: rgba(35,35,35,0.7);
}
.sort-caret.ascending{
border-bottom-color: rgba(0,129,255,0.5);
}
.ascending .sort-caret.ascending{
border-bottom-color: #0081FF;
}
.sort-caret.descending{
border-top-color: rgba(0,129,255,0.5);
}
.descending .sort-caret.descending{
border-top-color: #0081FF;
}
.el-table__header-wrapper{
th{
background: #F0F3FA;
text-align: left;
}
}
.el-table__body-wrapper{
&::-webkit-scrollbar {
width: 16px; //竖轴宽度
height: 16px; //横轴宽度
}
&::-webkit-scrollbar-track {
background-color: #F3F4F5;
border-radius: 0;
}
&::-webkit-scrollbar-thumb {
background-color: rgba(98,110,126,0.2);
border: 4px solid #F3F4F5;
border-radius: 10px;
}
&::-webkit-scrollbar-corner {
background: #F3F4F5;
/*border-left: 1px solid #E0EAF2;*/
}
tr{
&.current-row>td{
background-color: initial;
}
&:nth-child(2n) {
background: #F8FBFF;
}
}
}
}
}
.common-title{
font-size: 16px;
color: #232323;
font-weight: 700;
line-height: 0.9;
position: relative;
padding: 0 0 0 8px;
&:before{
position: absolute;
left: 0;
top: 0;
width: 2px;
height: 14px;
background: #445781;
content:"";
}
}
.pagination-box{
text-align: right;
padding: 16px 0;
.el-pagination{
font-weight: normal;
padding: 0;
button, span:not([class*=suffix]){
height: 24px;
line-height: 24px;
}
&.is-background .btn-next,
&.is-background .btn-prev,
&.is-background .el-pager li{
height: 24px;
line-height: 24px;
min-width: 24px;
padding: 0 6px;
margin: 0 4px;
font-size: 12px;
color: rgba(35,35,35,0.7);
background-color: #F3F4F5;
}
&.is-background .el-pager li:not(.disabled):hover{
background-color: rgba(0,129,255,0.3);
color: #FFFFFF;
}
&.is-background{
.el-pager{
li:not(.disabled){
&.active{
background-color: $systemColor;
color: #FFFFFF;
}
}
}
.el-pagination__jump{
margin-left: 8px;
color: #3D3D3D;
.el-input{
font-size: 12px;
}
.el-pagination__editor{
height: 24px;
margin: 0 8px;
}
.el-pagination__editor.el-input .el-input__inner{
height: 24px;
border-color: #CDD1D9;
border-radius: 2px;
}
}
}
}
}
.el-drawer{
.el-drawer__header{
padding: 16px 2px 16px 16px;
margin-bottom: 0;
border-bottom: 1px solid #E1E1E1;
}
.el-drawer__body{
overflow-y: auto;
&::-webkit-scrollbar {
width: 16px; //竖轴宽度
height: 16px; //横轴宽度
}
&::-webkit-scrollbar-track {
background-color: #F3F4F5;
border-radius: 0;
}
&::-webkit-scrollbar-thumb {
background-color: rgba(98,110,126,0.2);
border: 4px solid #F3F4F5;
border-radius: 10px;
}
&::-webkit-scrollbar-corner {
background: #F3F4F5;
/*border-left: 1px solid #E0EAF2;*/
}
}
}
...@@ -38,6 +38,9 @@ $base-sub-menu-hover:#001528; ...@@ -38,6 +38,9 @@ $base-sub-menu-hover:#001528;
$base-sidebar-width: 200px; $base-sidebar-width: 200px;
//系统默认颜色
$systemColor:#0081FF;
// the :export directive is the magic sauce for webpack // the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
:export { :export {
...@@ -50,5 +53,6 @@ $base-sidebar-width: 200px; ...@@ -50,5 +53,6 @@ $base-sidebar-width: 200px;
subMenuHover: $base-sub-menu-hover; subMenuHover: $base-sub-menu-hover;
sideBarWidth: $base-sidebar-width; sideBarWidth: $base-sidebar-width;
logoTitleColor: $base-logo-title-color; logoTitleColor: $base-logo-title-color;
logoLightTitleColor: $base-logo-light-title-color logoLightTitleColor: $base-logo-light-title-color;
systemColor: $systemColor
} }
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
fit fit
highlight-current-row highlight-current-row
> >
<el-table-column label="序号" width="50" align="left"> <el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template> <template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column> </el-table-column>
<el-table-column label="地区" min-width="70" align="left"> <el-table-column label="地区" min-width="70" align="left">
......
package com.dsk.system.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息表(Customer)实体类
*
* @author makejava
* @since 2023-05-16 09:27:55
*/
@Data
@TableName("customer")
public class Customer implements Serializable {
private static final long serialVersionUID = 824383302173350532L;
private String customerId;
/**
* jsk企业id
*/
private Integer companyId;
/**
* 客户名称(企业名称)
*/
private String companyName;
/**
* 法定代表人
*/
private String legalPerson;
/**
* 注册资本(字符串)
*/
private String registerCapitalStr;
/**
* 注册资本
*/
private Double registerCapital;
/**
* 企业性质(company_nature_type)
*/
private String companyNature;
/**
* 企业级别(company_level_type)
*/
private String companyLevel;
/**
* 信用等级(credit_level_type)
*/
private String creditLevel;
/**
* 上级公司(控股单位)
*/
private String superCompany;
/**
* 是否上市 0:否 1:是
*/
private Integer isOn;
/**
* 是否主要客户 0:否 1:是
*/
private Integer isMajor;
/**
* 发包属性
*/
private String companyAttribute;
/**
* 主要业务
*/
private String mainBusiness;
/**
* 经营范围
*/
private String businessScope;
/**
* 最后跟进时间
*/
private Date lastFollowTime;
private Long createId;
private Date createTime;
private Long updateId;
private Date updateTime;
}
package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.system.domain.Customer;
import org.apache.ibatis.annotations.Mapper;
/**
* 客户信息表(Customer)表数据库访问层
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
@Mapper
public interface CustomerMapper extends BaseMapper<Customer> {
}
package com.dsk.system.service;
import com.dsk.system.domain.Customer;
import java.util.List;
/**
* 客户信息表(Customer)表服务接口
*
* @author makejava
* @since 2023-05-16 09:28:00
*/
public interface ICustomerService {
}
package com.dsk.system.service.impl;
import com.dsk.system.mapper.CustomerMapper;
import com.dsk.system.service.ICustomerService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 客户信息表(Customer)表服务实现类
*
* @author makejava
* @since 2023-05-16 09:27:57
*/
@Service
public class CustomerServiceImpl implements ICustomerService {
@Resource
private CustomerMapper customerMapper;
}
<?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.dsk.system.mapper.CustomerMapper">
<resultMap type="com.dsk.system.domain.Customer" id="CustomerMap">
<result property="customerId" column="customer_id" jdbcType="VARCHAR"/>
<result property="companyId" column="company_id" jdbcType="INTEGER"/>
<result property="companyName" column="company_name" jdbcType="VARCHAR"/>
<result property="legalPerson" column="legal_person" jdbcType="VARCHAR"/>
<result property="registerCapitalStr" column="register_capital_str" jdbcType="VARCHAR"/>
<result property="registerCapital" column="register_capital" jdbcType="NUMERIC"/>
<result property="companyNature" column="company_nature" jdbcType="VARCHAR"/>
<result property="companyLevel" column="company_level" jdbcType="VARCHAR"/>
<result property="creditLevel" column="credit_level" jdbcType="VARCHAR"/>
<result property="superCompany" column="super_company" jdbcType="VARCHAR"/>
<result property="isOn" column="is_on" jdbcType="INTEGER"/>
<result property="isMajor" column="is_major" jdbcType="INTEGER"/>
<result property="companyAttribute" column="company_attribute" jdbcType="VARCHAR"/>
<result property="mainBusiness" column="main_business" jdbcType="VARCHAR"/>
<result property="businessScope" column="business_scope" jdbcType="VARCHAR"/>
<result property="lastFollowTime" column="last_follow_time" jdbcType="TIMESTAMP"/>
<result property="createId" column="create_id" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateId" column="update_id" jdbcType="INTEGER"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
</mapper>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<velocity.version>2.3</velocity.version> <velocity.version>2.3</velocity.version>
<jwt.version>0.9.1</jwt.version> <jwt.version>0.9.1</jwt.version>
<mybatis-plus.version>3.4.2</mybatis-plus.version> <mybatis-plus.version>3.4.2</mybatis-plus.version>
<lombok.version>1.16.20</lombok.version> <lombok.version>1.18.20</lombok.version>
<hutool-all.version>5.8.0</hutool-all.version> <hutool-all.version>5.8.0</hutool-all.version>
<dsk-openapi-sdk.version>2.1.0</dsk-openapi-sdk.version> <dsk-openapi-sdk.version>2.1.0</dsk-openapi-sdk.version>
</properties> </properties>
...@@ -178,11 +178,16 @@ ...@@ -178,11 +178,16 @@
<version>${mybatis-plus.version}</version> <version>${mybatis-plus.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>${lombok.version}</version> <version>${lombok.version}</version>
<scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment