authorities = sysUser.getUserPermsList().stream().filter(code -> StringUtils.hasText(code.trim())).map(code -> new SimpleGrantedAuthority(code.trim())).collect(Collectors.toList());
+ return new UsernamePasswordAuthenticationToken(sysUser.getUsername(), null, authorities);
+ } else {
+ return new UsernamePasswordAuthenticationToken(sysUser.getUsername(), null, new ArrayList<>());
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java
new file mode 100644
index 0000000..666698d
--- /dev/null
+++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java
@@ -0,0 +1,124 @@
+package com.atguigu.daijia.security.fillter;
+
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.common.result.ResultCodeEnum;
+import com.atguigu.daijia.common.util.IpUtil;
+import com.atguigu.daijia.common.util.ResponseUtil;
+import com.atguigu.daijia.model.entity.system.SysLoginLog;
+import com.atguigu.daijia.model.vo.system.LoginVo;
+import com.atguigu.daijia.security.custom.CustomUser;
+import com.atguigu.daijia.system.client.SysLoginLogFeignClient;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+
+/**
+ *
+ * 登录过滤器,继承UsernamePasswordAuthenticationFilter,对用户名密码进行登录校验
+ *
+ *
+ */
+public class TokenLoginFilter extends UsernamePasswordAuthenticationFilter {
+
+ private RedisTemplate redisTemplate;
+ private SysLoginLogFeignClient sysLoginLogFeignClient;
+
+ private String ADMIN_LOGIN_KEY_PREFIX = "admin:login:";
+ private int ADMIN_LOGIN_KEY_TIMEOUT = 60 * 60 * 24 * 100;
+
+ public TokenLoginFilter(AuthenticationManager authenticationManager, RedisTemplate redisTemplate, SysLoginLogFeignClient sysLoginLogFeignClient) {
+ this.setAuthenticationManager(authenticationManager);
+ this.setPostOnly(false);
+ //指定登录接口及提交方式,可以指定任意路径
+ this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/securityLogin/login","POST"));
+ this.redisTemplate = redisTemplate;
+ this.sysLoginLogFeignClient = sysLoginLogFeignClient;
+ }
+
+ /**
+ * 登录认证
+ * @param req
+ * @param res
+ * @return
+ * @throws AuthenticationException
+ */
+ @Override
+ public Authentication attemptAuthentication(HttpServletRequest req, HttpServletResponse res)
+ throws AuthenticationException {
+ try {
+ LoginVo loginVo = new ObjectMapper().readValue(req.getInputStream(), LoginVo.class);
+
+ Authentication authenticationToken = new UsernamePasswordAuthenticationToken(loginVo.getUsername(), loginVo.getPassword());
+ return this.getAuthenticationManager().authenticate(authenticationToken);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+
+ /**
+ * 登录成功
+ * @param request
+ * @param response
+ * @param chain
+ * @param auth
+ * @throws IOException
+ * @throws ServletException
+ */
+ @Override
+ protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain,
+ Authentication auth) throws IOException, ServletException {
+ CustomUser customUser = (CustomUser) auth.getPrincipal();
+ String token = UUID.randomUUID().toString().replaceAll("-", "");
+ redisTemplate.opsForValue().set(ADMIN_LOGIN_KEY_PREFIX+token, customUser.getSysUser(), ADMIN_LOGIN_KEY_TIMEOUT, TimeUnit.SECONDS);
+
+ //保存权限数据
+ //redisTemplate.boundHashOps("admin:auth").put(customUser.getUsername(), customUser.getAuthorities());
+
+ //记录日志
+ SysLoginLog sysLoginLog = new SysLoginLog();
+ sysLoginLog.setUsername(customUser.getUsername());
+ sysLoginLog.setStatus(1);
+ sysLoginLog.setIpaddr(IpUtil.getIpAddress(request));
+ sysLoginLog.setMsg("登录成功");
+ sysLoginLogFeignClient.recordLoginLog(sysLoginLog);
+
+ Map map = new HashMap<>();
+ map.put("token", token);
+ ResponseUtil.out(response, Result.ok(map));
+ }
+
+ /**
+ * 登录失败
+ * @param request
+ * @param response
+ * @param e
+ * @throws IOException
+ * @throws ServletException
+ */
+ @Override
+ protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response,
+ AuthenticationException e) throws IOException, ServletException {
+ if(e.getCause() instanceof RuntimeException) {
+ ResponseUtil.out(response, Result.build(null, 204, e.getMessage()));
+ } else {
+ ResponseUtil.out(response, Result.build(null, ResultCodeEnum.LOGIN_MOBLE_ERROR));
+ }
+ }
+}
diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java
new file mode 100644
index 0000000..aa54235
--- /dev/null
+++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java
@@ -0,0 +1,37 @@
+package com.atguigu.daijia.security.service;
+
+import com.atguigu.daijia.model.entity.system.SysUser;
+import com.atguigu.daijia.security.custom.CustomUser;
+import com.atguigu.daijia.system.client.SecurityLoginFeignClient;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class UserDetailsServiceImpl implements UserDetailsService {
+
+ @Autowired
+ private SecurityLoginFeignClient securityLoginFeignClient;
+
+ @Override
+ public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
+ SysUser sysUser = securityLoginFeignClient.getByUsername(username).getData();
+ if(null == sysUser) {
+ throw new UsernameNotFoundException("用户名不存在!");
+ }
+
+ if(!"admin".equals(sysUser.getUsername()) && sysUser.getStatus().intValue() == 0) {
+ throw new RuntimeException("账号已停用");
+ }
+ List userPermsList = securityLoginFeignClient.findUserPermsList(sysUser.getId()).getData();
+ sysUser.setUserPermsList(userPermsList);
+ return new CustomUser(sysUser);
+ }
+}
\ No newline at end of file
diff --git a/model/pom.xml b/model/pom.xml
new file mode 100644
index 0000000..b258c51
--- /dev/null
+++ b/model/pom.xml
@@ -0,0 +1,58 @@
+
+
+
+ daijia-parent
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ model
+
+
+
+
+ org.projectlombok
+ lombok
+
+
+ com.atguigu.daijia
+ common-util
+ 1.0
+ provided
+
+
+
+
+
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+ provided
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ provided
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-data-elasticsearch
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+ provided
+
+
+
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java b/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java
new file mode 100644
index 0000000..ed71e2a
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java
@@ -0,0 +1,36 @@
+package com.atguigu.daijia.model.entity.base;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Data
+public class BaseEntity implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ @TableField("create_time")
+ private Date createTime;
+
+ @JsonIgnore
+ @TableField("update_time")
+ private Date updateTime;
+
+ @JsonIgnore
+ @TableLogic
+ @TableField("is_deleted")
+ private Integer isDeleted;
+
+ @JsonIgnore
+ @TableField(exist = false)
+ private Map param = new HashMap<>();
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java
new file mode 100644
index 0000000..46db368
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java
@@ -0,0 +1,67 @@
+package com.atguigu.daijia.model.entity.coupon;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "CouponInfo")
+@TableName("coupon_info")
+public class CouponInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "优惠卷类型 1 现金券 2 折扣")
+ @TableField("coupon_type")
+ private Integer couponType;
+
+ @Schema(description = "优惠卷名字")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "金额")
+ @TableField("amount")
+ private BigDecimal amount;
+
+ @Schema(description = "折扣:取值[1 到 10]")
+ @TableField("discount")
+ private BigDecimal discount;
+
+ @Schema(description = "使用门槛 0->没门槛")
+ @TableField("condition_amount")
+ private BigDecimal conditionAmount;
+
+ @Schema(description = "发行数量")
+ @TableField("publish_count")
+ private Integer publishCount;
+
+ @Schema(description = "每人限领张数")
+ @TableField("per_limit")
+ private Integer perLimit;
+
+ @Schema(description = "已使用数量")
+ @TableField("use_count")
+ private Integer useCount;
+
+ @Schema(description = "领取数量")
+ @TableField("receive_count")
+ private Integer receiveCount;
+
+ @Schema(description = "过期时间")
+ @TableField("expire_time")
+ private Date expireTime;
+
+ @Schema(description = "优惠券描述")
+ @TableField("description")
+ private String description;
+
+ @Schema(description = "状态[0-未发布,1-已发布, -1-已过期]")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java
new file mode 100644
index 0000000..b3e744e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java
@@ -0,0 +1,46 @@
+package com.atguigu.daijia.model.entity.coupon;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "CustomerCoupon")
+@TableName("customer_coupon")
+public class CustomerCoupon extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "优惠券ID")
+ @TableField("coupon_id")
+ private Long couponId;
+
+ @Schema(description = "乘客ID")
+ @TableField("customer_id")
+ private Long customerId;
+
+ @Schema(description = "购物券状态(1:未使用 2:已使用)")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "领取时间")
+ @TableField("receive_time")
+ private Date receiveTime;
+
+ @Schema(description = "使用时间")
+ @TableField("used_time")
+ private Date usedTime;
+
+ @Schema(description = "订单id")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "过期时间")
+ @TableField("expire_time")
+ private Date expireTime;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java
new file mode 100644
index 0000000..b2b1fab
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java
@@ -0,0 +1,22 @@
+package com.atguigu.daijia.model.entity.customer;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "CustomerCar")
+public class CustomerCar extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "客户ID")
+ private Long customerId;
+
+ @Schema(description = "车牌号")
+ private String license;
+
+ @Schema(description = "车型")
+ private String brand;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java
new file mode 100644
index 0000000..fd87216
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java
@@ -0,0 +1,31 @@
+package com.atguigu.daijia.model.entity.customer;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "CustomerInfo")
+public class CustomerInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "电话")
+ private String phone;
+
+ @Schema(description = "1有效,2禁用")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java
new file mode 100644
index 0000000..a88deb5
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java
@@ -0,0 +1,25 @@
+package com.atguigu.daijia.model.entity.customer;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "CustomerLoginLog")
+public class CustomerLoginLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "客户id")
+ private Long customerId;
+
+ @Schema(description = "登录IP地址")
+ private String ipaddr;
+
+ @Schema(description = "登录状态(0成功 1失败)")
+ private Boolean status;
+
+ @Schema(description = "提示信息")
+ private String msg;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java
new file mode 100644
index 0000000..f805585
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java
@@ -0,0 +1,28 @@
+package com.atguigu.daijia.model.entity.dispatch;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "订单任务关联表")
+@TableName("order_job")
+public class OrderJob extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单id")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "任务id")
+ @TableField("job_id")
+ private Long jobId;
+
+ @Schema(description = "参数")
+ @TableField("parameter")
+ private String parameter;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java
new file mode 100644
index 0000000..d58132e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java
@@ -0,0 +1,237 @@
+package com.atguigu.daijia.model.entity.dispatch;
+
+import java.util.Date;
+
+/**
+ * xxl-job info
+ *
+ * @author xuxueli 2016-1-12 18:25:49
+ */
+public class XxlJobInfo {
+
+ private int id; // 主键ID
+
+ private int jobGroup; // 执行器主键ID
+ private String jobDesc;
+
+ private Date addTime;
+ private Date updateTime;
+
+ private String author; // 负责人
+ private String alarmEmail; // 报警邮件
+
+ private String scheduleType; // 调度类型
+ private String scheduleConf; // 调度配置,值含义取决于调度类型
+ private String misfireStrategy; // 调度过期策略
+
+ private String executorRouteStrategy; // 执行器路由策略
+ private String executorHandler; // 执行器,任务Handler名称
+ private String executorParam; // 执行器,任务参数
+ private String executorBlockStrategy; // 阻塞处理策略
+ private int executorTimeout; // 任务执行超时时间,单位秒
+ private int executorFailRetryCount; // 失败重试次数
+
+ private String glueType; // GLUE类型 #com.xxl.job.core.glue.GlueTypeEnum
+ private String glueSource; // GLUE源代码
+ private String glueRemark; // GLUE备注
+ private Date glueUpdatetime; // GLUE更新时间
+
+ private String childJobId; // 子任务ID,多个逗号分隔
+
+ private int triggerStatus; // 调度状态:0-停止,1-运行
+ private long triggerLastTime; // 上次调度时间
+ private long triggerNextTime; // 下次调度时间
+
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getJobGroup() {
+ return jobGroup;
+ }
+
+ public void setJobGroup(int jobGroup) {
+ this.jobGroup = jobGroup;
+ }
+
+ public String getJobDesc() {
+ return jobDesc;
+ }
+
+ public void setJobDesc(String jobDesc) {
+ this.jobDesc = jobDesc;
+ }
+
+ public Date getAddTime() {
+ return addTime;
+ }
+
+ public void setAddTime(Date addTime) {
+ this.addTime = addTime;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public String getAlarmEmail() {
+ return alarmEmail;
+ }
+
+ public void setAlarmEmail(String alarmEmail) {
+ this.alarmEmail = alarmEmail;
+ }
+
+ public String getScheduleType() {
+ return scheduleType;
+ }
+
+ public void setScheduleType(String scheduleType) {
+ this.scheduleType = scheduleType;
+ }
+
+ public String getScheduleConf() {
+ return scheduleConf;
+ }
+
+ public void setScheduleConf(String scheduleConf) {
+ this.scheduleConf = scheduleConf;
+ }
+
+ public String getMisfireStrategy() {
+ return misfireStrategy;
+ }
+
+ public void setMisfireStrategy(String misfireStrategy) {
+ this.misfireStrategy = misfireStrategy;
+ }
+
+ public String getExecutorRouteStrategy() {
+ return executorRouteStrategy;
+ }
+
+ public void setExecutorRouteStrategy(String executorRouteStrategy) {
+ this.executorRouteStrategy = executorRouteStrategy;
+ }
+
+ public String getExecutorHandler() {
+ return executorHandler;
+ }
+
+ public void setExecutorHandler(String executorHandler) {
+ this.executorHandler = executorHandler;
+ }
+
+ public String getExecutorParam() {
+ return executorParam;
+ }
+
+ public void setExecutorParam(String executorParam) {
+ this.executorParam = executorParam;
+ }
+
+ public String getExecutorBlockStrategy() {
+ return executorBlockStrategy;
+ }
+
+ public void setExecutorBlockStrategy(String executorBlockStrategy) {
+ this.executorBlockStrategy = executorBlockStrategy;
+ }
+
+ public int getExecutorTimeout() {
+ return executorTimeout;
+ }
+
+ public void setExecutorTimeout(int executorTimeout) {
+ this.executorTimeout = executorTimeout;
+ }
+
+ public int getExecutorFailRetryCount() {
+ return executorFailRetryCount;
+ }
+
+ public void setExecutorFailRetryCount(int executorFailRetryCount) {
+ this.executorFailRetryCount = executorFailRetryCount;
+ }
+
+ public String getGlueType() {
+ return glueType;
+ }
+
+ public void setGlueType(String glueType) {
+ this.glueType = glueType;
+ }
+
+ public String getGlueSource() {
+ return glueSource;
+ }
+
+ public void setGlueSource(String glueSource) {
+ this.glueSource = glueSource;
+ }
+
+ public String getGlueRemark() {
+ return glueRemark;
+ }
+
+ public void setGlueRemark(String glueRemark) {
+ this.glueRemark = glueRemark;
+ }
+
+ public Date getGlueUpdatetime() {
+ return glueUpdatetime;
+ }
+
+ public void setGlueUpdatetime(Date glueUpdatetime) {
+ this.glueUpdatetime = glueUpdatetime;
+ }
+
+ public String getChildJobId() {
+ return childJobId;
+ }
+
+ public void setChildJobId(String childJobId) {
+ this.childJobId = childJobId;
+ }
+
+ public int getTriggerStatus() {
+ return triggerStatus;
+ }
+
+ public void setTriggerStatus(int triggerStatus) {
+ this.triggerStatus = triggerStatus;
+ }
+
+ public long getTriggerLastTime() {
+ return triggerLastTime;
+ }
+
+ public void setTriggerLastTime(long triggerLastTime) {
+ this.triggerLastTime = triggerLastTime;
+ }
+
+ public long getTriggerNextTime() {
+ return triggerNextTime;
+ }
+
+ public void setTriggerNextTime(long triggerNextTime) {
+ this.triggerNextTime = triggerNextTime;
+ }
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java
new file mode 100644
index 0000000..09d480c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java
@@ -0,0 +1,32 @@
+package com.atguigu.daijia.model.entity.dispatch;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "XxlJobLog")
+@TableName("xxl_job_log")
+public class XxlJobLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "任务id")
+ @TableField("job_id")
+ private Long jobId;
+
+ @Schema(description = "任务状态 0:失败 1:成功")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "失败信息")
+ @TableField("error")
+ private String error;
+
+ @Schema(description = "耗时(单位:毫秒)")
+ @TableField("times")
+ private Integer times;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java
new file mode 100644
index 0000000..102e0f8
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java
@@ -0,0 +1,42 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "DriverAccount")
+@TableName("driver_account")
+public class DriverAccount extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "账户总金额")
+ @TableField("total_amount")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "锁定金额")
+ @TableField("lock_amount")
+ private BigDecimal lockAmount;
+
+ @Schema(description = "可用金额")
+ @TableField("available_amount")
+ private BigDecimal availableAmount;
+
+ @Schema(description = "总收入")
+ @TableField("total_income_amount")
+ private BigDecimal totalIncomeAmount;
+
+ @Schema(description = "总支出")
+ @TableField("total_pay_amount")
+ private BigDecimal totalPayAmount;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java
new file mode 100644
index 0000000..0a17f97
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java
@@ -0,0 +1,38 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "DriverAccountDetail")
+@TableName("driver_account_detail")
+public class DriverAccountDetail extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "交易内容")
+ @TableField("content")
+ private String content;
+
+ @Schema(description = "交易类型:1201-充值 1202-锁定 1203-解锁 1204-消费")
+ @TableField("trade_type")
+ private String tradeType;
+
+ @Schema(description = "金额")
+ @TableField("amount")
+ private BigDecimal amount;
+
+ @Schema(description = "交易号")
+ @TableField("trade_no")
+ private String tradeNo;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java
new file mode 100644
index 0000000..d25a4f1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java
@@ -0,0 +1,26 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "DriverFaceRecognition")
+@TableName("driver_face_recognition")
+public class DriverFaceRecognition extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "识别日期")
+ @TableField("face_date")
+ private Date faceDate;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java
new file mode 100644
index 0000000..8b47c29
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java
@@ -0,0 +1,135 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "DriverInfo")
+@TableName("driver_info")
+public class DriverInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "微信openId")
+ @TableField("wx_open_id")
+ private String wxOpenId;
+
+ @Schema(description = "昵称")
+ @TableField("nickname")
+ private String nickname;
+
+ @Schema(description = "头像")
+ @TableField("avatar_url")
+ private String avatarUrl;
+
+ @Schema(description = "电话")
+ @TableField("phone")
+ private String phone;
+
+ @Schema(description = "姓名")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "性别")
+ @TableField("gender")
+ private String gender;
+
+ @Schema(description = "生日")
+ @TableField("birthday")
+ private Date birthday;
+
+ @Schema(description = "身份证号码")
+ @TableField("idcard_no")
+ private String idcardNo;
+
+ @Schema(description = "身份证地址")
+ @TableField("idcard_address")
+ private String idcardAddress;
+
+ @Schema(description = "身份证有效期")
+ @TableField("idcard_expire")
+ private Date idcardExpire;
+
+ @Schema(description = "身份证正面")
+ @TableField("idcard_front_url")
+ private String idcardFrontUrl;
+
+ @Schema(description = "身份证背面")
+ @TableField("idcard_back_url")
+ private String idcardBackUrl;
+
+ @Schema(description = "手持身份证")
+ @TableField("idcard_hand_url")
+ private String idcardHandUrl;
+
+ @Schema(description = "准驾车型")
+ @TableField("driver_license_class")
+ private String driverLicenseClazz;
+
+ @Schema(description = "驾驶证证件号")
+ @TableField("driver_license_no")
+ private String driverLicenseNo;
+
+ @Schema(description = "驾驶证有效期")
+ @TableField("driver_license_expire")
+ private Date driverLicenseExpire;
+
+ @Schema(description = "驾驶证初次领证日期")
+ @TableField("driver_license_issue_date")
+ private Date driverLicenseIssueDate;
+
+ @Schema(description = "驾驶证正面")
+ @TableField("driver_license_front_url")
+ private String driverLicenseFrontUrl;
+
+ @Schema(description = "行驶证副页正面")
+ @TableField("driver_license_back_url")
+ private String driverLicenseBackUrl;
+
+ @Schema(description = "手持驾驶证")
+ @TableField("driver_license_hand_url")
+ private String driverLicenseHandUrl;
+
+ @Schema(description = "紧急联系人")
+ @TableField("contact_name")
+ private String contactName;
+
+ @Schema(description = "紧急联系人电话")
+ @TableField("contact_phone")
+ private String contactPhone;
+
+ @Schema(description = "紧急联系人关系")
+ @TableField("contact_relationship")
+ private String contactRelationship;
+
+ @Schema(description = "腾讯云人脸模型id")
+ @TableField("face_model_id")
+ private String faceModelId;
+
+ @Schema(description = "司机工号")
+ @TableField("job_no")
+ private String jobNo;
+
+ @Schema(description = "订单量统计")
+ @TableField("order_count")
+ private Integer orderCount;
+
+ @Schema(description = "评分")
+ @TableField("score")
+ private BigDecimal score;
+
+ @Schema(description = "认证状态")
+ @TableField("auth_status")
+ private Integer authStatus;
+
+ @Schema(description = "状态,1正常,2禁用")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java
new file mode 100644
index 0000000..bdd5309
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java
@@ -0,0 +1,32 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "DriverLoginLog")
+@TableName("driver_login_log")
+public class DriverLoginLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "登录IP地址")
+ @TableField("ipaddr")
+ private String ipaddr;
+
+ @Schema(description = "登录状态(0成功 1失败)")
+ @TableField("status")
+ private Boolean status;
+
+ @Schema(description = "提示信息")
+ @TableField("msg")
+ private String msg;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java
new file mode 100644
index 0000000..10b8249
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java
@@ -0,0 +1,38 @@
+package com.atguigu.daijia.model.entity.driver;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "DriverSet")
+@TableName("driver_set")
+public class DriverSet extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机ID")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "服务状态 1:开始接单 0:未接单")
+ @TableField("service_status")
+ private Integer serviceStatus;
+
+ @Schema(description = "订单里程设置")
+ @TableField("order_distance")
+ private BigDecimal orderDistance;
+
+ @Schema(description = "接单里程设置")
+ @TableField("accept_distance")
+ private BigDecimal acceptDistance;
+
+ @Schema(description = "是否自动接单")
+ @TableField("is_auto_accept")
+ private Integer isAutoAccept;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java b/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java
new file mode 100644
index 0000000..dcab73d
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java
@@ -0,0 +1,32 @@
+package com.atguigu.daijia.model.entity.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "订单代驾服务位置")
+@Document
+public class OrderServiceLocation {
+
+ @Schema(description = "id")
+ @Id
+ private String id;
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "金度")
+ private BigDecimal latitude;
+
+ @Schema(description = "纬度")
+ private BigDecimal longitude;
+
+ @Schema(description = "创建时间")
+ private Date createTime;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java
new file mode 100644
index 0000000..348ef75
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java
@@ -0,0 +1,114 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "OrderBill")
+@TableName("order_bill")
+public class OrderBill extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单ID")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "规则ID")
+ @TableField("fee_rule_id")
+ private Long feeRuleId;
+
+ @Schema(description = "总金额")
+ @TableField("total_amount")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "应付款金额")
+ @TableField("pay_amount")
+ private BigDecimal payAmount;
+
+ @Schema(description = "里程费")
+ @TableField("distance_fee")
+ private BigDecimal distanceFee;
+
+ @Schema(description = "等时费用")
+ @TableField("wait_fee")
+ private BigDecimal waitFee;
+
+ @Schema(description = "路桥费")
+ @TableField("toll_fee")
+ private BigDecimal tollFee;
+
+ @Schema(description = "停车费")
+ @TableField("parking_fee")
+ private BigDecimal parkingFee;
+
+ @Schema(description = "其他费用")
+ @TableField("other_fee")
+ private BigDecimal otherFee;
+
+ @Schema(description = "远程费")
+ @TableField("long_distance_fee")
+ private BigDecimal longDistanceFee;
+
+ @Schema(description = "顾客好处费")
+ @TableField("favour_fee")
+ private BigDecimal favourFee;
+
+ @Schema(description = "系统奖励费")
+ @TableField("reward_fee")
+ private BigDecimal rewardFee;
+
+ @Schema(description = "系统奖励规则id")
+ @TableField("reward_rule_id")
+ private Long rewardRuleId;
+
+ @Schema(description = "优惠券金额")
+ @TableField("coupon_amount")
+ private BigDecimal couponAmount;
+
+ @Schema(description = "基础里程(公里)")
+ @TableField("base_distance")
+ private BigDecimal baseDistance;
+
+ @Schema(description = "基础里程费")
+ @TableField("base_distance_fee")
+ private BigDecimal baseDistanceFee;
+
+ @Schema(description = "超出基础里程的里程(公里)")
+ @TableField("exceed_distance")
+ private BigDecimal exceedDistance;
+
+ @Schema(description = "超出基础里程的价格")
+ @TableField("exceed_distance_price")
+ private BigDecimal exceedDistancePrice;
+
+ @Schema(description = "基础等时分钟")
+ @TableField("base_wait_minute")
+ private Integer baseWaitMinute;
+
+ @Schema(description = "超出基础等时的分钟")
+ @TableField("exceed_wait_minute")
+ private Integer exceedWaitMinute;
+
+ @Schema(description = "超出基础分钟的价格")
+ @TableField("exceed_wait_minute_price")
+ private BigDecimal exceedWaitMinutePrice;
+
+ @Schema(description = "基础远途里程(公里)")
+ @TableField("base_long_distance")
+ private BigDecimal baseLongDistance;
+
+ @Schema(description = "超出基础远程里程的里程")
+ @TableField("exceed_long_distance")
+ private BigDecimal exceedLongDistance;
+
+ @Schema(description = "超出基础远程里程的价格")
+ @TableField("exceed_long_distance_price")
+ private BigDecimal exceedLongDistancePrice;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java
new file mode 100644
index 0000000..a200706
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java
@@ -0,0 +1,44 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "OrderComment")
+@TableName("order_comment")
+public class OrderComment extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单ID")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "顾客ID")
+ @TableField("customer_id")
+ private Long customerId;
+
+ @Schema(description = "评分,1星~5星")
+ @TableField("rate")
+ private Integer rate;
+
+ @Schema(description = "备注")
+ @TableField("remark")
+ private String remark;
+
+ @Schema(description = "状态,1未申诉,2已申诉,3申诉失败,4申诉成功")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "申诉工作流ID")
+ @TableField("instance_id")
+ private String instanceId;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java
new file mode 100644
index 0000000..e744f22
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java
@@ -0,0 +1,127 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "OrderInfo")
+@TableName("order_info")
+public class OrderInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "客户ID")
+ @TableField("customer_id")
+ private Long customerId;
+
+ @Schema(description = "订单号")
+ @TableField("order_no")
+ private String orderNo;
+
+ @Schema(description = "起始地点")
+ @TableField("start_location")
+ private String startLocation;
+
+ @Schema(description = "起始地点经度")
+ @TableField("start_point_longitude")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ @TableField("start_point_latitude")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点")
+ @TableField("end_location")
+ private String endLocation;
+
+ @Schema(description = "结束地点经度")
+ @TableField("end_point_longitude")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ @TableField("end_point_latitude")
+ private BigDecimal endPointLatitude;
+
+ @Schema(description = "预估里程")
+ @TableField("expect_distance")
+ private BigDecimal expectDistance;
+
+ @Schema(description = "实际里程")
+ @TableField("real_distance")
+ private BigDecimal realDistance;
+
+ @Schema(description = "预估订单金额")
+ @TableField("expect_amount")
+ private BigDecimal expectAmount;
+
+ @Schema(description = "实际订单金额")
+ @TableField("real_amount")
+ private BigDecimal realAmount;
+
+ @Schema(description = "顾客好处费")
+ @TableField("favour_fee")
+ private BigDecimal favourFee;
+
+ @Schema(description = "司机ID")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "司机接单时间")
+ @TableField("accept_time")
+ private Date acceptTime;
+
+ @Schema(description = "司机到达时间")
+ @TableField("arrive_time")
+ private Date arriveTime;
+
+ @Schema(description = "开始服务时间")
+ @TableField("start_service_time")
+ private Date startServiceTime;
+
+ @Schema(description = "结束服务时间")
+ @TableField("end_service_time")
+ private Date endServiceTime;
+
+ @Schema(description = "微信付款时间")
+ @TableField("pay_time")
+ private Date payTime;
+
+ @Schema(description = "订单取消规则ID")
+ @TableField("cancel_rule_id")
+ private Long cancelRuleId;
+
+ @Schema(description = "车牌号")
+ @TableField("car_license")
+ private String carLicense;
+
+ @Schema(description = "车型")
+ @TableField("car_type")
+ private String carType;
+
+ @Schema(description = "司机到达拍照:车前照")
+ @TableField("car_front_url")
+ private String carFrontUrl;
+
+ @Schema(description = "司机到达拍照:车后照")
+ @TableField("car_back_url")
+ private String carBackUrl;
+
+ @Schema(description = "微信支付订单号")
+ @TableField("transaction_id")
+ private String transactionId;
+
+ @Schema(description = "订单状态:1等待接单,2已接单,3司机已到达,4开始代驾,5结束代驾,6未付款,7已付款,8订单已结束,9顾客撤单,10司机撤单,11事故关闭,12其他")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "订单备注信息")
+ @TableField("remark")
+ private String remark;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java
new file mode 100644
index 0000000..8972108
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java
@@ -0,0 +1,36 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "OrderMonitor")
+@TableName("order_monitor")
+public class OrderMonitor extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单ID")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "文件个数")
+ @TableField("file_num")
+ private Integer fileNum;
+
+ @Schema(description = "需要审核的个数")
+ @TableField("audit_num")
+ private Integer auditNum;
+
+ @Schema(description = "是否报警")
+ @TableField("is_alarm")
+ private Integer isAlarm;
+
+ @Schema(description = "状态")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java
new file mode 100644
index 0000000..81b4aaf
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java
@@ -0,0 +1,35 @@
+package com.atguigu.daijia.model.entity.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Data
+@Schema(description = "OrderMonitorRecord")
+@Document("order_monitor_record")
+public class OrderMonitorRecord {
+
+ @Schema(description = "id")
+ @Id
+ private String id;
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "文件路径")
+ private String fileUrl;
+
+ @Schema(description = "内容")
+ private String content;
+
+ @Schema(description = "审核结果")
+ private String result;
+
+ @Schema(description = "风险关键词")
+ private String keywords;
+
+ @Schema(description = "状态")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java
new file mode 100644
index 0000000..4df0ceb
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java
@@ -0,0 +1,58 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "OrderProfitsharing")
+@TableName("order_profitsharing")
+public class OrderProfitsharing extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单ID")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "规则ID")
+ @TableField("rule_id")
+ private Long ruleId;
+
+ @Schema(description = "订单金额")
+ @TableField("order_amount")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "微信支付平台费率")
+ @TableField("payment_rate")
+ private BigDecimal paymentRate;
+
+ @Schema(description = "微信支付平台费用")
+ @TableField("payment_fee")
+ private BigDecimal paymentFee;
+
+ @Schema(description = "代驾司机代缴个税税率")
+ @TableField("driver_tax_rate")
+ private BigDecimal driverTaxRate;
+
+ @Schema(description = "代驾司机税率支出费用")
+ @TableField("driver_tax_fee")
+ private BigDecimal driverTaxFee;
+
+ @Schema(description = "平台分账收入")
+ @TableField("platform_income")
+ private BigDecimal platformIncome;
+
+ @Schema(description = "司机分账收入")
+ @TableField("driver_income")
+ private BigDecimal driverIncome;
+
+ @Schema(description = "分账状态,1未分账,2已分账")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java
new file mode 100644
index 0000000..2670b65
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java
@@ -0,0 +1,30 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "OrderStatusLog")
+@TableName("order_status_log")
+public class OrderStatusLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "orderId")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "订单状态")
+ @TableField("order_status")
+ private Integer orderStatus;
+
+ @Schema(description = "操作时间")
+ @TableField("operate_time")
+ private Date operateTime;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java
new file mode 100644
index 0000000..f360b1c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java
@@ -0,0 +1,40 @@
+package com.atguigu.daijia.model.entity.order;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "OrderTrack")
+@TableName("order_track")
+public class OrderTrack extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "订单id")
+ @TableField("order_id")
+ private Long orderId;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "客户id")
+ @TableField("customer_id")
+ private Long customerId;
+
+ @Schema(description = "经度")
+ @TableField("longitude")
+ private String longitude;
+
+ @Schema(description = "纬度")
+ @TableField("latitude")
+ private String latitude;
+
+ @Schema(description = "速度")
+ @TableField("speed")
+ private String speed;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java
new file mode 100644
index 0000000..02fcc28
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java
@@ -0,0 +1,59 @@
+package com.atguigu.daijia.model.entity.payment;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "PaymentInfo")
+@TableName("payment_info")
+public class PaymentInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "乘客微信openid")
+ @TableField("customer_open_id")
+ private String customerOpenId;
+
+ @Schema(description = "司机微信openid")
+ @TableField("driver_open_id")
+ private String driverOpenId;
+
+ @Schema(description = "订单号")
+ @TableField("order_no")
+ private String orderNo;
+
+ @Schema(description = "付款方式:1101-微信 1102-支付宝")
+ @TableField("pay_way")
+ private Integer payWay;
+
+ @Schema(description = "交易编号(微信或支付)")
+ @TableField("transaction_id")
+ private String transactionId;
+
+ @Schema(description = "支付金额")
+ @TableField("amount")
+ private BigDecimal amount;
+
+ @Schema(description = "交易内容")
+ @TableField("content")
+ private String content;
+
+ @Schema(description = "支付状态:0-未支付 1-已支付")
+ @TableField("payment_status")
+ private Integer paymentStatus;
+
+ @Schema(description = "回调时间")
+ @TableField("callback_time")
+ private Date callbackTime;
+
+ @Schema(description = "回调信息")
+ @TableField("callback_content")
+ private String callbackContent;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java
new file mode 100644
index 0000000..8191517
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java
@@ -0,0 +1,44 @@
+package com.atguigu.daijia.model.entity.payment;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "ProfitsharingInfo")
+@TableName("profitsharing_info")
+public class ProfitsharingInfo extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "司机id")
+ @TableField("driver_id")
+ private Long driverId;
+
+ @Schema(description = "订单号")
+ @TableField("order_no")
+ private String orderNo;
+
+ @Schema(description = "微信支付订单号")
+ @TableField("transaction_id")
+ private String transactionId;
+
+ @Schema(description = "商户分账单号")
+ @TableField("out_trade_no")
+ private String outTradeNo;
+
+ @Schema(description = "司机分账金额")
+ @TableField("amount")
+ private String amount;
+
+ @Schema(description = "分账单状态 PROCESSING:处理中 FINISHED:分账完成")
+ @TableField("state")
+ private String state;
+
+ @Schema(description = "返回信息")
+ @TableField("respone_content")
+ private String responeContent;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java
new file mode 100644
index 0000000..13c052c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java
@@ -0,0 +1,28 @@
+package com.atguigu.daijia.model.entity.rule;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "CancelRule")
+@TableName("cancel_rule")
+public class CancelRule extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "规则名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "规则代码")
+ @TableField("rule")
+ private String rule;
+
+ @Schema(description = "状态代码,1有效,2关闭")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java
new file mode 100644
index 0000000..5928c1f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java
@@ -0,0 +1,28 @@
+package com.atguigu.daijia.model.entity.rule;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "FeeRule")
+@TableName("fee_rule")
+public class FeeRule extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "规则名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "规则代码")
+ @TableField("rule")
+ private String rule;
+
+ @Schema(description = "状态代码,1有效,2关闭")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java
new file mode 100644
index 0000000..29770fd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java
@@ -0,0 +1,28 @@
+package com.atguigu.daijia.model.entity.rule;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "ProfitsharingRule")
+@TableName("profitsharing_rule")
+public class ProfitsharingRule extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "规则名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "规则代码")
+ @TableField("rule")
+ private String rule;
+
+ @Schema(description = "状态代码,1有效,2关闭")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java
new file mode 100644
index 0000000..0ccb61f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java
@@ -0,0 +1,28 @@
+package com.atguigu.daijia.model.entity.rule;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "RewardRule")
+@TableName("reward_rule")
+public class RewardRule extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "规则名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "规则代码")
+ @TableField("rule")
+ private String rule;
+
+ @Schema(description = "状态代码,1有效,2关闭")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java
new file mode 100644
index 0000000..cc4ba26
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java
@@ -0,0 +1,50 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Schema(description = "部门")
+@TableName("sys_dept")
+public class SysDept extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "部门名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "上级部门id")
+ @TableField("parent_id")
+ private Long parentId;
+
+ @Schema(description = "树结构")
+ @TableField("tree_path")
+ private String treePath;
+
+ @Schema(description = "排序")
+ @TableField("sort_value")
+ private Integer sortValue;
+
+ @Schema(description = "负责人")
+ @TableField("leader")
+ private String leader;
+
+ @Schema(description = "电话")
+ @TableField("phone")
+ private String phone;
+
+ @Schema(description = "状态(1正常 0停用)")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "下级部门")
+ @TableField(exist = false)
+ private List children;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java
new file mode 100644
index 0000000..4312fd2
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java
@@ -0,0 +1,38 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "SysLoginLog")
+@TableName("sys_login_log")
+public class SysLoginLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "用户账号")
+ @TableField("username")
+ private String username;
+
+ @Schema(description = "登录IP地址")
+ @TableField("ipaddr")
+ private String ipaddr;
+
+ @Schema(description = "登录状态(0成功 1失败)")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "提示信息")
+ @TableField("msg")
+ private String msg;
+
+ @Schema(description = "访问时间")
+ @TableField("access_time")
+ private Date accessTime;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java
new file mode 100644
index 0000000..41887d4
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java
@@ -0,0 +1,69 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Schema(description = "菜单")
+@TableName("sys_menu")
+public class SysMenu extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "所属上级")
+ @TableField("parent_id")
+ private Long parentId;
+
+ @Schema(description = "名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "类型(1:菜单,2:按钮)")
+ @TableField("type")
+ private Integer type;
+
+ @Schema(description = "路由地址")
+ @TableField("path")
+ private String path;
+
+ @Schema(description = "组件路径")
+ @TableField("component")
+ private String component;
+
+ @Schema(description = "权限标识")
+ @TableField("perms")
+ private String perms;
+
+ @Schema(description = "图标")
+ @TableField("icon")
+ private String icon;
+
+ @Schema(description = "排序")
+ @TableField("sort_value")
+ private Integer sortValue;
+
+ @Schema(description = "状态(0:禁止,1:正常)")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "高亮的路径")
+ @TableField("active_menu")
+ private String activeMenu;
+
+ @Schema(description = "是否隐藏")
+ @TableField("is_hide")
+ private Integer isHide;
+
+ // 下级列表
+ @TableField(exist = false)
+ private List children;
+ //是否选中
+ @TableField(exist = false)
+ private boolean isSelect;
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java
new file mode 100644
index 0000000..6098a11
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java
@@ -0,0 +1,74 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "SysOperLog")
+@TableName("sys_oper_log")
+public class SysOperLog extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "模块标题")
+ @TableField("title")
+ private String title;
+
+ @Schema(description = "业务类型(0其它 1新增 2修改 3删除)")
+ @TableField("business_type")
+ private String businessType;
+
+ @Schema(description = "方法名称")
+ @TableField("method")
+ private String method;
+
+ @Schema(description = "请求方式")
+ @TableField("request_method")
+ private String requestMethod;
+
+ @Schema(description = "操作类别(0其它 1后台用户 2手机端用户)")
+ @TableField("operator_type")
+ private String operatorType;
+
+ @Schema(description = "操作人员")
+ @TableField("oper_name")
+ private String operName;
+
+ @Schema(description = "部门名称")
+ @TableField("dept_name")
+ private String deptName;
+
+ @Schema(description = "请求URL")
+ @TableField("oper_url")
+ private String operUrl;
+
+ @Schema(description = "主机地址")
+ @TableField("oper_ip")
+ private String operIp;
+
+ @Schema(description = "请求参数")
+ @TableField("oper_param")
+ private String operParam;
+
+ @Schema(description = "返回参数")
+ @TableField("json_result")
+ private String jsonResult;
+
+ @Schema(description = "操作状态(0正常 1异常)")
+ @TableField("status")
+ private Integer status;
+
+ @Schema(description = "错误消息")
+ @TableField("error_msg")
+ private String errorMsg;
+
+ @Schema(description = "操作时间")
+ @TableField("oper_time")
+ private Date operTime;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java
new file mode 100644
index 0000000..baabffb
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java
@@ -0,0 +1,32 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "岗位")
+@TableName("sys_post")
+public class SysPost extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "岗位编码")
+ @TableField("post_code")
+ private String postCode;
+
+ @Schema(description = "岗位名称")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "显示顺序")
+ @TableField("description")
+ private String description;
+
+ @Schema(description = "状态(1正常 0停用)")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java
new file mode 100644
index 0000000..b8fd63f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java
@@ -0,0 +1,31 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+@Data
+@Schema(description = "角色")
+@TableName("sys_role")
+public class SysRole extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ //@NotBlank(message = "角色名称不能为空")
+ @Schema(description = "角色名称")
+ @TableField("role_name")
+ private String roleName;
+
+ @Schema(description = "角色编码")
+ @TableField("role_code")
+ private String roleCode;
+
+ @Schema(description = "描述")
+ @TableField("description")
+ private String description;
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java
new file mode 100644
index 0000000..d98b311
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java
@@ -0,0 +1,25 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "角色菜单")
+@TableName("sys_role_menu")
+public class SysRoleMenu extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "角色id")
+ @TableField("role_id")
+ private Long roleId;
+
+ @Schema(description = "菜单id")
+ @TableField("menu_id")
+ private Long menuId;
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java
new file mode 100644
index 0000000..663bc1e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java
@@ -0,0 +1,66 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Schema(description = "用户")
+@TableName("sys_user")
+public class SysUser extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "用户名")
+ @TableField("username")
+ private String username;
+
+ @Schema(description = "密码")
+ @TableField("password")
+ private String password;
+
+ @Schema(description = "姓名")
+ @TableField("name")
+ private String name;
+
+ @Schema(description = "手机")
+ @TableField("phone")
+ private String phone;
+
+ @Schema(description = "头像地址")
+ @TableField("head_url")
+ private String headUrl;
+
+ @Schema(description = "部门id")
+ @TableField("dept_id")
+ private Long deptId;
+
+ @Schema(description = "岗位id")
+ @TableField("post_id")
+ private Long postId;
+
+ @Schema(description = "描述")
+ @TableField("description")
+ private String description;
+
+ @Schema(description = "状态(1:正常 0:停用)")
+ @TableField("status")
+ private Integer status;
+
+ @TableField(exist = false)
+ private List roleList;
+ //岗位
+ @TableField(exist = false)
+ private String postName;
+ //部门
+ @TableField(exist = false)
+ private String deptName;
+
+ @TableField(exist = false)
+ List userPermsList;
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java
new file mode 100644
index 0000000..9c2a468
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java
@@ -0,0 +1,24 @@
+package com.atguigu.daijia.model.entity.system;
+
+import com.atguigu.daijia.model.entity.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "用户角色")
+@TableName("sys_user_role")
+public class SysUserRole extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "角色id")
+ @TableField("role_id")
+ private Long roleId;
+
+ @Schema(description = "用户id")
+ @TableField("user_id")
+ private Long userId;
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java b/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java
new file mode 100644
index 0000000..f05ad9a
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java
@@ -0,0 +1,37 @@
+package com.atguigu.daijia.model.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.Getter;
+
+@Getter
+public enum OrderStatus {
+ WAITING_ACCEPT(1, "等待接单"),
+ ACCEPTED(2, "已接单"),
+ DRIVER_ARRIVED(3, "司机已到达"),
+ UPDATE_CART_INFO(4, "更新代驾车辆信息"),
+ START_SERVICE(5, "开始服务"),
+ END_SERVICE(6, "结束服务"),
+ UNPAID(7, "待付款"),
+ PAID(8, "已付款"),
+ FINISH(9, "完成"),
+ CANCEL_ORDER(-1, "未接单取消订单"),
+ NULL_ORDER(-100, "不存在"),
+ ;
+
+ @EnumValue
+ private Integer status;
+ private String comment;
+
+ OrderStatus(Integer status, String comment) {
+ this.status = status;
+ this.comment = comment;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java b/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java
new file mode 100644
index 0000000..d3b1cfa
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java
@@ -0,0 +1,21 @@
+package com.atguigu.daijia.model.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.Getter;
+
+@Getter
+public enum TradeType {
+
+ REWARD(1, "系统奖励"),
+ ;
+
+ @EnumValue
+ private Integer type;
+ private String content;
+
+ TradeType(Integer type, String content) {
+ this.type = type;
+ this.content = content;
+ }
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java b/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java
new file mode 100644
index 0000000..6681d7f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java
@@ -0,0 +1,23 @@
+package com.atguigu.daijia.model.form.coupon;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class UseCouponForm {
+
+ @Schema(description = "乘客id")
+ private Long customerId;
+
+ @Schema(description = "乘客优惠券id")
+ private Long customerCouponId;
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java
new file mode 100644
index 0000000..194dc24
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java
@@ -0,0 +1,22 @@
+package com.atguigu.daijia.model.form.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ExpectOrderForm {
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java
new file mode 100644
index 0000000..961903d
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java
@@ -0,0 +1,35 @@
+package com.atguigu.daijia.model.form.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class SubmitOrderForm {
+
+ @Schema(description = "乘客id")
+ private Long customerId;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee = new BigDecimal(0);
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java
new file mode 100644
index 0000000..8d7a3d3
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class UpdateCustomerInfoForm {
+
+ @Schema(description = "客户Id")
+ private Long customerId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java
new file mode 100644
index 0000000..661880f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class UpdateCustomerPhoneForm {
+
+ @Schema(description = "客户Id")
+ private Long customerId;
+
+ @Schema(description = "手机号码")
+ private String phone;
+
+ @Schema(description = "手机验证码")
+ private String code;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java
new file mode 100644
index 0000000..4aed6e2
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java
@@ -0,0 +1,14 @@
+package com.atguigu.daijia.model.form.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class UpdateWxPhoneForm {
+
+ @Schema(description = "客户Id")
+ private Long customerId;
+
+ private String code;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java
new file mode 100644
index 0000000..42c69bf
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java
@@ -0,0 +1,14 @@
+package com.atguigu.daijia.model.form.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class DriverFaceModelForm {
+
+ @Schema(description = "司机id")
+ private Long driverId;
+
+ @Schema(description = "图片 base64 数据")
+ private String imageBase64 ;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java
new file mode 100644
index 0000000..1bc5b7c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java
@@ -0,0 +1,11 @@
+package com.atguigu.daijia.model.form.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class IdCardOcrForm {
+
+ @Schema(description = "身份证Base64字符串")
+ private String idCardBase64;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java
new file mode 100644
index 0000000..8f61a98
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java
@@ -0,0 +1,26 @@
+package com.atguigu.daijia.model.form.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class TransferForm {
+
+ @Schema(description = "身份证Base64字符串")
+ private Long driverId;
+
+ @Schema(description = "交易内容")
+ private String content;
+
+ @Schema(description = "交易类型")
+ private Integer tradeType;
+
+ @Schema(description = "交易金额")
+ private BigDecimal amount;
+
+ @Schema(description = "交易编号")
+ private String tradeNo;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java
new file mode 100644
index 0000000..40d67a5
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java
@@ -0,0 +1,81 @@
+package com.atguigu.daijia.model.form.driver;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class UpdateDriverAuthInfoForm {
+
+ @Schema(description = "司机Id")
+ private Long driverId;
+
+ @Schema(description = "昵称")
+ private String nickname;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "电话")
+ private String phone;
+
+ @Schema(description = "姓名")
+ private String name;
+
+ @Schema(description = "性别")
+ @TableField("gender")
+ private String gender;
+
+ @Schema(description = "生日")
+ private Date birthday;
+
+ @Schema(description = "身份证号码")
+ private String idcardNo;
+
+ @Schema(description = "身份证地址")
+ private String idcardAddress;
+
+ @Schema(description = "身份证有效期")
+ private Date idcardExpire;
+
+ @Schema(description = "身份证正面")
+ private String idcardFrontUrl;
+
+ @Schema(description = "身份证背面")
+ private String idcardBackUrl;
+
+ @Schema(description = "手持身份证")
+ private String idcardHandUrl;
+
+ @Schema(description = "准驾车型")
+ private String driverLicenseClazz;
+
+ @Schema(description = "驾驶证证件号")
+ private String driverLicenseNo;
+
+ @Schema(description = "驾驶证有效期")
+ private Date driverLicenseExpire;
+
+ @Schema(description = "驾驶证初次领证日期")
+ private Date driverLicenseIssueDate;
+
+ @Schema(description = "驾驶证正面")
+ private String driverLicenseFrontUrl;
+
+ @Schema(description = "行驶证副页正面")
+ private String driverLicenseBackUrl;
+
+ @Schema(description = "手持驾驶证")
+ private String driverLicenseHandUrl;
+
+ @Schema(description = "紧急联系人")
+ private String contactName;
+
+ @Schema(description = "紧急联系人电话")
+ private String contactPhone;
+
+ @Schema(description = "紧急联系人关系")
+ private String contactRelationship;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java
new file mode 100644
index 0000000..aaed98a
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.form.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class UpdateDriverPhoneForm {
+
+ @Schema(description = "司机Id")
+ private Long driverId;
+
+
+ @Schema(description = "手机号码")
+ private String phone;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java
new file mode 100644
index 0000000..6b48703
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java
@@ -0,0 +1,22 @@
+package com.atguigu.daijia.model.form.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CalculateDrivingLineForm {
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java
new file mode 100644
index 0000000..934aba2
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderServiceLocationForm {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java
new file mode 100644
index 0000000..f978978
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java
@@ -0,0 +1,19 @@
+package com.atguigu.daijia.model.form.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class SearchNearByDriverForm {
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+
+ @Schema(description = "里程")
+ private BigDecimal mileageDistance;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java
new file mode 100644
index 0000000..6a52592
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class UpdateDriverLocationForm {
+
+ @Schema(description = "司机id")
+ private Long driverId;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java
new file mode 100644
index 0000000..83a68d3
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class UpdateOrderLocationForm {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java
new file mode 100644
index 0000000..ddd5a11
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java
@@ -0,0 +1,26 @@
+package com.atguigu.daijia.model.form.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "订单评论")
+public class OrderCommentForm {
+
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ private Long driverId;
+
+ @Schema(description = "顾客ID")
+ private Long customerId;
+
+ @Schema(description = "评分,1星~5星")
+ private Integer rate;
+
+ @Schema(description = "差评备注")
+ private String remark;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java
new file mode 100644
index 0000000..294c0dd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java
@@ -0,0 +1,29 @@
+package com.atguigu.daijia.model.form.order;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "订单费用表单")
+public class OrderFeeForm {
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ private Long driverId;
+
+ @Schema(description = "路桥费")
+ private BigDecimal tollFee;
+
+ @Schema(description = "停车费")
+ private BigDecimal parkingFee;
+
+ @Schema(description = "其他费用")
+ @TableField("other_fee")
+ private BigDecimal otherFee;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java
new file mode 100644
index 0000000..d4298f4
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java
@@ -0,0 +1,51 @@
+package com.atguigu.daijia.model.form.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "OrderInfo")
+public class OrderInfoForm {
+
+
+ @Schema(description = "客户ID")
+ private Long customerId;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee;
+
+ @Schema(description = "订单备注信息")
+ private String remark;
+
+
+ //预期费用信息
+ @Schema(description = "预估订单费用")
+ private BigDecimal expectAmount;
+
+ @Schema(description = "预估里程")
+ private BigDecimal expectDistance;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java
new file mode 100644
index 0000000..5a2b064
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.model.form.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "订单监控")
+public class OrderMonitorForm {
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "监控内容")
+ private String content;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java
new file mode 100644
index 0000000..026723e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "OrderInfo")
+public class StartDriveForm {
+
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ private Long driverId;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java
new file mode 100644
index 0000000..128f73e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java
@@ -0,0 +1,106 @@
+package com.atguigu.daijia.model.form.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "订单费用表单")
+public class UpdateOrderBillForm {
+
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ private Long driverId;
+
+ @Schema(description = "实际里程")
+ private BigDecimal realDistance;
+
+ //其他费用:路桥费、停车费、其他费用、顾客好处费
+ @Schema(description = "路桥费")
+ private BigDecimal tollFee;
+
+ @Schema(description = "停车费")
+ private BigDecimal parkingFee;
+
+ @Schema(description = "其他费用")
+ private BigDecimal otherFee;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee;
+ //其他费用:路桥费、停车费、其他费用、顾客好处费
+
+ //订单奖励信息相关属性
+ @Schema(description = "奖励规则ID")
+ private Long rewardRuleId;
+
+ @Schema(description = "奖励金额")
+ private BigDecimal rewardAmount;
+ //订单奖励信息相关属性
+
+ //代驾费用信息相关属性
+ @Schema(description = "费用规则ID")
+ private Long feeRuleId;
+
+ @Schema(description = "总金额")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "基础里程(公里)")
+ private BigDecimal baseDistance;
+
+ @Schema(description = "基础里程费(元)")
+ private BigDecimal baseDistanceFee;
+
+ @Schema(description = "超出基础里程的里程(公里)")
+ private BigDecimal exceedDistance;
+
+ @Schema(description = "超出基础里程的价格(元/公里)")
+ private BigDecimal exceedDistancePrice;
+
+ @Schema(description = "基础等时分钟(分钟)")
+ private Integer baseWaitMinute;
+
+ @Schema(description = "超出基础等时的分钟(分钟)")
+ private Integer exceedWaitMinute;
+
+ @Schema(description = "超出基础分钟的价格(元/分钟)")
+ private BigDecimal exceedWaitMinutePrice;
+
+ @Schema(description = "基础远途里程(公里)")
+ private BigDecimal baseLongDistance;
+
+ @Schema(description = "超出基础远程里程的里程(公里)")
+ private BigDecimal exceedLongDistance;
+
+ @Schema(description = "超出基础远程里程的价格(元/公里)")
+ private BigDecimal exceedLongDistancePrice;
+ //代驾费用信息相关属性
+
+ //订单分账信息相关属性
+ @Schema(description = "分账规则ID")
+ private Long profitsharingRuleId;
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "微信支付平台费率")
+ private BigDecimal paymentRate;
+
+ @Schema(description = "微信支付平台费用")
+ private BigDecimal paymentFee;
+
+ @Schema(description = "代驾司机代缴个税税率")
+ private BigDecimal driverTaxRate;
+
+ @Schema(description = "代驾司机税率支出费用")
+ private BigDecimal driverTaxFee;
+
+ @Schema(description = "平台分账收入")
+ private BigDecimal platformIncome;
+
+ @Schema(description = "司机分账收入")
+ private BigDecimal driverIncome;
+ //订单分账信息相关属性
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java
new file mode 100644
index 0000000..603d1e0
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java
@@ -0,0 +1,39 @@
+package com.atguigu.daijia.model.form.order;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Data
+@Schema(description = "更新订单车辆表单")
+public class UpdateOrderCartForm {
+
+ @NotNull(message = "订单ID不能为空")
+ @Schema(description = "订单ID")
+ private Long orderId;
+
+ @Schema(description = "司机ID")
+ private Long driverId;
+
+ @NotEmpty(message = "车牌号不能为空")
+ @Schema(description = "车牌号")
+ @TableField("car_license")
+ private String carLicense;
+
+ @Schema(description = "车型")
+ @TableField("car_type")
+ private String carType;
+
+ @NotEmpty(message = "车前照不能为空")
+ @Schema(description = "司机到达拍照:车前照")
+ @TableField("car_front_url")
+ private String carFrontUrl;
+
+ @NotEmpty(message = "车后照不能为空")
+ @Schema(description = "司机到达拍照:车后照")
+ @TableField("car_back_url")
+ private String carBackUrl;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java
new file mode 100644
index 0000000..8c4ccfd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.payment;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class CreateWxPaymentForm {
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "乘客优惠券id")
+ private Long customerCouponId;
+
+ @Schema(description = "乘客id")
+ private Long customerId;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java
new file mode 100644
index 0000000..fbcb616
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java
@@ -0,0 +1,29 @@
+package com.atguigu.daijia.model.form.payment;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class PaymentInfoForm {
+
+ @Schema(description = "乘客微信openid")
+ private String customerOpenId;
+
+ @Schema(description = "司机微信openid")
+ private String driverOpenId;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "付款方式:1-微信")
+ private Integer payWay;
+
+ @Schema(description = "支付金额")
+ private BigDecimal amount;
+
+ @Schema(description = "交易内容")
+ private String content;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java
new file mode 100644
index 0000000..8e957fb
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.payment;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProfitsharingForm {
+
+ @Schema(description = "身份证Base64字符串")
+ private Long driverId;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "分账金额")
+ private BigDecimal amount;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java
new file mode 100644
index 0000000..3a702dd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FeeRuleRequest {
+
+ @Schema(description = "代驾里程")
+ private BigDecimal distance;
+
+ @Schema(description = "代驾时间")
+ private String startTime;
+
+ @Schema(description = "等候分钟")
+ private Integer waitMinute;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java
new file mode 100644
index 0000000..421553c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java
@@ -0,0 +1,21 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class FeeRuleRequestForm {
+
+ @Schema(description = "代驾里程")
+ private BigDecimal distance;
+
+ @Schema(description = "代驾时间")
+ private Date startTime;
+
+ @Schema(description = "等候分钟")
+ private Integer waitMinute;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java
new file mode 100644
index 0000000..1c884fd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProfitsharingRuleRequest {
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "当天完成订单个数")
+ private Long orderNum;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java
new file mode 100644
index 0000000..c146824
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProfitsharingRuleRequestForm {
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "当天完成订单个数")
+ private Long orderNum;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java
new file mode 100644
index 0000000..e521642
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class RewardRuleRequest {
+
+ @Schema(description = "代驾时间")
+ private String startTime;
+
+ @Schema(description = "订单个数")
+ private Long orderNum;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java
new file mode 100644
index 0000000..91b57e0
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RewardRuleRequestForm {
+
+ @Schema(description = "代驾时间")
+ private Date startTime;
+
+ @Schema(description = "订单个数")
+ private Long orderNum;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java b/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java
new file mode 100644
index 0000000..b274879
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.form.system;
+
+import lombok.Data;
+
+@Data
+public class LoginForm {
+
+ /**
+ * 手机号
+ */
+ private String username;
+
+ /**
+ * 密码
+ */
+ private String password;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java
new file mode 100644
index 0000000..ecb96e1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java
@@ -0,0 +1,24 @@
+package com.atguigu.daijia.model.query.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 分页结果包装
+ *
+ * @author itcast
+ */
+@Data
+@Schema(description = "乘客信息查询实体")
+public class CustomerInfoQuery {
+
+ @Schema(description = "关键字")
+ private String keyword;
+
+ @Schema(description = "状态")
+ private Integer status;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java
new file mode 100644
index 0000000..26ccfbc
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java
@@ -0,0 +1,24 @@
+package com.atguigu.daijia.model.query.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 分页结果包装
+ *
+ * @author itcast
+ */
+@Data
+@Schema(description = "司机信息查询实体")
+public class DriverInfoQuery {
+
+ @Schema(description = "关键字")
+ private String keyword;
+
+ @Schema(description = "状态")
+ private Integer status;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java
new file mode 100644
index 0000000..62bb363
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java
@@ -0,0 +1,24 @@
+package com.atguigu.daijia.model.query.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 分页结果包装
+ *
+ * @author itcast
+ */
+@Data
+@Schema(description = "订单信息查询实体")
+public class OrderInfoQuery {
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "状态")
+ private Integer status;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java
new file mode 100644
index 0000000..01cb383
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.model.query.system;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class SysLoginLogQuery {
+
+ @Schema(description = "用户账号")
+ private String username;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java
new file mode 100644
index 0000000..5022a57
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.query.system;
+
+import lombok.Data;
+
+@Data
+public class SysOperLogQuery {
+
+ private String title;
+ private String operName;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java
new file mode 100644
index 0000000..00fe863
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java
@@ -0,0 +1,19 @@
+package com.atguigu.daijia.model.query.system;
+
+import lombok.Data;
+
+@Data
+public class SysPostQuery {
+
+ //@Schema(description = "岗位编码")
+ private String postCode;
+
+ //@Schema(description = "岗位名称")
+ private String name;
+
+ //@Schema(description = "状态(1正常 0停用)")
+ private Boolean status;
+
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java
new file mode 100644
index 0000000..1f648ea
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java
@@ -0,0 +1,29 @@
+//
+//
+package com.atguigu.daijia.model.query.system;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 角色查询实体
+ *
+ *
+ * @author qy
+ * @since 2019-11-08
+ */
+public class SysRoleQuery implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String roleName;
+
+ public String getRoleName() {
+ return roleName;
+ }
+
+ public void setRoleName(String roleName) {
+ this.roleName = roleName;
+ }
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java
new file mode 100644
index 0000000..ca0b4a1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java
@@ -0,0 +1,30 @@
+//
+//
+package com.atguigu.daijia.model.query.system;
+
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 用户查询实体
+ *
+ */
+@Data
+public class SysUserQuery implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String keyword;
+
+ private String createTimeBegin;
+ private String createTimeEnd;
+
+ private Long roleId;
+ private Long postId;
+ private Long deptId;
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java
new file mode 100644
index 0000000..96bb2d1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.vo.base;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class LoginVo {
+
+ @Schema(description = "登录用户第Id")
+ private Long userId;
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java
new file mode 100644
index 0000000..688a7e7
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java
@@ -0,0 +1,42 @@
+package com.atguigu.daijia.model.vo.base;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 分页结果包装
+ *
+ * @author itcast
+ */
+@Data
+@Schema(description = "分页数据消息体")
+@Builder
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+@NoArgsConstructor
+public class PageVo implements Serializable {
+
+ @Schema(description = "当前页码", required = true)
+ private Long page;
+
+ @Schema(description = "每页记录数", required = true)
+ private Long limit;
+
+ @Schema(description = "总页数", required = true)
+ private Long pages;
+
+ @Schema(description = "总条目数", required = true)
+ private Long total;
+
+ @Schema(description = "数据列表", required = true)
+ private List records;
+
+ public PageVo(List list, Long pages, Long total) {
+ this.setRecords(list);
+ this.setTotal(total);
+ this.setPages(pages);
+ }
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java
new file mode 100644
index 0000000..82b28b5
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java
@@ -0,0 +1,52 @@
+package com.atguigu.daijia.model.vo.coupon;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "NoReceiveCouponVo")
+public class AvailableCouponVo {
+
+
+ @Schema(description = "优惠券id")
+ private Long couponId;
+
+ @Schema(description = "优惠卷类型 1 现金券 2 折扣")
+ private Integer couponType;
+
+ @Schema(description = "优惠卷名字")
+ private String name;
+
+ @Schema(description = "金额")
+ private BigDecimal amount;
+
+ @Schema(description = "折扣:取值[1 到 10]")
+ private BigDecimal discount;
+
+ @Schema(description = "使用门槛 0->没门槛")
+ private BigDecimal conditionAmount;
+
+ @Schema(description = "发行数量")
+ private Integer publishCount;
+
+ @Schema(description = "每人限领张数")
+ private Integer perLimit;
+
+ @Schema(description = "过期时间")
+ private Date expireTime;
+
+ @Schema(description = "优惠券描述")
+ private String description;
+
+ @Schema(description = "乘客优惠券id")
+ private Long customerCouponId;
+
+ @Schema(description = "领取时间")
+ private Date receiveTime;
+
+ @Schema(description = "减免金额")
+ private BigDecimal reduceAmount;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java
new file mode 100644
index 0000000..b6a20a7
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java
@@ -0,0 +1,41 @@
+package com.atguigu.daijia.model.vo.coupon;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "NoReceiveCouponVo")
+public class NoReceiveCouponVo {
+
+ private Long id;
+
+ @Schema(description = "优惠卷类型 1 现金券 2 折扣")
+ private Integer couponType;
+
+ @Schema(description = "优惠卷名字")
+ private String name;
+
+ @Schema(description = "金额")
+ private String amount;
+
+ @Schema(description = "折扣:取值[1 到 10]")
+ private String discount;
+
+ @Schema(description = "使用门槛 0->没门槛")
+ private String conditionAmount;
+
+ @Schema(description = "发行数量")
+ private Integer publishCount;
+
+ @Schema(description = "每人限领张数")
+ private Integer perLimit;
+
+ @Schema(description = "过期时间")
+ private Date expireTime;
+
+ @Schema(description = "优惠券描述")
+ private String description;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java
new file mode 100644
index 0000000..d66a63c
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java
@@ -0,0 +1,47 @@
+package com.atguigu.daijia.model.vo.coupon;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Schema(description = "NoReceiveCouponVo")
+public class NoUseCouponVo {
+
+ private Long id;
+
+ @Schema(description = "优惠卷类型 1 现金券 2 折扣")
+ private Integer couponType;
+
+ @Schema(description = "优惠卷名字")
+ private String name;
+
+ @Schema(description = "金额")
+ private BigDecimal amount;
+
+ @Schema(description = "折扣:取值[1 到 10]")
+ private BigDecimal discount;
+
+ @Schema(description = "使用门槛 0->没门槛")
+ private BigDecimal conditionAmount;
+
+ @Schema(description = "发行数量")
+ private Integer publishCount;
+
+ @Schema(description = "每人限领张数")
+ private Integer perLimit;
+
+ @Schema(description = "过期时间")
+ private Date expireTime;
+
+ @Schema(description = "优惠券描述")
+ private String description;
+
+ @Schema(description = "乘客优惠券id")
+ private Long customerCouponId;
+
+ @Schema(description = "领取时间")
+ private Date receiveTime;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java
new file mode 100644
index 0000000..fe3a092
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java
@@ -0,0 +1,43 @@
+package com.atguigu.daijia.model.vo.coupon;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "NoReceiveCouponVo")
+public class UsedCouponVo {
+
+ private Long id;
+
+ @Schema(description = "优惠卷类型 1 现金券 2 折扣")
+ private Integer couponType;
+
+ @Schema(description = "优惠卷名字")
+ private String name;
+
+ @Schema(description = "金额")
+ private String amount;
+
+ @Schema(description = "折扣:取值[1 到 10]")
+ private String discount;
+
+ @Schema(description = "使用门槛 0->没门槛")
+ private String conditionAmount;
+
+ @Schema(description = "发行数量")
+ private Integer publishCount;
+
+ @Schema(description = "每人限领张数")
+ private Integer perLimit;
+
+ @Schema(description = "过期时间")
+ private Date expireTime;
+
+ @Schema(description = "优惠券描述")
+ private String description;
+
+ @Schema(description = "领取时间")
+ private Date usedTime;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java
new file mode 100644
index 0000000..5baff83
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java
@@ -0,0 +1,25 @@
+package com.atguigu.daijia.model.vo.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class CustomerInfoVo {
+
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "电话")
+ private String phone;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java
new file mode 100644
index 0000000..f633f94
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java
@@ -0,0 +1,23 @@
+package com.atguigu.daijia.model.vo.customer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class CustomerLoginVo {
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "是否绑定手机号码")
+ private Boolean isBindPhone;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java
new file mode 100644
index 0000000..e0da6de
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java
@@ -0,0 +1,18 @@
+package com.atguigu.daijia.model.vo.customer;
+
+import com.atguigu.daijia.model.vo.map.DrivingLineVo;
+import com.atguigu.daijia.model.vo.rules.FeeRuleResponseVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "预估订单实体")
+@Data
+public class ExpectOrderVo {
+
+ @Schema(description = "驾车路线")
+ private DrivingLineVo drivingLineVo;
+
+ @Schema(description = "订单费用")
+ private FeeRuleResponseVo feeRuleResponseVo;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java
new file mode 100644
index 0000000..5bfdaa3
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java
@@ -0,0 +1,47 @@
+package com.atguigu.daijia.model.vo.dispatch;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class NewOrderTaskVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+
+ @Schema(description = "预估订单金额")
+ private BigDecimal expectAmount;
+
+ @Schema(description = "预估里程")
+ private BigDecimal expectDistance;
+
+ @Schema(description = "预估时间")
+ private BigDecimal expectTime;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee;
+
+ @Schema(description = "下单时间")
+ private Date createTime;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java
new file mode 100644
index 0000000..0560508
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class CosUploadVo {
+
+ @Schema(description = "上传路径")
+ private String url;
+
+ @Schema(description = "回显地址")
+ private String showUrl;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java
new file mode 100644
index 0000000..3a700d5
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java
@@ -0,0 +1,87 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class DriverAuthInfoVo {
+
+ @Schema(description = "司机Id")
+ private Long driverId;
+
+ @Schema(description = "电话")
+ private String phone;
+
+ @Schema(description = "姓名")
+ private String name;
+
+ @Schema(description = "性别 1:男 2:女")
+ @TableField("gender")
+ private String gender;
+
+ @Schema(description = "生日")
+ private Date birthday;
+
+ @Schema(description = "身份证号码")
+ private String idcardNo;
+
+ @Schema(description = "身份证地址")
+ private String idcardAddress;
+
+ @Schema(description = "身份证有效期")
+ private Date idcardExpire;
+
+ @Schema(description = "身份证正面")
+ private String idcardFrontUrl;
+ @Schema(description = "身份证正面回显")
+ private String idcardFrontShowUrl;
+
+ @Schema(description = "身份证背面")
+ private String idcardBackUrl;
+ @Schema(description = "身份证背面回显")
+ private String idcardBackShowUrl;
+
+ @Schema(description = "手持身份证")
+ private String idcardHandUrl;
+ @Schema(description = "手持身份证回显")
+ private String idcardHandShowUrl;
+
+ @Schema(description = "准驾车型")
+ private String driverLicenseClazz;
+
+ @Schema(description = "驾驶证证件号")
+ private String driverLicenseNo;
+
+ @Schema(description = "驾驶证有效期")
+ private Date driverLicenseExpire;
+
+ @Schema(description = "驾驶证初次领证日期")
+ private Date driverLicenseIssueDate;
+
+ @Schema(description = "驾驶证正面")
+ private String driverLicenseFrontUrl;
+ @Schema(description = "驾驶证正面回显")
+ private String driverLicenseFrontShowUrl;
+
+ @Schema(description = "驾驶证副页正面")
+ private String driverLicenseBackUrl;
+ @Schema(description = "驾驶证副页正面回显")
+ private String driverLicenseBackShowUrl;
+
+ @Schema(description = "手持驾驶证")
+ private String driverLicenseHandUrl;
+ @Schema(description = "手持驾驶证回显")
+ private String driverLicenseHandShowUrl;
+
+ @Schema(description = "紧急联系人")
+ private String contactName;
+
+ @Schema(description = "紧急联系人电话")
+ private String contactPhone;
+
+ @Schema(description = "紧急联系人关系")
+ private String contactRelationship;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java
new file mode 100644
index 0000000..e92c7b2
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java
@@ -0,0 +1,35 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class DriverInfoVo {
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "司机名称")
+ private String name;
+
+ @Schema(description = "电话")
+ private String phone;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "驾龄")
+ private Integer driverLicenseAge;
+
+ @Schema(description = "订单量统计")
+ private Integer orderCount;
+
+ @Schema(description = "评分")
+ private BigDecimal score;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java
new file mode 100644
index 0000000..71cfa85
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java
@@ -0,0 +1,36 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class DriverLicenseOcrVo {
+
+ @Schema(description = "驾驶证姓名")
+ private String name;
+
+ @Schema(description = "准驾车型")
+ private String driverLicenseClazz;
+
+ @Schema(description = "驾驶证证件号")
+ private String driverLicenseNo;
+
+ @Schema(description = "驾驶证有效期")
+ private Date driverLicenseExpire;
+
+ @Schema(description = "驾驶证初次领证日期")
+ private Date driverLicenseIssueDate;
+
+ @Schema(description = "驾驶证正面")
+ private String driverLicenseFrontUrl;
+ @Schema(description = "驾驶证正面回显")
+ private String driverLicenseFrontShowUrl;
+
+ @Schema(description = "驾驶证副页正面")
+ private String driverLicenseBackUrl;
+ @Schema(description = "驾驶证副页正面回显")
+ private String driverLicenseBackShowUrl;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java
new file mode 100644
index 0000000..289b3dd
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java
@@ -0,0 +1,30 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class DriverLoginVo {
+
+ @Schema(description = "id")
+ private Long id;
+
+ @Schema(description = "微信openId")
+ private String wxOpenId;
+
+ @Schema(description = "客户昵称")
+ private String nickname;
+
+ @Schema(description = "性别")
+ private String gender;
+
+ @Schema(description = "头像")
+ private String avatarUrl;
+
+ @Schema(description = "是否建档人脸识别")
+ private Boolean isArchiveFace;
+
+ @Schema(description = "认证状态 0:未认证 1:审核中 2:认证通过 -1:认证未通过")
+ private Integer authStatus;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java
new file mode 100644
index 0000000..34a3eb8
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java
@@ -0,0 +1,39 @@
+package com.atguigu.daijia.model.vo.driver;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class IdCardOcrVo {
+
+ @Schema(description = "姓名")
+ private String name;
+
+ @Schema(description = "性别 1:男 2:女")
+ private String gender;
+
+ @Schema(description = "生日")
+ private Date birthday;
+
+ @Schema(description = "身份证号码")
+ private String idcardNo;
+
+ @Schema(description = "身份证地址")
+ private String idcardAddress;
+
+ @Schema(description = "身份证有效期")
+ private Date idcardExpire;
+
+ @Schema(description = "身份证正面")
+ private String idcardFrontUrl;
+ @Schema(description = "身份证正面回显")
+ private String idcardFrontShowUrl;
+
+ @Schema(description = "身份证背面")
+ private String idcardBackUrl;
+ @Schema(description = "身份证背面回显")
+ private String idcardBackShowUrl;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java
new file mode 100644
index 0000000..4c336db
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java
@@ -0,0 +1,21 @@
+package com.atguigu.daijia.model.vo.map;
+
+import com.alibaba.fastjson.JSONArray;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class DrivingLineVo {
+
+ @Schema(description = "方案总距离,单位:千米")
+ private BigDecimal distance;
+
+ @Schema(description = "方案估算时间(结合路况),单位:分钟")
+ private BigDecimal duration;
+
+ @Schema(description = "方案路线坐标点串")
+ private JSONArray polyline;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java
new file mode 100644
index 0000000..020423d
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.model.vo.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class NearByDriverVo {
+
+ @Schema(description = "司机id")
+ private Long driverId;
+
+ @Schema(description = "距离")
+ private BigDecimal distance;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java
new file mode 100644
index 0000000..3e27dff
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.model.vo.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderLocationVo {
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java
new file mode 100644
index 0000000..a4a0695
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.vo.map;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderServiceLastLocationVo {
+
+ @Schema(description = "经度")
+ private BigDecimal longitude;
+
+ @Schema(description = "伟度")
+ private BigDecimal latitude;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java
new file mode 100644
index 0000000..40685eb
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class CurrentOrderInfoVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "订单状态")
+ private Integer status;
+
+ @Schema(description = "当前订单信息")
+ private Boolean isHasCurrentOrder;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java
new file mode 100644
index 0000000..49d8c4f
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java
@@ -0,0 +1,38 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class NewOrderDataVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "预估订单金额")
+ private BigDecimal expectAmount;
+
+ @Schema(description = "预估里程")
+ private BigDecimal expectDistance;
+
+ @Schema(description = "到你的距离")
+ private BigDecimal distance;
+
+ @Schema(description = "预估时间")
+ private BigDecimal expectTime;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee;
+
+ @Schema(description = "下单时间")
+ private Date createTime;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java
new file mode 100644
index 0000000..48633ff
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java
@@ -0,0 +1,74 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderBillVo {
+
+ @Schema(description = "总金额")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "应付款金额")
+ private BigDecimal payAmount;
+
+ @Schema(description = "里程费")
+ private BigDecimal distanceFee;
+
+ @Schema(description = "等时费用")
+ private BigDecimal waitFee;
+
+ @Schema(description = "路桥费")
+ private BigDecimal tollFee;
+
+ @Schema(description = "停车费")
+ private BigDecimal parkingFee;
+
+ @Schema(description = "其他费用")
+ private BigDecimal otherFee;
+
+ @Schema(description = "远程费")
+ private BigDecimal longDistanceFee;
+
+ @Schema(description = "顾客好处费")
+ private BigDecimal favourFee;
+
+ @Schema(description = "系统奖励费")
+ private BigDecimal rewardFee;
+
+ @Schema(description = "优惠券金额")
+ private BigDecimal couponAmount;
+
+ @Schema(description = "基础里程(公里)")
+ private BigDecimal baseDistance;
+
+ @Schema(description = "基础里程费")
+ private BigDecimal baseDistanceFee;
+
+ @Schema(description = "超出基础里程的里程(公里)")
+ private BigDecimal exceedDistance;
+
+ @Schema(description = "超出基础里程的价格")
+ private BigDecimal exceedDistancePrice;
+
+ @Schema(description = "基础等时分钟")
+ private Integer baseWaitMinute;
+
+ @Schema(description = "超出基础等时的分钟")
+ private Integer exceedWaitMinute;
+
+ @Schema(description = "超出基础分钟的价格")
+ private BigDecimal exceedWaitMinutePrice;
+
+ @Schema(description = "基础远途里程(公里)")
+ private BigDecimal baseLongDistance;
+
+ @Schema(description = "超出基础远程里程的里程")
+ private BigDecimal exceedLongDistance;
+
+ @Schema(description = "超出基础远程里程的价格")
+ private BigDecimal exceedLongDistancePrice;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java
new file mode 100644
index 0000000..55f8507
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java
@@ -0,0 +1,56 @@
+package com.atguigu.daijia.model.vo.order;
+
+import com.atguigu.daijia.model.vo.customer.CustomerInfoVo;
+import com.atguigu.daijia.model.vo.driver.DriverInfoVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class OrderInfoVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "起始地点经度")
+ private BigDecimal startPointLongitude;
+
+ @Schema(description = "起始点伟度")
+ private BigDecimal startPointLatitude;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLongitude;
+
+ @Schema(description = "结束地点经度")
+ private BigDecimal endPointLatitude;
+
+ @Schema(description = "订单状态")
+ private Integer status;
+
+ @Schema(description = "创建时间")
+ private Date createTime;
+
+ @Schema(description = "订单账单信息")
+ private OrderBillVo orderBillVo;
+
+ @Schema(description = "分账信息")
+ private OrderProfitsharingVo orderProfitsharingVo;
+
+ @Schema(description = "司机信息")
+ private DriverInfoVo driverInfoVo;
+
+ @Schema(description = "乘客信息")
+ private CustomerInfoVo customerInfoVo;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java
new file mode 100644
index 0000000..62637d2
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java
@@ -0,0 +1,32 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class OrderListVo {
+
+ @Schema(description = "id")
+ private Long id;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "订单金额")
+ private BigDecimal amount;
+
+ @Schema(description = "下单时间")
+ private Date createTime;
+
+ @Schema(description = "订单状态")
+ private Integer status;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java
new file mode 100644
index 0000000..b3e7216
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java
@@ -0,0 +1,40 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderPayVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "乘客id")
+ private Long customerId;
+
+ @Schema(description = "司机id")
+ private Long driverId;
+
+ @Schema(description = "订单号")
+ private String orderNo;
+
+ @Schema(description = "支付金额")
+ private BigDecimal payAmount;
+
+ @Schema(description = "使用的优惠券金额")
+ private BigDecimal couponAmount;
+
+ @Schema(description = "起始地点")
+ private String startLocation;
+
+ @Schema(description = "结束地点")
+ private String endLocation;
+
+ @Schema(description = "交易内容")
+ private String content;
+
+ @Schema(description = "订单状态")
+ private Integer status;
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java
new file mode 100644
index 0000000..bace7e1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java
@@ -0,0 +1,44 @@
+package com.atguigu.daijia.model.vo.order;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "OrderProfitsharingVo")
+public class OrderProfitsharingVo {
+ @Schema(description = "订单金额")
+ @TableField("order_amount")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "微信支付平台费率")
+ @TableField("payment_rate")
+ private BigDecimal paymentRate;
+
+ @Schema(description = "微信支付平台费用")
+ @TableField("payment_fee")
+ private BigDecimal paymentFee;
+
+ @Schema(description = "代驾司机代缴个税税率")
+ @TableField("driver_tax_rate")
+ private BigDecimal driverTaxRate;
+
+ @Schema(description = "代驾司机税率支出费用")
+ @TableField("driver_tax_fee")
+ private BigDecimal driverTaxFee;
+
+ @Schema(description = "平台分账收入")
+ @TableField("platform_income")
+ private BigDecimal platformIncome;
+
+ @Schema(description = "司机分账收入")
+ @TableField("driver_income")
+ private BigDecimal driverIncome;
+
+ @Schema(description = "分账状态,1未分账,2已分账")
+ @TableField("status")
+ private Integer status;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java
new file mode 100644
index 0000000..a9fd792
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class OrderRewardVo {
+
+ @Schema(description = "订单id")
+ private Long orderId;
+
+ @Schema(description = "司机id")
+ private Long driverId;
+
+ @Schema(description = "系统奖励")
+ private BigDecimal rewardFee;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java
new file mode 100644
index 0000000..386d838
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class TextAuditingVo {
+
+ @Schema(description = "审核结果")
+ private String result;
+
+ @Schema(description = "风险关键词")
+ private String keywords;
+
+}
\ No newline at end of file
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java
new file mode 100644
index 0000000..aef395e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java
@@ -0,0 +1,26 @@
+package com.atguigu.daijia.model.vo.payment;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class WxPrepayVo {
+
+ @Schema(description = "公众号ID")
+ private String appId;
+
+ @Schema(description = "时间戳,自1970年以来的秒数")
+ private String timeStamp;
+
+ @Schema(description = "随机串")
+ private String nonceStr;
+
+ @Schema(description = "预支付交易会话标识")
+ private String packageVal;
+
+ @Schema(description = "微信签名方式")
+ private String signType;
+
+ @Schema(description = "微信签名")
+ private String paySign;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java
new file mode 100644
index 0000000..251b1c7
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java
@@ -0,0 +1,53 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FeeRuleResponse {
+
+
+ @Schema(description = "总金额")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "里程费")
+ private BigDecimal distanceFee;
+
+ @Schema(description = "等时费用")
+ private BigDecimal waitFee;
+
+ @Schema(description = "远程费")
+ private BigDecimal longDistanceFee;
+
+ @Schema(description = "基础里程(公里)")
+ private BigDecimal baseDistance;
+
+ @Schema(description = "基础里程费(元)")
+ private BigDecimal baseDistanceFee;
+
+ @Schema(description = "超出基础里程的里程(公里)")
+ private BigDecimal exceedDistance;
+
+ @Schema(description = "超出基础里程的价格(元/公里)")
+ private BigDecimal exceedDistancePrice;
+
+ @Schema(description = "基础等时分钟(分钟)")
+ private Integer baseWaitMinute;
+
+ @Schema(description = "超出基础等时的分钟(分钟)")
+ private Integer exceedWaitMinute;
+
+ @Schema(description = "超出基础分钟的价格(元/分钟)")
+ private BigDecimal exceedWaitMinutePrice;
+
+ @Schema(description = "基础远途里程(公里)")
+ private BigDecimal baseLongDistance;
+
+ @Schema(description = "超出基础远程里程的里程(公里)")
+ private BigDecimal exceedLongDistance;
+
+ @Schema(description = "超出基础远程里程的价格(元/公里)")
+ private BigDecimal exceedLongDistancePrice;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java
new file mode 100644
index 0000000..3cf7f86
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java
@@ -0,0 +1,55 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FeeRuleResponseVo {
+
+ @Schema(description = "费用规则ID")
+ private Long feeRuleId;
+
+ @Schema(description = "总金额")
+ private BigDecimal totalAmount;
+
+ @Schema(description = "里程费")
+ private BigDecimal distanceFee;
+
+ @Schema(description = "等时费用")
+ private BigDecimal waitFee;
+
+ @Schema(description = "远程费")
+ private BigDecimal longDistanceFee;
+
+ @Schema(description = "基础里程(公里)")
+ private BigDecimal baseDistance;
+
+ @Schema(description = "基础里程费(元)")
+ private BigDecimal baseDistanceFee;
+
+ @Schema(description = "超出基础里程的里程(公里)")
+ private BigDecimal exceedDistance;
+
+ @Schema(description = "超出基础里程的价格(元/公里)")
+ private BigDecimal exceedDistancePrice;
+
+ @Schema(description = "基础等时分钟(分钟)")
+ private Integer baseWaitMinute;
+
+ @Schema(description = "超出基础等时的分钟(分钟)")
+ private Integer exceedWaitMinute;
+
+ @Schema(description = "超出基础分钟的价格(元/分钟)")
+ private BigDecimal exceedWaitMinutePrice;
+
+ @Schema(description = "基础远途里程(公里)")
+ private BigDecimal baseLongDistance;
+
+ @Schema(description = "超出基础远程里程的里程(公里)")
+ private BigDecimal exceedLongDistance;
+
+ @Schema(description = "超出基础远程里程的价格(元/公里)")
+ private BigDecimal exceedLongDistancePrice;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java
new file mode 100644
index 0000000..64dc358
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java
@@ -0,0 +1,31 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProfitsharingRuleResponse {
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "微信支付平台费率")
+ private BigDecimal paymentRate;
+
+ @Schema(description = "微信支付平台费用")
+ private BigDecimal paymentFee;
+
+ @Schema(description = "代驾司机代缴个税税率")
+ private BigDecimal driverTaxRate;
+
+ @Schema(description = "代驾司机税率支出费用")
+ private BigDecimal driverTaxFee;
+
+ @Schema(description = "平台分账收入")
+ private BigDecimal platformIncome;
+
+ @Schema(description = "司机分账收入")
+ private BigDecimal driverIncome;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java
new file mode 100644
index 0000000..97bb22d
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java
@@ -0,0 +1,34 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ProfitsharingRuleResponseVo {
+
+ @Schema(description = "分账规则ID")
+ private Long profitsharingRuleId;
+
+ @Schema(description = "订单金额")
+ private BigDecimal orderAmount;
+
+ @Schema(description = "微信支付平台费率")
+ private BigDecimal paymentRate;
+
+ @Schema(description = "微信支付平台费用")
+ private BigDecimal paymentFee;
+
+ @Schema(description = "代驾司机代缴个税税率")
+ private BigDecimal driverTaxRate;
+
+ @Schema(description = "代驾司机税率支出费用")
+ private BigDecimal driverTaxFee;
+
+ @Schema(description = "平台分账收入")
+ private BigDecimal platformIncome;
+
+ @Schema(description = "司机分账收入")
+ private BigDecimal driverIncome;
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java
new file mode 100644
index 0000000..ab1cfdb
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java
@@ -0,0 +1,15 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class RewardRuleResponse {
+
+
+ @Schema(description = "奖励金额")
+ private BigDecimal rewardAmount;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java
new file mode 100644
index 0000000..895e699
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia.model.vo.rules;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class RewardRuleResponseVo {
+
+ @Schema(description = "奖励规则ID")
+ private Long rewardRuleId;
+
+ @Schema(description = "奖励金额")
+ private BigDecimal rewardAmount;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java
new file mode 100644
index 0000000..90fc2e1
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java
@@ -0,0 +1,19 @@
+package com.atguigu.daijia.model.vo.system;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "分配菜单")
+@Data
+public class AssginMenuVo {
+
+ @Schema(description = "角色id")
+ private Long roleId;
+
+ @Schema(description = "菜单id列表")
+ private List menuIdList;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java
new file mode 100644
index 0000000..01c8717
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java
@@ -0,0 +1,19 @@
+package com.atguigu.daijia.model.vo.system;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "分配菜单")
+@Data
+public class AssginRoleVo {
+
+ @Schema(description = "用户id")
+ private Long userId;
+
+ @Schema(description = "角色id列表")
+ private List roleIdList;
+
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java
new file mode 100644
index 0000000..380b195
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java
@@ -0,0 +1,34 @@
+package com.atguigu.daijia.model.vo.system;
+
+
+/**
+ * 登录对象
+ */
+public class LoginVo {
+
+ /**
+ * 手机号
+ */
+ private String username;
+
+ /**
+ * 密码
+ */
+ private String password;
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+}
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java
new file mode 100644
index 0000000..79824f9
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java
@@ -0,0 +1,46 @@
+package com.atguigu.daijia.model.vo.system;
+
+import lombok.Data;
+
+/**
+ * 路由显示信息
+ *
+ */
+@Data
+public class MetaVo
+{
+ /**
+ * 设置该路由在侧边栏和面包屑中展示的名字
+ */
+ private String title;
+
+ /**
+ * 设置该路由的图标,对应路径src/assets/icons/svg
+ */
+ private String icon;
+
+ /**
+ * 高亮的路径
+ */
+ private String activeMenu;
+
+ /**
+ * 是否隐藏
+ */
+ private Boolean isHide;
+
+ public MetaVo()
+ {
+ }
+
+ public MetaVo(String title, String icon, String activeMenu, Boolean isHide)
+ {
+ this.title = title;
+ this.icon = icon;
+ if(null == activeMenu) activeMenu = "";
+ this.activeMenu = activeMenu;
+ this.isHide = isHide;
+ }
+
+}
+
diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java
new file mode 100644
index 0000000..ce7e74e
--- /dev/null
+++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java
@@ -0,0 +1,50 @@
+package com.atguigu.daijia.model.vo.system;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 路由配置信息
+ *
+ */
+@Data
+public class RouterVo
+{
+ /**
+ * 路由名字
+ */
+ //private String name;
+
+ /**
+ * 路由地址
+ */
+ private String path;
+
+ /**
+ * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现
+ */
+ //private boolean hidden;
+
+ /**
+ * 组件地址
+ */
+ private String component;
+
+ /**
+ * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面
+ */
+ private Boolean alwaysShow;
+
+ /**
+ * 其他元素
+ */
+ private MetaVo meta;
+
+ /**
+ * 子路由
+ */
+ private List children;
+
+
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..57f0036
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,200 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.0.5
+
+
+
+ com.atguigu.daijia
+ daijia-parent
+ pom
+ 1.0
+
+
+ common
+ model
+ service
+ web
+ server-gateway
+ service-client
+
+
+
+ 17
+ 2022.0.2
+ 2022.0.0.0-RC2
+ 3.5.3.1
+ 8.0.30
+ 4.1.0
+ 2.0.41
+ 2.1.4
+ 8.5.2
+ 2.10.1
+ 2.4.0
+
+ 0.2.11
+ 4.5.5.B
+ 3.1.322
+ 5.6.155
+
+ 3.23.3
+ 2.11.0
+
+
+ 1.7.1
+ 8.41.0.Final
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${cloud.version}
+ pom
+ import
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ ${alibaba.version}
+ pom
+ import
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatis-plus.version}
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+ ${knife4j.version}
+
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+
+
+ com.qcloud
+ vod_api
+ ${vod_api.version}
+
+
+
+
+ io.minio
+ minio
+ ${minio.version}
+
+
+
+
+ joda-time
+ joda-time
+ ${jodatime.version}
+
+
+
+
+ com.xuxueli
+ xxl-job-core
+ ${xxl-job.version}
+
+
+
+ com.github.wechatpay-apiv3
+ wechatpay-java
+ ${wxpay.version}
+
+
+
+
+ org.redisson
+ redisson
+ ${redisson.version}
+
+
+
+ com.github.binarywang
+ weixin-java-miniapp
+ ${weixin.miniapp.version}
+
+
+
+ com.tencentcloudapi
+ tencentcloud-sdk-java
+ ${tencentcloud.version}
+
+
+ com.qcloud
+ cos_api
+ ${cos_api.version}
+
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+
+ io.seata
+ seata-all
+ ${seata.version}
+
+
+
+
+ org.drools
+ drools-core
+ ${drools.version}
+
+
+ org.drools
+ drools-compiler
+ ${drools.version}
+
+
+ org.drools
+ drools-decisiontables
+ ${drools.version}
+
+
+ org.drools
+ drools-mvel
+ ${drools.version}
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+
+
\ No newline at end of file
diff --git a/server-gateway/pom.xml b/server-gateway/pom.xml
new file mode 100644
index 0000000..30abd50
--- /dev/null
+++ b/server-gateway/pom.xml
@@ -0,0 +1,71 @@
+
+
+ 4.0.0
+
+
+ daijia-parent
+ com.atguigu.daijia
+ 1.0
+
+ 1.0
+ server-gateway
+
+ jar
+ server-gateway
+
+
+
+ com.atguigu.daijia
+ common-util
+ 1.0
+
+
+ com.atguigu.daijia
+ model
+ 1.0
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-gateway
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java b/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java
new file mode 100644
index 0000000..b0bddc7
--- /dev/null
+++ b/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java
@@ -0,0 +1,17 @@
+package com.atguigu.daijia;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+
+@SpringBootApplication
+@EnableDiscoveryClient
+@EnableFeignClients
+public class ServerGatewayApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ServerGatewayApplication.class, args);
+ }
+
+}
diff --git a/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java b/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java
new file mode 100644
index 0000000..b568c72
--- /dev/null
+++ b/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java
@@ -0,0 +1,31 @@
+package com.atguigu.daijia.gateway.filter;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.gateway.filter.GatewayFilterChain;
+import org.springframework.cloud.gateway.filter.GlobalFilter;
+import org.springframework.core.Ordered;
+import org.springframework.stereotype.Component;
+import org.springframework.web.server.ServerWebExchange;
+import reactor.core.publisher.Mono;
+
+/**
+ *
+ * 全局Filter,统一处理会员登录与外部不允许访问的服务
+ *
+ *
+ */
+@Slf4j
+@Component
+public class AuthGlobalFilter implements GlobalFilter, Ordered {
+
+
+ @Override
+ public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
+ return chain.filter(exchange);
+ }
+
+ @Override
+ public int getOrder() {
+ return 0;
+ }
+}
diff --git a/server-gateway/src/main/resources/bootstrap.yml b/server-gateway/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..fe65a91
--- /dev/null
+++ b/server-gateway/src/main/resources/bootstrap.yml
@@ -0,0 +1,16 @@
+spring:
+ application:
+ name: server-gateway
+ profiles:
+ active: dev
+ main:
+ allow-bean-definition-overriding: true
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 192.168.3.129:8848
+
+ config:
+ server-addr: 192.168.3.129:8848
+ prefix: ${spring.application.name}
+ file-extension: yaml
\ No newline at end of file
diff --git a/service-client/pom.xml b/service-client/pom.xml
new file mode 100644
index 0000000..74ff415
--- /dev/null
+++ b/service-client/pom.xml
@@ -0,0 +1,54 @@
+
+
+ 4.0.0
+
+
+ com.atguigu.daijia
+ daijia-parent
+ 1.0
+
+
+
+ service-coupon-client
+ service-customer-client
+ service-driver-client
+ service-order-client
+ service-system-client
+ service-map-client
+ service-rules-client
+ service-dispatch-client
+ service-payment-client
+
+
+ service-client
+ pom
+ 1.0
+
+
+
+ com.atguigu.daijia
+ common-util
+ 1.0
+ provided
+
+
+ com.atguigu.daijia
+ model
+ 1.0
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ provided
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+ provided
+
+
+
+
diff --git a/service-client/service-coupon-client/pom.xml b/service-client/service-coupon-client/pom.xml
new file mode 100644
index 0000000..f88dad7
--- /dev/null
+++ b/service-client/service-coupon-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-coupon-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java b/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java
new file mode 100644
index 0000000..ba7e456
--- /dev/null
+++ b/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java
@@ -0,0 +1,10 @@
+package com.atguigu.daijia.coupon.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+
+@FeignClient(value = "service-coupon")
+public interface CouponFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-customer-client/pom.xml b/service-client/service-customer-client/pom.xml
new file mode 100644
index 0000000..a2dae6c
--- /dev/null
+++ b/service-client/service-customer-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-customer-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java b/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java
new file mode 100644
index 0000000..f5a6dd4
--- /dev/null
+++ b/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.customer.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-customer")
+public interface CustomerInfoFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-dispatch-client/pom.xml b/service-client/service-dispatch-client/pom.xml
new file mode 100644
index 0000000..bc6f4ea
--- /dev/null
+++ b/service-client/service-dispatch-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-dispatch-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java b/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java
new file mode 100644
index 0000000..f36a724
--- /dev/null
+++ b/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java
@@ -0,0 +1,10 @@
+package com.atguigu.daijia.dispatch.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+
+@FeignClient(value = "service-dispatch")
+public interface NewOrderFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-driver-client/pom.xml b/service-client/service-driver-client/pom.xml
new file mode 100644
index 0000000..de6636e
--- /dev/null
+++ b/service-client/service-driver-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-driver-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java
new file mode 100644
index 0000000..2cd5a90
--- /dev/null
+++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java
@@ -0,0 +1,13 @@
+package com.atguigu.daijia.driver.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.vo.order.TextAuditingVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "service-driver")
+public interface CiFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java
new file mode 100644
index 0000000..07c8efd
--- /dev/null
+++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.driver.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.vo.driver.CosUploadVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
+import org.springframework.web.multipart.MultipartFile;
+
+@FeignClient(value = "service-driver")
+public interface CosFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java
new file mode 100644
index 0000000..4d1707a
--- /dev/null
+++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java
@@ -0,0 +1,13 @@
+package com.atguigu.daijia.driver.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.form.driver.TransferForm;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "service-driver")
+public interface DriverAccountFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java
new file mode 100644
index 0000000..9816950
--- /dev/null
+++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java
@@ -0,0 +1,20 @@
+package com.atguigu.daijia.driver.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.entity.driver.DriverSet;
+import com.atguigu.daijia.model.form.driver.DriverFaceModelForm;
+import com.atguigu.daijia.model.form.driver.UpdateDriverAuthInfoForm;
+import com.atguigu.daijia.model.vo.driver.DriverAuthInfoVo;
+import com.atguigu.daijia.model.vo.driver.DriverInfoVo;
+import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = "service-driver")
+public interface DriverInfoFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java
new file mode 100644
index 0000000..fd37c3f
--- /dev/null
+++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java
@@ -0,0 +1,16 @@
+package com.atguigu.daijia.driver.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.vo.driver.DriverLicenseOcrVo;
+import com.atguigu.daijia.model.vo.driver.IdCardOcrVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestPart;
+import org.springframework.web.multipart.MultipartFile;
+
+@FeignClient(value = "service-driver")
+public interface OcrFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-map-client/pom.xml b/service-client/service-map-client/pom.xml
new file mode 100644
index 0000000..97ad7b2
--- /dev/null
+++ b/service-client/service-map-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-map-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java
new file mode 100644
index 0000000..fcdc905
--- /dev/null
+++ b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.map.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-map")
+public interface LocationFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java
new file mode 100644
index 0000000..e8a6044
--- /dev/null
+++ b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.map.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-map")
+public interface MapFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-order-client/pom.xml b/service-client/service-order-client/pom.xml
new file mode 100644
index 0000000..13235ee
--- /dev/null
+++ b/service-client/service-order-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-order-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java
new file mode 100644
index 0000000..d3e6b7c
--- /dev/null
+++ b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java
@@ -0,0 +1,10 @@
+package com.atguigu.daijia.order.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+
+@FeignClient(value = "service-order")
+public interface OrderInfoFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java
new file mode 100644
index 0000000..f173b62
--- /dev/null
+++ b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java
@@ -0,0 +1,10 @@
+package com.atguigu.daijia.order.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+
+@FeignClient(value = "service-order")
+public interface OrderMonitorFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-payment-client/pom.xml b/service-client/service-payment-client/pom.xml
new file mode 100644
index 0000000..6de7681
--- /dev/null
+++ b/service-client/service-payment-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-payment-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java b/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java
new file mode 100644
index 0000000..d936e1c
--- /dev/null
+++ b/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java
@@ -0,0 +1,10 @@
+package com.atguigu.daijia.map.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+
+@FeignClient(value = "service-payment")
+public interface WxPayFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-rules-client/pom.xml b/service-client/service-rules-client/pom.xml
new file mode 100644
index 0000000..f2d72bf
--- /dev/null
+++ b/service-client/service-rules-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-rules-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java
new file mode 100644
index 0000000..9664c75
--- /dev/null
+++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.rules.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-rules")
+public interface FeeRuleFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java
new file mode 100644
index 0000000..520175a
--- /dev/null
+++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.rules.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-rules")
+public interface ProfitsharingRuleFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java
new file mode 100644
index 0000000..2877d04
--- /dev/null
+++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java
@@ -0,0 +1,9 @@
+package com.atguigu.daijia.rules.client;
+
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(value = "service-rules")
+public interface RewardRuleFeignClient {
+
+
+}
\ No newline at end of file
diff --git a/service-client/service-system-client/pom.xml b/service-client/service-system-client/pom.xml
new file mode 100644
index 0000000..b11f926
--- /dev/null
+++ b/service-client/service-system-client/pom.xml
@@ -0,0 +1,15 @@
+
+
+
+ service-client
+ com.atguigu.daijia
+ 1.0
+
+ 4.0.0
+
+ service-system-client
+ 1.0
+ jar
+
+
diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java
new file mode 100644
index 0000000..041494c
--- /dev/null
+++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java
@@ -0,0 +1,48 @@
+package com.atguigu.daijia.system.client;
+
+import com.atguigu.daijia.common.result.Result;
+import com.atguigu.daijia.model.entity.system.SysUser;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * 产品列表API接口
+ *
+ *
+ * @author qy
+ */
+@FeignClient(value = "service-system")
+public interface SecurityLoginFeignClient {
+
+ /**
+ * 根据用户名获取用户信息
+ *
+ * @param username
+ * @return
+ */
+ @GetMapping("/securityLogin/getByUsername/{username}")
+ Result getByUsername(@PathVariable("username") String username);
+
+ /**
+ * 获取用户按钮权限
+ *
+ * @param userId
+ * @return
+ */
+ @GetMapping("/securityLogin/findUserPermsList/{userId}")
+ Result> findUserPermsList(@PathVariable("userId") Long userId);
+
+ /**
+ * 获取用户信息
+ *
+ * @param userId
+ * @return
+ */
+ @GetMapping("/securityLogin/getUserInfo/{userId}")
+ Result