| | |
| | | |
| | | @ApiModelProperty("申请改派时间") |
| | | @TableField("apply_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyTime; |
| | | |
| | | @ApiModelProperty("改派状态 (0:未改派 ;1:已改派)") |
| | |
| | | |
| | | @ApiModelProperty("申请改派时间") |
| | | @TableField("apply_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyTime; |
| | | |
| | | @ApiModelProperty("改派状态 (0:未改派 ;1:已改派 ;2:拒绝)") |
| | |
| | | @TableField("order_number") |
| | | private String orderNumber; |
| | | |
| | | @ApiModelProperty("下单时间") |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date orderTime; |
| | | |
| | | @ApiModelProperty("下单用户id") |
| | | @TableField("user_id") |
| | | private Integer userId; |
| | |
| | | private Integer starRating; |
| | | |
| | | @ApiModelProperty("评价时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date evaluateTime; |
| | | |
| | | } |
| | |
| | | private String serverPhone; |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("回收服务id") |
| | |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @TableField("accept_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("服务人员id") |
| | |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @TableField("arrive_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @TableField("complete_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("订单补贴金额") |
| | |
| | | @ApiModelProperty("导出ids集合") |
| | | private List<String> ids; |
| | | |
| | | @ApiModelProperty("城市列表") |
| | | private List<String> cityList; |
| | | |
| | | } |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | |
| | | @ApiModelProperty("申请时间") |
| | | @TableField("apply_for_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyForTime; |
| | | |
| | | @ApiModelProperty("申请金额") |
| | |
| | | private String time; |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("服务人员id") |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("订单补贴金额") |
| | |
| | | private Integer withdrawalState; |
| | | |
| | | @ApiModelProperty("提现申请时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date withdrawalTime; |
| | | |
| | | @ApiModelProperty("详细地址") |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R<Boolean> updateStateAndArrivalTime(String orderId, Integer state) { |
| | | return R.fail(cause.getMessage()); |
| | | } |
| | | |
| | | @Override |
| | | public R<Boolean> generateNewOrder(Order order) { |
| | | return R.fail(cause.getMessage()); |
| | | } |
| | |
| | | R<Boolean> updateState(@RequestParam("orderId") String orderId, @RequestParam("state") Integer state); |
| | | |
| | | /** |
| | | * 更改订单状态且清空到达时间 |
| | | * |
| | | * @param orderId 订单id |
| | | * @param state 订单状态 |
| | | * @return 修改结果 |
| | | */ |
| | | @ApiOperation(value = "订单列表-更改订单状态且清空到达时间", tags = {"后台-订单管理"}) |
| | | @PostMapping(value = "/order/updateStateAndArrivalTime") |
| | | R<Boolean> updateStateAndArrivalTime(@RequestParam("orderId") String orderId, |
| | | @RequestParam("state") Integer state); |
| | | |
| | | /** |
| | | * 申请改派审核通过后生成新订单 |
| | | * |
| | | * @param order 订单信息 |
| | |
| | | public static final Integer EIGHT = 18; |
| | | |
| | | /** |
| | | * 数字 30 |
| | | */ |
| | | public static final Integer THIRTY = 30; |
| | | |
| | | /** |
| | | * 数字100 |
| | | */ |
| | | public static final Integer ONE_HUNDRED = 100; |
| | | |
| | | /** |
| | | * 数字 365 |
| | | */ |
| | | public static final Integer YEAR_DAY = 365; |
| | | |
| | | /** |
| | | * 数字 3000 |
| | | */ |
| | | public static final Integer THREE_THOUSAND = 3000; |
| | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Random; |
| | | |
| | | /** |
| | | * 字符串工具类 |
| | |
| | | */ |
| | | private static final char ASTERISK = '*'; |
| | | |
| | | public static String getCharAndNum(int length) { |
| | | StringBuilder val = new StringBuilder(); |
| | | Random random = new Random(); |
| | | for (int i = 0; i < length; i++) { |
| | | // 输出字母还是数字 |
| | | String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; |
| | | // 字符串 |
| | | if ("char".equalsIgnoreCase(charOrNum)) { |
| | | // 取得大写字母还是小写字母 |
| | | int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; |
| | | val.append((char) (choice + random.nextInt(26))); |
| | | // 数字 |
| | | } else if ("num".equalsIgnoreCase(charOrNum)) { |
| | | val.append(random.nextInt(10)); |
| | | } |
| | | } |
| | | return val.toString(); |
| | | } |
| | | |
| | | /** |
| | | * 获取参数不为空值 |
| | | * |
| | |
| | | </select> |
| | | |
| | | <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String"> |
| | | select distinct m.perms |
| | | select distinct m.component |
| | | from sys_menu m |
| | | left join sys_role_menu rm on m.menu_id = rm.menu_id |
| | | where m.status = '0' and rm.role_id = #{roleId} |
| | |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="franchiseeId" column="franchisee_id"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="RoleResult" type="com.ruoyi.system.api.domain.SysRole"> |
| | |
| | | u.login_date, |
| | | u.create_by, |
| | | u.create_time, |
| | | u.franchisee_id, |
| | | r.role_id, |
| | | r.role_name, |
| | | r.role_key, |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.order.api.entity.Evaluate; |
| | | import com.ruoyi.order.api.feignClient.EvaluateClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | private MasterWorkerService masterWorkerService; |
| | | @Resource |
| | | private EvaluateClient evaluateClient; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 师傅列表分页查询 (添加订单-选择师傅列表) |
| | |
| | | public R<IPage<MasterWorker>> selectServe(String workerName, String phone, String city, Integer state, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | List<String> cityList = new ArrayList<>(); |
| | | if (loginUser.getIsFranchisee()) { |
| | | cityList = loginUser.getCityList(); |
| | | } |
| | | LambdaQueryChainWrapper<MasterWorker> wrapper = masterWorkerService.lambdaQuery(); |
| | | wrapper = StringUtils.isNotBlank(workerName) ? wrapper.like(MasterWorker::getRealName, workerName) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(phone) ? wrapper.like(MasterWorker::getPhone, phone) : wrapper; |
| | |
| | | if (null != state) { |
| | | wrapper.eq(MasterWorker::getIsEnable, Constants.ONE); |
| | | } |
| | | for (int i = 0; i < cityList.size(); i++) { |
| | | // 最后一跳城市不匹配or条件 |
| | | String s = cityList.get(i); |
| | | if (cityList.size() - 1 == i) { |
| | | wrapper.like(MasterWorker::getCity, s); |
| | | } else { |
| | | wrapper.like(MasterWorker::getCity, s).or(); |
| | | } |
| | | } |
| | | return R.ok(wrapper.eq(MasterWorker::getIsDelete, Constants.ZERO) |
| | | .orderByDesc(MasterWorker::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | | } |
| | |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | List<String> userCity = new ArrayList<>(); |
| | | if (loginUser.getIsFranchisee()) { |
| | | userCity = loginUser.getCityList(); |
| | | orderQueryRequest.setCityList(loginUser.getCityList()); |
| | | } |
| | | return R.ok(orderClient.queryPage(orderQueryRequest).getData()); |
| | | Page<Order> data = orderClient.queryPage(orderQueryRequest).getData(); |
| | | if (null != data) { |
| | | for (Order record : data.getRecords()) { |
| | | // 回收服务信息 |
| | | Integer serverId = record.getServerId(); |
| | | MasterWorker masterWorker = masterWorkerService.lambdaQuery() |
| | | .eq(MasterWorker::getId, serverId) |
| | | .eq(MasterWorker::getIsDelete, 0).one(); |
| | | if (null != masterWorker) { |
| | | record.setServerName(masterWorker.getRealName()); |
| | | record.setServerPhone(masterWorker.getPhone()); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(data); |
| | | } |
| | | |
| | | /** |
| | |
| | | MasterWorker masterWorker = masterWorkerService.lambdaQuery() |
| | | .eq(MasterWorker::getId, workerId) |
| | | .eq(MasterWorker::getIsDelete, 0).one(); |
| | | Order item = orderClient.detail(orderId).getData(); |
| | | Order order = orderClient.exchangeOrder(type, orderId, workerId, |
| | | masterWorker.getRealName(), masterWorker.getPhone()).getData(); |
| | | // 订单派单 |
| | |
| | | if (order.getState().equals(Constants.SIX) || order.getState().equals(Constants.THREE)) { |
| | | orderClient.updateState(order.getId(), Constants.ONE); |
| | | } |
| | | // 订单状态为 待完工时,需要更改状态 待上门且清空师傅到达预约点时间 |
| | | if (order.getState().equals(Constants.TWO)) { |
| | | orderClient.updateStateAndArrivalTime(orderId, Constants.ONE); |
| | | } |
| | | // 生成改派信息 |
| | | ChangeDispatch changeDispatch = new ChangeDispatch(); |
| | | changeDispatch.setWorkerId(order.getServerId()); |
| | | changeDispatch.setWorkerName(order.getServerName()); |
| | | changeDispatch.setWorkerId(item.getServerId()); |
| | | changeDispatch.setWorkerName(item.getServerName()); |
| | | changeDispatch.setApplyReason(applyReason); |
| | | changeDispatch.setApplyTime(new Date()); |
| | | changeDispatch.setState(Constants.ONE); |
| | | changeDispatch.setOrderId(order.getId()); |
| | | changeDispatch.setOrderNumber(order.getOrderNumber()); |
| | | if (null != order.getUserId()) { |
| | | changeDispatch.setUserId(order.getUserId()); |
| | | changeDispatch.setOrderId(orderId); |
| | | changeDispatch.setOrderNumber(item.getOrderNumber()); |
| | | if (null != item.getUserId()) { |
| | | changeDispatch.setUserId(item.getUserId()); |
| | | } |
| | | changeDispatch.setUserName(order.getReservationName()); |
| | | changeDispatch.setUserName(item.getReservationName()); |
| | | changeDispatch.setIsDelete(Constants.ZERO); |
| | | result = dispatchClient.saveRecord(changeDispatch).getData(); |
| | | } |
| | |
| | | masterWorkerList = masterWorkerService.lambdaQuery() |
| | | .eq(MasterWorker::getIsDelete, 0).list(); |
| | | } |
| | | Map<Integer, String> map = masterWorkerList.stream().collect(Collectors.toMap(MasterWorker::getId, |
| | | Map<Integer, String> profilePictureMap = masterWorkerList.stream().collect(Collectors.toMap(MasterWorker::getId, |
| | | mw -> Optional.ofNullable(mw.getProfilePicture()).orElse(""))); |
| | | Map<Integer, String> realNameMap = masterWorkerList.stream().collect(Collectors.toMap(MasterWorker::getId, |
| | | mw -> Optional.ofNullable(mw.getRealName()).orElse(""))); |
| | | for (OrderCountVO record : data.getRecords()) { |
| | | Integer workerId = record.getWorkerId(); |
| | | record.setProfilePicture(map.get(workerId)); |
| | | record.setRealName(realNameMap.get(workerId)); |
| | | record.setProfilePicture(profilePictureMap.get(workerId)); |
| | | } |
| | | return R.ok(data); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 师傅端-找回密码/验证手机号/验证码登录 |
| | | * 师傅端-修改手机号时校验新手机号是否已注册 |
| | | * |
| | | * @param phone 订单记录id |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 师傅端-忘记密码 |
| | | * |
| | | * @param phone 订单记录id |
| | | */ |
| | | @ApiOperation(value = "师傅端-忘记密码", tags = {"发送短信"}) |
| | | @GetMapping(value = "/passwordCheckPhone") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "手机号", name = "phone", dataType = "String", required = true) |
| | | }) |
| | | public R<String> passwordCheckPhone(@RequestParam String phone) { |
| | | MasterWorker masterWorker = masterWorkerService.lambdaQuery() |
| | | .eq(MasterWorker::getPhone, phone) |
| | | .eq(MasterWorker::getIsDelete, 0).one(); |
| | | if (null == masterWorker) { |
| | | return R.fail("手机号未注册!"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 师傅端-发送登录验证码短信 |
| | | * |
| | | * @param phone 订单记录id |
| | |
| | | } |
| | | SysUser user = sysUserService.lambdaQuery() |
| | | .eq(SysUser::getAccount, sysUserRequest.getAccount()) |
| | | .eq(SysUser::getIsDelete, 0).one(); |
| | | .eq(SysUser::getIsDelete, 0) |
| | | .ne(SysUser::getUserId, sysUserRequest.getUserId()).one(); |
| | | if (null != user) { |
| | | return R.fail("该账号已存在!"); |
| | | } |
| | |
| | | return R.fail("新密码与二次确认密码不一致,请重新输入!"); |
| | | } |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | if (!passwordEncoder.matches(newPassword, oldPassword)) { |
| | | if (!passwordEncoder.matches(oldPassword, user.getPassword())) { |
| | | return R.fail("原密码错误,请重试!"); |
| | | } |
| | | // 校验通过,加密新的明文密码 |
| | |
| | | import com.ruoyi.admin.service.UserService; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | |
| | | @Resource |
| | | private UserService userService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 用户信息分页列表 |
| | |
| | | public R<IPage<User>> queryPageList(String nickname, String phone, Integer state, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | LambdaQueryChainWrapper<User> query = userService.lambdaQuery(); |
| | | // 穆湖匹配规则 |
| | | query = StringUtils.isNotBlank(nickname) ? query.like(User::getNickname, nickname) : query; |
| | | query = StringUtils.isNotBlank(phone) ? query.like(User::getPhone, phone) : query; |
| | | // 账号是否启用 |
| | | query = null != state ? query.eq(User::getState, state) : query; |
| | | if (loginUser.getIsFranchisee() && !loginUser.getCityList().isEmpty()) { |
| | | query.in(User::getCity, loginUser.getCityList()); |
| | | } |
| | | return R.ok(query.orderByDesc(User::getCreateTime).eq(User::getIsDelete, 0) |
| | | .orderByDesc(User::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | | } |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.order.api.entity.EvaluatePageVO; |
| | | import com.ruoyi.order.api.entity.Order; |
| | | import com.ruoyi.order.api.entity.UserWithdrawRecordVO; |
| | |
| | | import com.ruoyi.order.api.feignClient.EvaluateClient; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.order.api.feignClient.WithdrawClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | private EvaluateClient evaluateClient; |
| | | @Resource |
| | | private WithdrawClient withdrawClient; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 用户信息分页列表 |
| | |
| | | public R<IPage<Order>> orderList(@RequestParam("userId") Integer userId, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | return R.ok(orderClient.orderList(userId, pageNum, pageSize).getData()); |
| | | } |
| | | |
| | |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | |
| | | @Resource |
| | | private WorkerProcessService workerProcessService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 师傅入驻审核分页列表 |
| | |
| | | public R<IPage<WorkerProcess>> queryPageList(String id, String realName, String city, Integer state, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | List<String> cityList = new ArrayList<>(); |
| | | if (loginUser.getIsFranchisee()) { |
| | | cityList = loginUser.getCityList(); |
| | | } |
| | | // 构建初始条件 |
| | | LambdaQueryChainWrapper<WorkerProcess> wrapper = workerProcessService.lambdaQuery(); |
| | | wrapper = StringUtils.isNotBlank(id) ? wrapper.like(WorkerProcess::getId, id) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(realName) ? wrapper.like(WorkerProcess::getRealName, realName) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(city) ? wrapper.like(WorkerProcess::getCity, city) : wrapper; |
| | | wrapper = null != state ? wrapper.eq(WorkerProcess::getState, state) : wrapper; |
| | | // 管辖城市 |
| | | for (int i = 0; i < cityList.size(); i++) { |
| | | // 最后一跳城市不匹配or条件 |
| | | String s = cityList.get(i); |
| | | if (cityList.size() - 1 == i) { |
| | | wrapper.like(WorkerProcess::getCity, s); |
| | | } else { |
| | | wrapper.like(WorkerProcess::getCity, s).or(); |
| | | } |
| | | } |
| | | return R.ok(wrapper.eq(WorkerProcess::getIsDelete, 0) |
| | | .orderByDesc(WorkerProcess::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | | } |
| | |
| | | |
| | | @ApiModelProperty("申请改派时间") |
| | | @TableField("apply_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyTime; |
| | | |
| | | @ApiModelProperty("改派状态 (0:未改派 ;1:已改派)") |
| | |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @TableField("arrive_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | @TableField("city") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("城市编码") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("用户昵称") |
| | | @TableField("nickname") |
| | | private String nickname; |
| | |
| | | import java.net.URLEncoder; |
| | | import java.nio.file.Files; |
| | | import java.nio.file.Paths; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | |
| | | private void serveRecordInfo(OrderDetailVO result, com.ruoyi.order.api.entity.Order order) { |
| | | OrderByServeRecordVO orderByServeRecord = new OrderByServeRecordVO(); |
| | | orderByServeRecord.setAcceptOrderTime(order.getAcceptTime()); |
| | | orderByServeRecord.setReachTime(order.getTime()); |
| | | if (null != order.getArriveTime()) { |
| | | orderByServeRecord.setReachTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(order.getArriveTime())); |
| | | } |
| | | // 服务记录 包含现场照片 |
| | | ServeRecord serveRecord = serveRecordClient.serveRecordByOrderId(order.getId()).getData(); |
| | | // 师傅路线轨迹 |
| | |
| | | public class OrderByServeRecordVO { |
| | | |
| | | @ApiModelProperty("接单时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptOrderTime; |
| | | |
| | | @ApiModelProperty("上门时间") |
| | |
| | | private String orderNumber; |
| | | |
| | | @ApiModelProperty("下单时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date placeOrderTime; |
| | | |
| | | @ApiModelProperty("订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派)") |
| | |
| | | wrapper = StringUtils.isNotBlank(workerName) ? wrapper.like(ChangeDispatch::getWorkerName, workerName) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(orderNumber) ? wrapper.like(ChangeDispatch::getOrderNumber, orderNumber) : wrapper; |
| | | wrapper = StringUtils.isNotBlank(userName) ? wrapper.like(ChangeDispatch::getUserName, userName) : wrapper; |
| | | return R.ok(wrapper.eq(ChangeDispatch::getIsDelete, 0) |
| | | .orderByDesc(ChangeDispatch::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | | Page<ChangeDispatch> page = wrapper.eq(ChangeDispatch::getIsDelete, 0) |
| | | .orderByDesc(ChangeDispatch::getCreateTime).page(Page.of(pageNum, pageSize)); |
| | | for (ChangeDispatch record : page.getRecords()) { |
| | | String orderId = record.getOrderId(); |
| | | Order order = orderService.lambdaQuery() |
| | | .eq(Order::getId, orderId) |
| | | .eq(Order::getIsDelete, 0).one(); |
| | | if (null != order) { |
| | | record.setOrderTime(order.getCreateTime()); |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | | /** |
| | |
| | | if (null == order) { |
| | | throw new GlobalException("订单不存在!"); |
| | | } |
| | | // 原订单状态改为 1:待上门,已选择师傅 |
| | | order.setState(Constants.ONE); |
| | | // 更改订单信息为再投单 |
| | | boolean orderUpdate = orderService.lambdaUpdate().set(Order::getIsReinvest, Constants.ONE) |
| | | boolean orderUpdate = orderService.lambdaUpdate() |
| | | .set(Order::getIsReinvest, Constants.ONE) |
| | | .set(Order::getAcceptTime, new Date()) |
| | | .set(Order::getArriveTime, null) |
| | | .set(Order::getCompleteTime, null) |
| | | // 原订单状态改为 1:待上门,已选择师傅 |
| | | .set(Order::getState, Constants.ONE) |
| | | .eq(Order::getId, order.getId()).update(); |
| | | // 生成新订单信息 |
| | | // Order newOrder = new Order(); |
| | | // BeanUtils.copyProperties(order, newOrder); |
| | | // newOrder.setId(null); |
| | | // newOrder.setServerId(workerId); |
| | | // newOrder.setServerName(name); |
| | | // newOrder.setServerPhone(phone); |
| | | // newOrder.setState(Constants.ONE); |
| | | // // 构建新订单 |
| | | // boolean save = orderService.save(newOrder); |
| | | // 改派信息 |
| | | boolean update = changeDispatchService.lambdaUpdate().set(ChangeDispatch::getState, 1) |
| | | .eq(ChangeDispatch::getId, changeId).eq(ChangeDispatch::getIsDelete, 0).update(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 更改订单状态且清空到达时间 |
| | | */ |
| | | @ApiOperation(value = "订单列表-更改订单状态且清空到达时间", tags = {"后台-订单管理"}) |
| | | @PostMapping(value = "/updateStateAndArrivalTime") |
| | | public R<Boolean> updateStateAndArrivalTime(@RequestParam("orderId") String orderId, |
| | | @RequestParam("state") Integer state) { |
| | | return R.ok(orderService.lambdaUpdate() |
| | | .eq(Order::getId, orderId).set(Order::getState, state) |
| | | .set(Order::getArriveTime, null).update()); |
| | | } |
| | | |
| | | /** |
| | | * 更改订单提现状态 |
| | | */ |
| | | @ApiOperation(value = "订单列表-更改订单提现状态", tags = {"后台-订单管理"}) |
| | |
| | | order.setSiteName(orderRequest.getSiteName()); |
| | | order.setServeId(orderRequest.getServeId()); |
| | | order.setServeName(orderRequest.getServeName()); |
| | | order.setServePrice(orderRequest.getServePrice()); |
| | | order.setSiteName(orderRequest.getSiteName()); |
| | | // 预约信息 |
| | | order.setReservationName(orderRequest.getReservationName()); |
| | |
| | | public R<OrderDetailVO> orderDetail(@RequestParam("orderId") String orderId) { |
| | | // 订单信息 |
| | | Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); |
| | | // 获取回收服务封面 |
| | | |
| | | // 服务信息(服务备注、上门时间、完成时间、完成所拍现场照片) |
| | | ServeRecord serveRecord = serveRecordService.lambdaQuery().eq(ServeRecord::getOrderId, orderId) |
| | | .eq(ServeRecord::getIsDelete, 0).one(); |
| | |
| | | |
| | | @ApiModelProperty("申请改派时间") |
| | | @TableField("apply_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyTime; |
| | | |
| | | @ApiModelProperty("改派状态 (0:未改派 ;1:已改派 ;2:拒绝)") |
| | |
| | | @TableField("order_id") |
| | | private String orderId; |
| | | |
| | | @ApiModelProperty("下单时间") |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date orderTime; |
| | | |
| | | @ApiModelProperty("订单编号") |
| | | @TableField("order_number") |
| | | private String orderNumber; |
| | |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @TableField("accept_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("服务人员id") |
| | |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @TableField("arrive_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @TableField("complete_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("订单补贴金额") |
| | |
| | | |
| | | @ApiModelProperty("申请时间") |
| | | @TableField("apply_for_time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date applyForTime; |
| | | |
| | | @ApiModelProperty("申请金额") |
| | |
| | | @ApiModelProperty("订单id") |
| | | @TableField("order_id") |
| | | private String orderId; |
| | | |
| | | |
| | | } |
| | |
| | | * |
| | | * @param cityList 城市集合 |
| | | * @param orderState 订单状态 |
| | | * @param startTime 开始日期 |
| | | * @param endTime 结束日期 |
| | | * @return 本年订单数量 |
| | | */ |
| | | List<OrderQueryVO> orderCountByYear(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState, |
| | | @Param("startTime") String startTime, @Param("endTime") String endTime); |
| | | List<OrderQueryVO> orderCountByYear(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 查询本月订单数量 |
| | | * |
| | | * @param cityList 城市集合 |
| | | * @param orderState 订单状态 |
| | | * @param startTime 开始日期 |
| | | * @param endTime 结束日期 |
| | | * @return 本年订单数量 |
| | | */ |
| | | List<OrderQueryVO> orderCountByMonth(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState, |
| | | @Param("startTime") String startTime, @Param("endTime") String endTime); |
| | | List<OrderQueryVO> orderCountByMonth(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 查询本周订单数量 |
| | | * |
| | | * @param cityList 城市集合 |
| | | * @param orderState 订单状态 |
| | | * @param startTime 开始日期 |
| | | * @param endTime 结束日期 |
| | | * @return 本年订单数量 |
| | | */ |
| | | List<OrderQueryVO> orderCountByWeek(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState, |
| | | @Param("startTime") String startTime, @Param("endTime") String endTime); |
| | | List<OrderQueryVO> orderCountByWeek(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 查询当天订单数量 |
| | | * |
| | | * @param cityList 城市集合 |
| | | * @param orderState 订单状态 |
| | | * @param startTime 开始日期 |
| | | * @param endTime 结束日期 |
| | | * @return 本年订单数量 |
| | | */ |
| | | List<OrderQueryVO> orderCountByToday(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState, |
| | | @Param("startTime") String startTime, @Param("endTime") String endTime); |
| | | List<OrderQueryVO> orderCountByToday(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 查询整个季度的交易额(订单状态为:已完工) |
| | |
| | | * @return 统计结果 |
| | | */ |
| | | WorkerOrderCountVO orderStateCount(@Param("workerId") Integer workerId); |
| | | |
| | | /** |
| | | * 根据时间范围筛选订单 |
| | | * |
| | | * @param cityList 城市列表 |
| | | * @param startTime 开始时间 |
| | | * @param endTime 结束时间 |
| | | * @param orderState 订单状态 |
| | | * @return 列表 |
| | | */ |
| | | List<OrderQueryVO> orderCountByTimeRange(@Param("cityList") List<String> cityList, @Param("startTime") String startTime, |
| | | @Param("endTime") String endTime, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 根据时间范围筛选订单 |
| | | * -- 按年统计 |
| | | * |
| | | * @param cityList 城市列表 |
| | | * @param startTime 开始时间 |
| | | * @param endTime 结束时间 |
| | | * @param orderState 订单状态 |
| | | * @return 列表 |
| | | */ |
| | | List<OrderQueryVO> orderCountByTimeRangeYear(@Param("cityList") List<String> cityList, @Param("startTime") String startTime, |
| | | @Param("endTime") String endTime, @Param("orderState") Integer orderState); |
| | | |
| | | /** |
| | | * 根据时间范围筛选订单 |
| | | * -- 按月统计 |
| | | * |
| | | * @param cityList 城市列表 |
| | | * @param startTime 开始时间 |
| | | * @param endTime 结束时间 |
| | | * @param orderState 订单状态 |
| | | * @return 列表 |
| | | */ |
| | | List<OrderQueryVO> orderCountByTimeRangeMonth(@Param("cityList") List<String> cityList, @Param("startTime") String startTime, |
| | | @Param("endTime") String endTime, @Param("orderState") Integer orderState); |
| | | } |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.Month; |
| | | import java.time.Year; |
| | | import java.time.temporal.TemporalAdjusters; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | |
| | | List<OrderQueryVO> list; |
| | | // 根据查询类型查询订单信息 |
| | | if (OrderConstants.YEAR.equals(countType)) { |
| | | list = baseMapper.orderCountByYear(cityList, orderState, startTime, endTime); |
| | | list = baseMapper.orderCountByYear(cityList, orderState); |
| | | } else if (OrderConstants.MONTH.equals(countType)) { |
| | | list = baseMapper.orderCountByMonth(cityList, orderState, startTime, endTime); |
| | | list = baseMapper.orderCountByMonth(cityList, orderState); |
| | | } else if (OrderConstants.WEEK.equals(countType)) { |
| | | list = baseMapper.orderCountByWeek(cityList, orderState, startTime, endTime); |
| | | list = baseMapper.orderCountByWeek(cityList, orderState); |
| | | } else if (OrderConstants.TODAY.equals(countType)) { |
| | | list = baseMapper.orderCountByToday(cityList, orderState, startTime, endTime); |
| | | list = baseMapper.orderCountByToday(cityList, orderState); |
| | | } else { |
| | | try { |
| | | startTime = startTime + " 00:00:00"; |
| | | endTime = endTime + " 00:00:00"; |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date date1 = sdf.parse(startTime); |
| | | Date date2 = sdf.parse(endTime); |
| | | long diffInMillis = date2.getTime() - date1.getTime(); |
| | | long diffInDays = diffInMillis / (24 * 60 * 60 * 1000); |
| | | if (diffInDays > Constants.YEAR_DAY) { |
| | | list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime,orderState); |
| | | } else if (diffInDays > Constants.THIRTY) { |
| | | list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime,orderState); |
| | | } else { |
| | | list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime,orderState); |
| | | } |
| | | } catch (ParseException e) { |
| | | list = new ArrayList<>(); |
| | | } |
| | | } |
| | | // 计算订单总额及总订单数量 |
| | | BigDecimal totalMoney; |
| | |
| | | orderNumber = list.stream().filter(order -> order.getNumber() != null) |
| | | .mapToInt(OrderQueryVO::getNumber).sum(); |
| | | } |
| | | return new OrderResultVO(totalMoney, orderNumber, list); |
| | | return new |
| | | |
| | | OrderResultVO(totalMoney, orderNumber, list); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | } else if (Constants.FOUR.equals(state)) { |
| | | canceled++; |
| | | } |
| | | if (order.getIsReinvest() != null && order.getIsReinvest() == 1) { |
| | | if (order.getState().equals(Constants.SIX)) { |
| | | reInvestment++; |
| | | } |
| | | } |
| | |
| | | private Integer starRating; |
| | | |
| | | @ApiModelProperty("评价时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date evaluateTime; |
| | | |
| | | } |
| | |
| | | private String serverPhone; |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("回收服务id") |
| | |
| | | @ApiModelProperty("导出ids集合") |
| | | private List<String> ids; |
| | | |
| | | @ApiModelProperty("城市列表") |
| | | private List<String> cityList; |
| | | |
| | | } |
| | |
| | | private String time; |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("服务人员id") |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("订单补贴金额") |
| | |
| | | private Integer withdrawalState; |
| | | |
| | | @ApiModelProperty("提现申请时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date withdrawalTime; |
| | | |
| | | @ApiModelProperty("详细地址") |
| | |
| | | |
| | | |
| | | <select id="orderCountByYear" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(serve_price) as totalPrice |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null and orderState != ''"> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByWeek" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(serve_price) as totalPrice |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | | and YEARWEEK(DATE_FORMAT(createTime, '%Y-%m-%d')) = YEARWEEK(NOW()) |
| | | and YEARWEEK(DATE_FORMAT(createTime, '%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1) |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null and orderState != ''"> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByMonth" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(serve_price) as totalPrice |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null and orderState != ''"> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByToday" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d %H') AS dateTime, COUNT(*) AS number, sum(serve_price) as totalPrice |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | DATE(createTime) = CURDATE() |
| | | is_delete = 0 |
| | | and DATE(createTime) = CURDATE() |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null and orderState != ''"> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | |
| | | </select> |
| | | |
| | | <select id="orderCount" resultType="com.ruoyi.order.vo.OrderCountVO"> |
| | | SELECT o.server_name AS realName, |
| | | o.server_id as workerId, |
| | | SELECT o.server_id as workerId, |
| | | SUM(CASE WHEN o.state in (1, 2) THEN 1 ELSE 0 END) AS toBeCompletedNumber, |
| | | SUM(CASE WHEN o.state = 3 THEN 1 ELSE 0 END) AS completedNumber, |
| | | SUM(CASE WHEN o.state = 6 THEN 1 ELSE 0 END) AS reInvestment |
| | |
| | | <if test="name != null and name != ''"> |
| | | and o.server_name like concat('%', #{name}, '%') |
| | | </if> |
| | | GROUP BY o.server_name, o.server_id |
| | | GROUP BY o.server_id |
| | | </select> |
| | | |
| | | <select id="queryPage" resultMap="BaseResultMap"> |
| | |
| | | </if> |
| | | <if test="data.cityName != null and data.cityName != ''"> |
| | | and o.city like concat('%', #{data.cityName}, '%') |
| | | </if> |
| | | <if test="data.cityList != null and data.cityList.size() != 0"> |
| | | and o.city in |
| | | <foreach collection="data.cityList" item="c" open="(" separator="," close=")"> |
| | | #{c} |
| | | </foreach> |
| | | </if> |
| | | <if test="data.reservationName != null and data.reservationName != ''"> |
| | | and o.reservation_name like concat('%', #{data.reservationName}, '%') |
| | |
| | | and o.server_phone like concat('%', #{data.workerPhone}, '%') |
| | | </if> |
| | | <if test="data.serveName != null and data.serveName != ''"> |
| | | and o.serve_name like concat('%', #{data.serveName}, '%') |
| | | and o.site_name like concat('%', #{data.serveName}, '%') |
| | | </if> |
| | | <if test="data.orderTimeStart != null and data.orderTimeStart != ''"> |
| | | and DATE(o.createTime) <![CDATA[ >= ]]> #{data.orderTimeStart} |
| | |
| | | where o.server_id = #{workerId} |
| | | and o.is_delete = 0 |
| | | </select> |
| | | |
| | | <select id="orderCountByTimeRange" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m-%d') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | | order by dateTime |
| | | </select> |
| | | |
| | | <select id="orderCountByTimeRangeYear" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | | order by dateTime |
| | | </select> |
| | | |
| | | <select id="orderCountByTimeRangeMonth" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) as totalPrice |
| | | FROM t_order |
| | | <where> |
| | | is_delete = 0 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="orderState != null"> |
| | | and state = #{orderState} |
| | | </if> |
| | | <if test="startTime != null and startTime != ''"> |
| | | and createTime <![CDATA[ >= ]]> #{startTime} |
| | | </if> |
| | | <if test="endTime != null and endTime != ''"> |
| | | and createTime <![CDATA[ <= ]]> #{endTime} |
| | | </if> |
| | | </where> |
| | | GROUP BY dateTime |
| | | order by dateTime |
| | | </select> |
| | | </mapper> |
| | |
| | | */ |
| | | @GetMapping(value = "/servePage") |
| | | @ApiOperation(value = "根据所选分类获取服务列表", tags = {"用户端-服务"}) |
| | | public R<IPage<RecoveryServe>> servePage(@RequestParam("id") Integer id, |
| | | public R<IPage<RecoveryServe>> servePage(@RequestParam("id") String id, |
| | | @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | Page<RecoveryServe> page = recoveryServeService.lambdaQuery() |
| | |
| | | @GetMapping(value = "/serveDetail") |
| | | @ApiOperation(value = "获取服务详情", tags = {"用户端-服务"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "Integer", required = true) |
| | | @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "String", required = true) |
| | | }) |
| | | public R<RecoveryServe> serveDetail(@RequestParam Integer serveId) { |
| | | public R<RecoveryServe> serveDetail(@RequestParam String serveId) { |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) |
| | | .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getSort).one(); |
| | | // 用户是否收藏 |
| | |
| | | package com.ruoyi.user.controller; |
| | | |
| | | |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.ruoyi.admin.api.entity.*; |
| | | import com.ruoyi.admin.api.feignClient.AdminClient; |
| | |
| | | } else { |
| | | user = new User(); |
| | | // 随机编号 |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX))); |
| | | user.setState(Constants.ONE); |
| | | user.setNickname(phone); |
| | | user.setPhone(phone); |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "0:用户注册协议、1:用户隐私协议", name = "type", dataType = "Integer", required = true) |
| | | }) |
| | | public R<Agreement> recoverySearch(@RequestParam Integer type) { |
| | | public R<Agreement> registerOrAgreement(@RequestParam Integer type) { |
| | | if (!Constants.ZERO.equals(type) && !Constants.ONE.equals(type)) { |
| | | throw new GlobalException("获取类型异常!"); |
| | | } |
| | |
| | | LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() |
| | | .eq(RecoveryServe::getIsDelete, 0) |
| | | .orderByAsc(RecoveryServe::getSort); |
| | | wrapper = StringUtils.isNotBlank(keyword) ? wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; |
| | | wrapper = null != keyword && !"".equals(keyword.trim()) ? |
| | | wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; |
| | | List<RecoveryServe> serveList = wrapper.list(); |
| | | for (RecoveryServe recoveryServe : serveList) { |
| | | RecoveryClassify classify = recoveryClassifyService.lambdaQuery() |
| | | .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()) |
| | | .eq(RecoveryClassify::getIsDelete, 0).one(); |
| | | .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()).one(); |
| | | if (null != classify) { |
| | | if (Constants.RECOVERY.equals(classify.getSupClassify())) { |
| | | recoveryServe.setType(Constants.ONE); |
| | | } else { |
| | | recoveryServe.setType(Constants.ZERO); |
| | | } |
| | | } |
| | | return R.ok(wrapper.list()); |
| | | } |
| | | return R.ok(serveList); |
| | | } |
| | | |
| | | /** |
| | |
| | | .set(User::getNickname, nickname).update()); |
| | | } |
| | | |
| | | /** |
| | | * 用户端-修改用户定位城市 |
| | | */ |
| | | @ApiOperation(value = "修改用户定位城市", tags = {"用户端-个人中心"}) |
| | | @GetMapping(value = "/updateCity") |
| | | public R<Boolean> updateCity(@RequestParam String city, @RequestParam String cityCode) { |
| | | LoginUserInfo loginUser = tokenService.getLoginUserByUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | return R.ok(userService.lambdaUpdate().eq(User::getId, loginUser.getUserid()) |
| | | .set(User::getCity, city) |
| | | .set(User::getCityCode, cityCode).update()); |
| | | } |
| | | |
| | | } |
| | |
| | | @TableField("city") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("城市编码") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("微信OpenId") |
| | | @TableField("open_id") |
| | | private String openId; |
| | |
| | | import com.ruoyi.user.entity.Region; |
| | | import com.ruoyi.user.mapper.RegionMapper; |
| | | import com.ruoyi.user.service.RegionService; |
| | | import com.ruoyi.user.vo.RegionVo; |
| | | import net.sourceforge.pinyin4j.PinyinHelper; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; |
| | | import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; |
| | |
| | | import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.Collator; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.TreeMap; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | } |
| | | // 获取所有市区信息 |
| | | List<Region> reginList = wrapper.orderByAsc(Region::getId).list(); |
| | | List<String> data = reginList.stream().map(Region::getName).collect(Collectors.toList()); |
| | | Map<String, Object> px = px(data); |
| | | return px; |
| | | // 根据市区首字母分组排序 |
| | | // data.sort(new Comparator<String>() { |
| | | // final Collator collator = Collator.getInstance(Locale.CHINA); |
| | | // |
| | | // @Override |
| | | // public int compare(String o1, String o2) { |
| | | // CollationKey key1 = collator.getCollationKey(o1); |
| | | // CollationKey key2 = collator.getCollationKey(o2); |
| | | // return key1.compareTo(key2); |
| | | // } |
| | | // }); |
| | | // return reginList; |
| | | return newSort(reginList); |
| | | } |
| | | |
| | | /** |
| | |
| | | HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); |
| | | defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); |
| | | defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); |
| | | for (int i = 0; i < arr.length; i++) { |
| | | if (arr[i] > 128) { |
| | | for (char c : arr) { |
| | | if (c > 128) { |
| | | try { |
| | | pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]); |
| | | pybf.append(PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat)[0]); |
| | | } catch (BadHanyuPinyinOutputFormatCombination e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | pybf.append(arr[i]); |
| | | pybf.append(c); |
| | | } |
| | | } |
| | | return pybf.toString(); |
| | | } |
| | | |
| | | public Map<String, Object> px(List<String> list) { |
| | | Comparator<Object> com = Collator.getInstance(java.util.Locale.CHINA); |
| | | // 按字母排序 |
| | | Collections.sort(list, com); |
| | | //输出26个字母 |
| | | Map<String, Object> map = new TreeMap<>(); |
| | | private Object newSort(List<Region> reginList) { |
| | | // 按照城市名称排序,并分组 |
| | | Map<String, List<RegionVo>> map = new TreeMap<>(); |
| | | for (int i = 1; i <= 26; i++) { |
| | | //循环找出 首字母一样的数据 |
| | | String word = String.valueOf((char) (96 + i)).toUpperCase(); |
| | | List<String> letter = new ArrayList<>(); |
| | | for (String str : list) { |
| | | // System.out.println("首字母"+zm); |
| | | String zm = getFullSpell(str).substring(0, 1); |
| | | if (word.equals(zm)) { |
| | | letter.add(str); |
| | | String letter = String.valueOf((char) (96 + i)).toUpperCase(); |
| | | List<RegionVo> regionVos = new ArrayList<>(); |
| | | for (Region region : reginList) { |
| | | String firstLetter = getFullSpell(region.getName()).substring(0, 1); |
| | | if (letter.equals(firstLetter)) { |
| | | RegionVo regionVo = new RegionVo(region.getName(), region.getCityCode()); |
| | | regionVos.add(regionVo); |
| | | } |
| | | map.put(word, letter); |
| | | map.put(letter, regionVos); |
| | | } |
| | | //System.out.println(JsoN.to]soNString(map)); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |
| | |
| | | import cn.binarywang.wx.miniapp.api.WxMaUserService; |
| | | import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; |
| | | import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import cn.hutool.http.HttpRequest; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | } |
| | | if (session != null && StringUtils.isNotBlank(session.getOpenid())) { |
| | | String openid = session.getOpenid(); |
| | | // String sessionKey = session.getSessionKey(); |
| | | /*String sessionKey = session.getSessionKey(); |
| | | // 加密明文及初始向量转义 |
| | | // encryptedData = URLEncoder.encode(encryptedData, "UTF-8").replace("%3D", "=").replace("%2F", "/"); |
| | | // ivStr = URLEncoder.encode(ivStr, "UTF-8").replace("%3D", "=").replace("%2F", "/"); |
| | | // // 获取用户信息 |
| | | // String result = WxAesUtils.decryptData(WxAesUtils.getUrlDecoderString(encryptedData), |
| | | // sessionKey, |
| | | // WxAesUtils.getUrlDecoderString(ivStr)); |
| | | // JSONObject userJson = JSONObject.parseObject(result); |
| | | encryptedData = URLEncoder.encode(encryptedData, "UTF-8").replace("%3D", "=").replace("%2F", "/"); |
| | | ivStr = URLEncoder.encode(ivStr, "UTF-8").replace("%3D", "=").replace("%2F", "/"); |
| | | // 获取用户信息 |
| | | String result = WxAesUtils.decryptData(WxAesUtils.getUrlDecoderString(encryptedData), |
| | | sessionKey, |
| | | WxAesUtils.getUrlDecoderString(ivStr)); |
| | | JSONObject userJson = JSONObject.parseObject(result);*/ |
| | | // 封装项目用户信息 |
| | | if (null != phoneNoInfo) { |
| | | String phoneNumber = phoneNoInfo.getPhoneNumber(); |
| | |
| | | .eq(User::getIsDelete, 0).one(); |
| | | if (null == user) { |
| | | user = new User(); |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX))); |
| | | user.setPhone(phoneNumber); |
| | | user.setState(Constants.ONE); |
| | | user.setOpenId(openid); |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单完成时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date completeTime; |
| | | |
| | | @ApiModelProperty("订单补贴金额") |
New file |
| | |
| | | package com.ruoyi.user.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author HJL |
| | | * @version 1.0 |
| | | * @since 2024-07-16 10:05 |
| | | */ |
| | | @Data |
| | | public class RegionVo { |
| | | |
| | | /** |
| | | * 城市 |
| | | */ |
| | | private String city; |
| | | |
| | | /** |
| | | * 城市编码 |
| | | */ |
| | | private String cityCode; |
| | | |
| | | public RegionVo() { |
| | | } |
| | | |
| | | public RegionVo(String city, String cityCode) { |
| | | this.city = city; |
| | | this.cityCode = cityCode; |
| | | } |
| | | |
| | | } |
| | |
| | | if (!Constants.ONE.equals(worker.getIsEnable())) { |
| | | return R.notEnabled("当前手机号已禁用!"); |
| | | } |
| | | // 校验师傅是否已提交入驻申请 |
| | | WorkerProcess process = workerProcessService.lambdaQuery() |
| | | .eq(WorkerProcess::getPhone, phone) |
| | | .eq(WorkerProcess::getIsDelete, 0) |
| | | .orderByDesc(WorkerProcess::getCreateTime) |
| | | .last("limit 1").one(); |
| | | if (null != process) { |
| | | if (Constants.TWO.equals(process.getState())) { |
| | | return R.fail("入驻申请暂未审核通过,请耐心等待!"); |
| | | } |
| | | } else { |
| | | return R.registered("当前账号未提交入驻申请,无法登录!"); |
| | | } |
| | | // MD5加密登录密码(新) |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | // 校验用户输入密码与加密后的密码是否匹配 |
| | |
| | | // 校验师傅是否已提交入驻申请 |
| | | WorkerProcess process = workerProcessService.lambdaQuery() |
| | | .eq(WorkerProcess::getPhone, phone) |
| | | .eq(WorkerProcess::getIsDelete, 0).one(); |
| | | .eq(WorkerProcess::getIsDelete, 0) |
| | | .orderByDesc(WorkerProcess::getCreateTime) |
| | | .last("limit 1").one(); |
| | | if (null != process) { |
| | | if (Constants.ZERO.equals(process.getState())) { |
| | | return R.fail("入驻申请暂未审核通过,请耐心等待!"); |
| | |
| | | if (null != dbProcess) { |
| | | if (Constants.ZERO.equals(dbProcess.getState())) { |
| | | return R.fail("入驻申请已提交,审核未通过,请耐心等待!"); |
| | | } else if (Constants.ONE.equals(dbProcess.getState())) { |
| | | return R.fail("该手机号入驻申请已通过,请通过手机号登录!"); |
| | | } |
| | | } |
| | | // 默认状态待审核 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 师傅端-订单代办列表 |
| | | * 师傅端-订单列表-地图模式 |
| | | */ |
| | | @ApiOperation(value = "订单代办列表", tags = {"师傅端-首页"}) |
| | | @ApiOperation(value = "订单列表-地图模式", tags = {"师傅端-首页"}) |
| | | @GetMapping(value = "/orderMapMode") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "师傅所在经度", name = "longitude", dataType = "String", required = true), |
| | |
| | | changeDispatch.setWorkerName(masterWorker.getRealName()); |
| | | changeDispatch.setApplyReason(reason); |
| | | changeDispatch.setApplyTime(DateUtils.getNowDate()); |
| | | changeDispatch.setState(0); |
| | | changeDispatch.setState(Constants.ZERO); |
| | | Boolean result = orderClient.changeOrderState(orderId, Constants.SIX).getData(); |
| | | Order order = orderClient.detail(orderId).getData(); |
| | | if (null == order) { |
| | |
| | | // 上传时判断是否在下单位置附件,距离大于某个值则 不允许上传 |
| | | if (distance > Constants.THREE_THOUSAND) { |
| | | // throw new GlobalException("您当前手机定位超出当前订单预约地址范围 3km,无法提供回收服务!"); |
| | | return R.fail(Boolean.FALSE, "您当前手机定位超出当前订单预约地址范围 3km,无法提供回收服务!"); |
| | | return R.ok(Boolean.FALSE, "您当前手机定位超出当前订单预约地址范围 3km,无法提供回收服务!"); |
| | | } |
| | | return R.ok(true); |
| | | } |
| | |
| | | Integer serveId = data.getOrderInfo().getServeId(); |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery() |
| | | .eq(RecoveryServe::getId, serveId).one(); |
| | | if (null != recoveryServe) { |
| | | data.getOrderInfo().setCover(recoveryServe.getCover()); |
| | | } |
| | | return R.ok(data); |
| | | } |
| | | |
| | |
| | | private String updateBy; |
| | | |
| | | @TableField("createTime") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @TableField("updateTime") |
| | |
| | | OrderNotHandleVO vo = new OrderNotHandleVO(distance, orderListVO); |
| | | list.add(vo); |
| | | } |
| | | List<OrderNotHandleVO> newList = new ArrayList<>(); |
| | | if (item) { |
| | | return list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList()); |
| | | // 已置顶订单 |
| | | List<OrderNotHandleVO> topSortNotNull = list.stream() |
| | | .filter(data -> data.getOrderList().getTopSort() != null).collect(Collectors.toList()); |
| | | newList.addAll(topSortNotNull); |
| | | // 未置顶订单,根据距离由近到远排序 |
| | | List<OrderNotHandleVO> topSortNull = list.stream() |
| | | .filter(data -> data.getOrderList().getTopSort() == null).collect(Collectors.toList()); |
| | | topSortNull.sort(Comparator.comparing(OrderNotHandleVO::getDistance)); |
| | | newList.addAll(topSortNull); |
| | | return newList.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList()); |
| | | } else { |
| | | // 根据距离排序 |
| | | list.sort(Comparator.comparing(OrderNotHandleVO::getDistance)); |
| | |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("接单时间(师傅接单或后台派单,更新该字段时间)") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date acceptTime; |
| | | |
| | | @ApiModelProperty("师傅到达预约地点时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date arriveTime; |
| | | |
| | | @ApiModelProperty("订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))") |
| | |
| | | Target Server Version : 80037 (8.0.37) |
| | | File Encoding : 65001 |
| | | |
| | | Date: 08/07/2024 11:27:48 |
| | | Date: 16/07/2024 09:28:34 |
| | | */ |
| | | |
| | | SET NAMES utf8mb4; |
| | |
| | | `c_schema` text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL, |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for config_info_aggr |
| | |
| | | `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `datum_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for config_info_beta |
| | |
| | | `tenant_id` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT '' COMMENT '租户字段', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for config_info_tag |
| | |
| | | `src_ip` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 'source ip', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id` ASC, `group_id` ASC, `tenant_id` ASC, `tag_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for config_tags_relation |
| | |
| | | PRIMARY KEY (`nid`) USING BTREE, |
| | | UNIQUE INDEX `uk_configtagrelation_configidtag`(`id` ASC, `tag_name` ASC, `tag_type` ASC) USING BTREE, |
| | | INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_address |
| | |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '排序权重', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务优势' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 882 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务优势' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_cate |
| | |
| | | `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_group_id`(`group_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for his_config_info |
| | |
| | | INDEX `idx_gmt_create`(`gmt_create` ASC) USING BTREE, |
| | | INDEX `idx_gmt_modified`(`gmt_modified` ASC) USING BTREE, |
| | | INDEX `idx_did`(`data_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for permissions |
| | |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '协议政策、司机操作指导' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_change_dispatch |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_change_dispatch`; |
| | | CREATE TABLE `sys_change_dispatch` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `worker_id` int NOT NULL COMMENT '申请师傅', |
| | | `worker_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请师傅姓名', |
| | | `apply_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请原因', |
| | | `apply_time` datetime NULL DEFAULT NULL COMMENT '申请改派时间', |
| | | `state` int NULL DEFAULT NULL COMMENT '改派状态 (0:未改派 ;1:已改派)', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号', |
| | | `user_id` int NULL DEFAULT NULL COMMENT '下单用户id', |
| | | `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下单用户名称', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 68 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '改派管理' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_config |
| | |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `city_str` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '城市数组字符串', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '加盟商信息表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '加盟商信息表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_logininfor |
| | |
| | | PRIMARY KEY (`info_id`) USING BTREE, |
| | | INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE, |
| | | INDEX `idx_sys_logininfor_lt`(`access_time` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 184 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 194 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_master_worker |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '常见问题管理' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '常见问题管理' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_recovery_classify |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_recovery_serve |
| | |
| | | `classify_id` int NOT NULL COMMENT '所属分类id', |
| | | `serve_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务名称', |
| | | `serve_describe` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务描述', |
| | | `estimate_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '预估价格', |
| | | `estimate_price` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预估价格', |
| | | `default_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '默认回收价', |
| | | `sort` int NULL DEFAULT NULL COMMENT '排序权重', |
| | | `cover` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '封面图片', |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_recovery_serve_price |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务对应回收价格及所在城市' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务对应回收价格及所在城市' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_role |
| | |
| | | `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', |
| | | `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', |
| | | PRIMARY KEY (`role_id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 92 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 93 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_role_menu |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '服务优势管理' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_serve_coordinate |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_serve_coordinate`; |
| | | CREATE TABLE `sys_serve_coordinate` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `worker_id` int NOT NULL COMMENT '师傅id', |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | `coordinate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '路线经纬度', |
| | | `longitude` decimal(10, 6) NULL DEFAULT NULL COMMENT '经度', |
| | | `latitude` decimal(10, 6) NULL DEFAULT NULL COMMENT '纬度', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅路线经纬度信息' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_serve_record |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_serve_record`; |
| | | CREATE TABLE `sys_serve_record` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | `photo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '现场照片(多张照片 \',\'隔开)', |
| | | `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务备注', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅服务记录' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '服务优势管理' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_site |
| | |
| | | `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', |
| | | `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否软删除 0未删除;1已删除', |
| | | `franchisee_id` int NULL DEFAULT NULL COMMENT '加盟商id', |
| | | PRIMARY KEY (`user_id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 217 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_user_role |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `opinion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审批意见', |
| | | `city_str` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市数组', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 7512399 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅入驻审核表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_evaluate |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_evaluate`; |
| | | CREATE TABLE `t_evaluate` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `user_id` int NOT NULL COMMENT '用户id', |
| | | `user_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户手机号', |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '评价内容', |
| | | `worker_id` int NULL DEFAULT NULL COMMENT '评价师傅id', |
| | | `star_rating` double(2, 1) NULL DEFAULT NULL COMMENT '评价星级', |
| | | `serve_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务单号', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户评价表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_order |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_order`; |
| | | CREATE TABLE `t_order` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下单城市', |
| | | `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号', |
| | | `site_id` int NULL DEFAULT NULL COMMENT '站点id', |
| | | `site_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '站点名称', |
| | | `serve_id` int NOT NULL COMMENT '回收服务id', |
| | | `serve_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '回收服务名称', |
| | | `serve_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '回收服务的回收价', |
| | | `user_id` int NULL DEFAULT NULL COMMENT '下单用户id', |
| | | `reservation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约姓名', |
| | | `reservation_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约手机号', |
| | | `reservation_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约地址', |
| | | `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约上门时间段', |
| | | `server_id` int NOT NULL COMMENT '服务人员id', |
| | | `server_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '服务人员名称', |
| | | `server_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '服务人员手机号', |
| | | `reservation_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预约备注(服务备注)', |
| | | `order_money` decimal(10, 6) NULL DEFAULT NULL COMMENT '订单成交价(服务回收价 + 津贴)', |
| | | `state` int NULL DEFAULT NULL COMMENT '订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派)', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `accept_time` datetime NULL DEFAULT NULL COMMENT '接单时间(师傅接单或后台派单,更新该字段时间)', |
| | | `type` int NULL DEFAULT NULL COMMENT '订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))', |
| | | `longitude` double NULL DEFAULT NULL COMMENT '下单用户经度', |
| | | `latitude` double NULL DEFAULT NULL COMMENT '下单用户纬度', |
| | | `arrive_time` datetime NULL DEFAULT NULL COMMENT '师傅到达预约地点时间', |
| | | `complete_time` datetime NULL DEFAULT NULL COMMENT '订单完成时间', |
| | | `is_withdrawal` int NULL DEFAULT NULL COMMENT '是否已提现(0:未提现,1:已提现)', |
| | | `subsidy` decimal(10, 6) NULL DEFAULT NULL COMMENT '补贴金额', |
| | | `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '详细地址', |
| | | `top_sort` int NULL DEFAULT NULL COMMENT '置顶顺序', |
| | | `cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单取消原因', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单管理' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 7512401 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅入驻审核表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_region |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户列表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户列表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_user_collect |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_user_recipient |
| | |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT 0 COMMENT '是否删除 0否1是', |
| | | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图搜索地址名称', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收货地址' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_withdraw |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_withdraw`; |
| | | CREATE TABLE `t_withdraw` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `user_id` int NOT NULL COMMENT '用户id', |
| | | `user_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户手机号', |
| | | `apply_for_time` datetime NOT NULL COMMENT '申请时间', |
| | | `apply_for_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '申请金额', |
| | | `state` int NULL DEFAULT NULL COMMENT '申请状态 0待审核;1已通过;2已驳回', |
| | | `opinion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审批意见', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收货地址' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for tenant_capacity |
| | |
| | | `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_tenant_id`(`tenant_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for tenant_info |
| | |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp` ASC, `tenant_id` ASC) USING BTREE, |
| | | INDEX `idx_tenant_id`(`tenant_id` ASC) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for users |
New file |
| | |
| | | /* |
| | | Navicat Premium Data Transfer |
| | | |
| | | Source Server : 二手回收-本地 |
| | | Source Server Type : MySQL |
| | | Source Server Version : 80037 (8.0.37) |
| | | Source Host : localhost:3306 |
| | | Source Schema : secondary_recovery_order |
| | | |
| | | Target Server Type : MySQL |
| | | Target Server Version : 80037 (8.0.37) |
| | | File Encoding : 65001 |
| | | |
| | | Date: 16/07/2024 09:28:41 |
| | | */ |
| | | |
| | | SET NAMES utf8mb4; |
| | | SET FOREIGN_KEY_CHECKS = 0; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_change_dispatch |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_change_dispatch`; |
| | | CREATE TABLE `sys_change_dispatch` ( |
| | | `id` bigint NOT NULL, |
| | | `worker_id` int NOT NULL COMMENT '申请师傅', |
| | | `worker_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请师傅姓名', |
| | | `apply_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '申请原因', |
| | | `apply_time` datetime NULL DEFAULT NULL COMMENT '申请改派时间', |
| | | `state` int NULL DEFAULT NULL COMMENT '改派状态 (0:未改派 ;1:已改派 ;2:拒绝)', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `order_id` bigint NULL DEFAULT NULL COMMENT '订单id', |
| | | `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号', |
| | | `user_id` int NULL DEFAULT NULL COMMENT '下单用户id', |
| | | `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下单用户名称', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '改派管理' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_serve_coordinate |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_serve_coordinate`; |
| | | CREATE TABLE `sys_serve_coordinate` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `worker_id` int NOT NULL COMMENT '师傅id', |
| | | `order_id` int NULL DEFAULT NULL COMMENT '订单id', |
| | | `coordinate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '路线经纬度', |
| | | `longitude` decimal(10, 6) NULL DEFAULT NULL COMMENT '经度', |
| | | `latitude` decimal(10, 6) NULL DEFAULT NULL COMMENT '纬度', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅路线经纬度信息' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_serve_record |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_serve_record`; |
| | | CREATE TABLE `sys_serve_record` ( |
| | | `id` bigint NOT NULL, |
| | | `order_id` bigint NULL DEFAULT NULL COMMENT '订单id', |
| | | `photo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '现场照片(多张照片 \',\'隔开)', |
| | | `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务备注', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅服务记录' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_withdrawal_setting |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `sys_withdrawal_setting`; |
| | | CREATE TABLE `sys_withdrawal_setting` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `enable_process` int NOT NULL COMMENT '是否开启审核(0:未开启,1:已开启)', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '审核管理全局设置' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_evaluate |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_evaluate`; |
| | | CREATE TABLE `t_evaluate` ( |
| | | `id` bigint NOT NULL, |
| | | `user_id` int NOT NULL COMMENT '用户id', |
| | | `user_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户手机号', |
| | | `order_id` bigint NULL DEFAULT NULL COMMENT '订单id', |
| | | `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '评价内容', |
| | | `worker_id` int NULL DEFAULT NULL COMMENT '评价师傅id', |
| | | `star_rating` double(2, 1) NULL DEFAULT NULL COMMENT '评价星级', |
| | | `serve_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务单号', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户评价表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_order |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_order`; |
| | | CREATE TABLE `t_order` ( |
| | | `id` bigint NOT NULL, |
| | | `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '下单城市', |
| | | `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单编号', |
| | | `site_id` int NULL DEFAULT NULL COMMENT '站点id', |
| | | `site_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '站点名称', |
| | | `serve_id` int NOT NULL COMMENT '回收服务id', |
| | | `serve_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '回收服务名称', |
| | | `serve_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '回收服务的回收价', |
| | | `user_id` int NULL DEFAULT NULL COMMENT '下单用户id', |
| | | `reservation_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约姓名', |
| | | `reservation_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约手机号', |
| | | `reservation_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约地址', |
| | | `time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '预约上门时间段', |
| | | `server_id` int NULL DEFAULT NULL COMMENT '服务人员id', |
| | | `server_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务人员名称', |
| | | `server_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '服务人员手机号', |
| | | `reservation_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '预约备注(服务备注)', |
| | | `order_money` decimal(10, 6) NULL DEFAULT NULL COMMENT '订单成交价(服务回收价 + 津贴)', |
| | | `state` int NULL DEFAULT NULL COMMENT '订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派,6:待改派)', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `accept_time` datetime NULL DEFAULT NULL COMMENT '接单时间(师傅接单或后台派单,更新该字段时间)', |
| | | `type` int NULL DEFAULT NULL COMMENT '订单类型(0:正常订单,1:后台订单(后台订单与用户端、师傅端无联系))', |
| | | `longitude` double NULL DEFAULT NULL COMMENT '下单用户经度', |
| | | `latitude` double NULL DEFAULT NULL COMMENT '下单用户纬度', |
| | | `arrive_time` datetime NULL DEFAULT NULL COMMENT '师傅到达预约地点时间', |
| | | `complete_time` datetime NULL DEFAULT NULL COMMENT '订单完成时间', |
| | | `is_withdrawal` int NULL DEFAULT NULL COMMENT '是否已提现(0:未提现,1:已提现)', |
| | | `subsidy` decimal(10, 6) NULL DEFAULT NULL COMMENT '补贴金额', |
| | | `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '详细地址', |
| | | `top_sort` int NULL DEFAULT NULL COMMENT '置顶顺序', |
| | | `cancel_reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单取消原因', |
| | | `is_evaluate` int NULL DEFAULT NULL COMMENT '是否评价(0:未评价,1:已评价)', |
| | | `is_reinvest` int NULL DEFAULT NULL COMMENT '是否为再投单 1:再投', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '订单管理' ROW_FORMAT = DYNAMIC; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_withdraw |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `t_withdraw`; |
| | | CREATE TABLE `t_withdraw` ( |
| | | `id` bigint NOT NULL, |
| | | `user_id` int NOT NULL COMMENT '用户id', |
| | | `user_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户编号', |
| | | `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户昵称', |
| | | `user_phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户手机号', |
| | | `apply_for_time` datetime NOT NULL COMMENT '申请时间', |
| | | `apply_for_money` decimal(10, 2) NULL DEFAULT NULL COMMENT '申请金额', |
| | | `state` int NULL DEFAULT NULL COMMENT '申请状态 0待审核;1已通过;2已驳回', |
| | | `opinion` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审批意见', |
| | | `createBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `updateBy` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `order_id` bigint NULL DEFAULT NULL COMMENT '订单id', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | SET FOREIGN_KEY_CHECKS = 1; |