1 文件已重命名
67个文件已修改
8个文件已删除
5个文件已添加
| | |
| | | @TableField("user_name") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty("城市编码") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | @ApiModel(value = "Order对象", description = "订单管理") |
| | | public class Order extends BaseEntity { |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private String id; |
| | | |
| | | @ApiModelProperty("下单城市") |
| | |
| | | @TableField("top_sort") |
| | | private Integer topSort; |
| | | |
| | | @ApiModelProperty("是否评价(0:未评价,1:已评价)") |
| | | @TableField("is_evaluate") |
| | | private Integer isEvaluate; |
| | | |
| | | @ApiModelProperty("城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("回收服务封面图") |
| | | @TableField(exist = false) |
| | | private String cover; |
| | |
| | | @ApiModel(value = "OrderCountVO对象", description = "订单统计返回类") |
| | | public class OrderCountVO { |
| | | |
| | | @ApiModelProperty("订单中师傅名称") |
| | | private String workerName; |
| | | |
| | | @ApiModelProperty("师傅id") |
| | | private Integer workerId; |
| | | |
| | |
| | | @ApiModelProperty("下单城市") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("城市编码") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("订单编号") |
| | | private String orderNumber; |
| | | |
| | |
| | | @ApiModel(value = "OrderRequest对象", description = "用户下单请求参数对象") |
| | | public class UserOrderRequest { |
| | | |
| | | @ApiModelProperty("下单城市") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("订单编号") |
| | | private String orderNumber; |
| | | |
| | |
| | | @TableField("order_id") |
| | | private String orderId; |
| | | |
| | | @ApiModelProperty("城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R<Boolean> orderByUserId(Integer userId) { |
| | | return R.fail(cause.getMessage()); |
| | | } |
| | | |
| | | @Override |
| | | public R<Boolean> supplementAllowance(String orderId, String prizeName) { |
| | | return R.fail(cause.getMessage()); |
| | | } |
| | |
| | | R<Boolean> placeOrder(@RequestBody UserOrderRequest userOrderRequest); |
| | | |
| | | /** |
| | | * 判断用户是否下单 |
| | | * |
| | | * @param userId 用户id |
| | | */ |
| | | @GetMapping(value = "/order/orderByUserId") |
| | | R<Boolean> orderByUserId(@RequestParam("userId") Integer userId); |
| | | |
| | | /** |
| | | * 站点详情 |
| | | * |
| | | * @param orderId 订单id |
| | |
| | | |
| | | private Integer pageSize; |
| | | |
| | | private List<Integer> userIdList; |
| | | |
| | | } |
| | |
| | | |
| | | /** |
| | | * 加盟商所管辖城市 |
| | | * 城市code列表 |
| | | */ |
| | | private List<String> cityList; |
| | | |
| | |
| | | public static final String EXCEL_ORDER_FILE_NAME = "订单记录"; |
| | | |
| | | /** |
| | | * 文件上传常量后缀 |
| | | */ |
| | | public static final String APK = "apk"; |
| | | |
| | | /** |
| | | * 用户编号生成前缀 |
| | | */ |
| | | public static final String USER_NO_PRE = "用户%s"; |
| | |
| | | public static final String DEFAULT_USER_NUMBER_PRE = "用户"; |
| | | |
| | | /** |
| | | * 师傅端默认用户ID前缀 |
| | | */ |
| | | public static final String SUBSIDY_MONEY = "¥"; |
| | | |
| | | /** |
| | | * 师傅端默认用户ID前缀 |
| | | */ |
| | | public static final String PROVINCE = "省"; |
| | | |
| | | /** |
| | | * 师傅端默认用户ID前缀 |
| | | */ |
| | | public static final String MARKET = "市"; |
| | | |
| | | /** |
| | | * 师傅端默认密码 |
| | | */ |
| | | public static final String DEFAULT_PASSWORD = "123456"; |
| | |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.enums.GaoDeEnum; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | | import com.ruoyi.common.core.vo.GaoDeMap; |
| | | import com.ruoyi.common.core.vo.Path; |
| | | import com.ruoyi.common.core.vo.PolylineData; |
| | | import com.ruoyi.common.core.vo.Steps; |
| | | import com.ruoyi.common.core.vo.*; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.IOException; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 功能描述: 根据地址获取城市code |
| | | * |
| | | * @param address d地址 |
| | | * @return 两个定位点之间的距离 |
| | | */ |
| | | public static Result<CityInfoVO> getAddressInfo(String address) { |
| | | // 返回起始地startAddr与目的地endAddr之间的距离,单位:米 |
| | | String queryUrl = "https://restapi.amap.com/v3/geocode/geo?address=" + address |
| | | + "&key=" + GAO_DE_KEY; |
| | | String queryResult = getResponse(queryUrl); |
| | | GaoDeAddressInfoVO data = JSONObject.parseObject(queryResult, GaoDeAddressInfoVO.class); |
| | | List<Geocodes> geocodes = data.getGeocodes(); |
| | | Geocodes info = geocodes.get(0); |
| | | String adcode = info.getAdcode(); |
| | | String city = info.getCity(); |
| | | return Result.succeed(new CityInfoVO(city, adcode), "距离计算成功!"); |
| | | } |
| | | |
| | | /** |
| | | * 功能描述: 发送请求 |
| | | * |
| | | * @param serverUrl 请求地址 |
New file |
| | |
| | | package com.ruoyi.common.core.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author HJL |
| | | * @version 1.0 |
| | | * @since 2024-07-25 14:31 |
| | | */ |
| | | @Data |
| | | public class CityInfoVO { |
| | | |
| | | private String city; |
| | | |
| | | private String code; |
| | | |
| | | public CityInfoVO() { |
| | | } |
| | | |
| | | public CityInfoVO(String city, String code) { |
| | | this.city = city; |
| | | this.code = code; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author HJL |
| | | */ |
| | | @Data |
| | | public class GaoDeAddressInfoVO { |
| | | |
| | | private String status; |
| | | |
| | | private String info; |
| | | |
| | | private String infocode; |
| | | |
| | | private String count; |
| | | |
| | | private List<Geocodes> geocodes; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author HJL |
| | | * @version 1.0 |
| | | * @since 2024-07-25 14:25 |
| | | */ |
| | | @Data |
| | | public class Geocodes { |
| | | |
| | | private String formatted_address; |
| | | |
| | | private String country; |
| | | |
| | | private String province; |
| | | |
| | | private String citycode; |
| | | |
| | | private String city; |
| | | |
| | | private String district; |
| | | |
| | | private String adcode; |
| | | |
| | | } |
| | |
| | | */ |
| | | @ExceptionHandler(GlobalException.class) |
| | | public R<String> handleDemoModeException(GlobalException g) { |
| | | return R.fail(null, g.getCode(), g.getMessage()); |
| | | return R.fail(null, g.getCode() == null ? 500 : g.getCode(), g.getMessage()); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.admin.entity.User; |
| | | 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.annotation.Logical; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private EvaluateClient evaluateClient; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | @Resource |
| | | private UserService userService; |
| | | |
| | | /** |
| | | * 订单评价分页列表 |
| | |
| | | if (loginUser.getIsFranchisee()) { |
| | | cityList = loginUser.getCityList(); |
| | | } |
| | | List<User> userList; |
| | | if (StringUtils.isNotBlank(userNo)) { |
| | | userList = userService.lambdaQuery().like(User::getNickname, userNo).list(); |
| | | } else { |
| | | userList = new ArrayList<>(); |
| | | } |
| | | List<Integer> userIdList = userList.stream().map(User::getId).collect(Collectors.toList()); |
| | | EvaluatePageRequest evaluatePageRequest = new EvaluatePageRequest(); |
| | | evaluatePageRequest.setUserNo(userNo); |
| | | evaluatePageRequest.setOrderNumber(orderNumber); |
| | |
| | | evaluatePageRequest.setCityList(cityList); |
| | | evaluatePageRequest.setPageNum(pageNum); |
| | | evaluatePageRequest.setPageSize(pageSize); |
| | | return evaluateClient.queryPageList(evaluatePageRequest); |
| | | evaluatePageRequest.setUserIdList(userIdList); |
| | | R<Page<EvaluatePageVO>> r = evaluateClient.queryPageList(evaluatePageRequest); |
| | | for (EvaluatePageVO record : r.getData().getRecords()) { |
| | | Integer userId = record.getUserId(); |
| | | User user = userService.getById(userId); |
| | | if (null != user) { |
| | | record.setUserNo(user.getNickname()); |
| | | } |
| | | } |
| | | return r; |
| | | } |
| | | |
| | | /** |
| | |
| | | import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.admin.entity.Franchisee; |
| | | import com.ruoyi.admin.entity.Region; |
| | | import com.ruoyi.admin.entity.SysUser; |
| | | import com.ruoyi.admin.entity.UserRole; |
| | | import com.ruoyi.admin.service.FranchiseeService; |
| | | import com.ruoyi.admin.service.RegionService; |
| | | import com.ruoyi.admin.service.SysUserService; |
| | | import com.ruoyi.admin.service.UserRoleService; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | |
| | | private SysUserService sysUserService; |
| | | @Resource |
| | | private UserRoleService userRoleService; |
| | | @Resource |
| | | private RegionService regionService; |
| | | |
| | | /** |
| | | * 加盟商信息分页列表 |
| | |
| | | public R<List<String>> cityDetail(@RequestParam("id") Integer id) { |
| | | Franchisee franchisee = franchiseeService.lambdaQuery() |
| | | .eq(Franchisee::getId, id).eq(Franchisee::getIsDelete, 0).one(); |
| | | return R.ok(Arrays.stream(franchisee.getCity().split(",")).collect(Collectors.toList())); |
| | | return R.ok(Arrays.stream(franchisee.getCityCode().split(",")).collect(Collectors.toList())); |
| | | } |
| | | |
| | | /** |
| | |
| | | throw new GlobalException("请输入管理员初始密码!"); |
| | | } |
| | | String md5Password = checkFranchisee(franchisee); |
| | | String cityCode = franchisee.getCityCode(); |
| | | List<String> list = Arrays.stream(cityCode.split(",")).collect(Collectors.toList()); |
| | | StringBuilder str = new StringBuilder(); |
| | | for (String code : list) { |
| | | Region region = regionService.lambdaQuery() |
| | | .eq(Region::getCode, code).one(); |
| | | if (null != region) { |
| | | str.append(region.getName()).append(","); |
| | | } |
| | | } |
| | | String city = str.substring(Constants.ZERO, str.length() - 1); |
| | | franchisee.setCity(city); |
| | | boolean save = franchiseeService.save(franchisee); |
| | | // 生成sysUser账号 |
| | | SysUser sysUser = new SysUser(); |
| | |
| | | .eq(SysUser::getIsDelete, Constants.ZERO) |
| | | .eq(SysUser::getFranchiseeId, null).one(); |
| | | if (null != only || null != user) { |
| | | throw new GlobalException("该账号已存在!"); |
| | | throw new GlobalException("该账号已存在!", 500); |
| | | } |
| | | // String city = franchisee.getCity(); |
| | | // List<String> cityList = Arrays.stream(city.split(",")).collect(Collectors.toList()); |
| | |
| | | package com.ruoyi.admin.controller; |
| | | |
| | | import com.ruoyi.admin.netty.NettyChannelMap; |
| | | import com.ruoyi.admin.netty.NettyWebSocketController; |
| | | import com.ruoyi.admin.request.UserDataCountRequest; |
| | | import com.ruoyi.admin.service.MasterWorkerService; |
| | | import com.ruoyi.admin.service.UserService; |
| | |
| | | import com.ruoyi.order.api.entity.OrderResultVO; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.netty.channel.ChannelHandlerContext; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | |
| | | private OrderClient orderClient; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * netty测试 |
| | | * |
| | | * @param workerId 请求参数 |
| | | */ |
| | | @ApiOperation(value = "netty测试", tags = {"后台-首页"}) |
| | | @GetMapping(value = "/nettySend") |
| | | public R<?> nettySend(@RequestParam Integer workerId) { |
| | | ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(workerId)); |
| | | if (null != context) { |
| | | NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 用户数据统计 |
| | |
| | | // 最后一跳城市不匹配or条件 |
| | | String s = cityList.get(i); |
| | | if (cityList.size() - 1 == i) { |
| | | wrapper.like(MasterWorker::getCity, s); |
| | | wrapper.like(MasterWorker::getCityCode, s); |
| | | } else { |
| | | wrapper.like(MasterWorker::getCity, s).or(); |
| | | wrapper.like(MasterWorker::getCityCode, s).or(); |
| | | } |
| | | } |
| | | return R.ok(wrapper.eq(MasterWorker::getIsDelete, Constants.ZERO) |
| | |
| | | import com.ruoyi.admin.vo.OrderDetailVO; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.utils.GaoDeMapUtil; |
| | | import com.ruoyi.common.core.utils.SnowflakeIdWorker; |
| | | import com.ruoyi.common.core.vo.CityInfoVO; |
| | | import com.ruoyi.common.security.annotation.Logical; |
| | | import com.ruoyi.common.security.annotation.RequiresPermissions; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | if (loginUser.getIsFranchisee()) { |
| | | if (null == orderQueryRequest.getCityList() || orderQueryRequest.getCityList().isEmpty()) { |
| | | orderQueryRequest.setCityList(loginUser.getCityList()); |
| | | } else { |
| | | orderQueryRequest.getCityList().addAll(loginUser.getCityList()); |
| | | } |
| | | } |
| | | Page<Order> data = orderClient.queryPage(orderQueryRequest).getData(); |
| | | if (null != data) { |
| | |
| | | record.setServerName(masterWorker.getRealName()); |
| | | record.setServerPhone(masterWorker.getPhone()); |
| | | } |
| | | record.setReservationAddress(record.getReservationAddress() + record.getAddress()); |
| | | } |
| | | } |
| | | return R.ok(data); |
| | |
| | | @ApiOperation(value = "订单列表-各订单数量统计", tags = {"后台-订单管理"}) |
| | | @PostMapping(value = "/orderPageCount") |
| | | public R<OrderPageCountVO> orderPageCount(@RequestBody OrderQueryRequest orderQueryRequest) { |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | if (loginUser.getIsFranchisee()) { |
| | | if (null == orderQueryRequest.getCityList() || orderQueryRequest.getCityList().isEmpty()) { |
| | | orderQueryRequest.setCityList(loginUser.getCityList()); |
| | | } else { |
| | | orderQueryRequest.getCityList().addAll(loginUser.getCityList()); |
| | | } |
| | | } |
| | | return R.ok(orderClient.orderPageCount(orderQueryRequest).getData()); |
| | | } |
| | | |
| | |
| | | price.setRecoveryServeId(serve.getId()); |
| | | price.setRecoveryPrice(recoveryPrice); |
| | | price.setCity(city); |
| | | price.setCityCode(data.getCityCode()); |
| | | save = save && recoveryServePriceService.save(price); |
| | | } |
| | | } |
| | |
| | | price.setRecoveryServeId(serve.getId()); |
| | | price.setRecoveryPrice(recoveryPrice); |
| | | price.setCity(city); |
| | | price.setCityCode(data.getCityCode()); |
| | | update = update && recoveryServePriceService.save(price); |
| | | } |
| | | } |
| | |
| | | List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList()); |
| | | List<RecoveryServe> list = recoveryServeService.lambdaQuery().in(RecoveryServe::getId, idList).list(); |
| | | list.forEach(data -> data.setIsDelete(1)); |
| | | recoveryServePriceService.lambdaUpdate() |
| | | .set(RecoveryServePrice::getIsDelete, Constants.ONE) |
| | | .in(RecoveryServePrice::getRecoveryServeId, idList).update(); |
| | | return recoveryServeService.updateBatchById(list) ? R.ok() : R.fail(); |
| | | } |
| | | |
| | |
| | | import com.ruoyi.admin.entity.Region; |
| | | import com.ruoyi.admin.service.RegionService; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Resource |
| | | private RegionService regionService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | |
| | | /** |
| | | * 收货地址省市二级联动 |
| | |
| | | @GetMapping("/addressTree") |
| | | @ApiOperation(value = "选择城市:省市二级联动", tags = {"后台-首页"}) |
| | | public R<List<Region>> addressTree() { |
| | | return R.ok(regionService.addressTree()); |
| | | LoginUser loginUser = tokenService.getLoginUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | List<String> cityCodeList; |
| | | if (loginUser.getIsFranchisee()) { |
| | | cityCodeList = loginUser.getCityList(); |
| | | } else { |
| | | cityCodeList = new ArrayList<>(); |
| | | } |
| | | return R.ok(regionService.addressTree(cityCodeList)); |
| | | } |
| | | |
| | | } |
| | |
| | | // 最后一跳城市不匹配or条件 |
| | | String s = cityList.get(i); |
| | | if (cityList.size() - 1 == i) { |
| | | wrapper.like(WorkerProcess::getCity, s); |
| | | wrapper.like(WorkerProcess::getCityCode, s); |
| | | } else { |
| | | wrapper.like(WorkerProcess::getCity, s).or(); |
| | | wrapper.like(WorkerProcess::getCityCode, s).or(); |
| | | } |
| | | } |
| | | return R.ok(wrapper.eq(WorkerProcess::getIsDelete, 0) |
| | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * <p> |
| | | * 协议政策、司机操作指导 |
| | |
| | | |
| | | @ApiModelProperty("内容") |
| | | @TableField("content") |
| | | @NotBlank |
| | | private String content; |
| | | |
| | | @ApiModelProperty("0注册协议;1:隐私政策;2:司机操作指导") |
| | |
| | | |
| | | @ApiModelProperty("管辖城市( ',' 隔开)") |
| | | @TableField("city") |
| | | @NotBlank(message = "请选择:管辖城市") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("身份证正反面照片 ,隔开") |
| | |
| | | @TableField("city_str") |
| | | private String cityStr; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | @NotBlank(message = "请选择:管辖城市") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | @TableField("city_str") |
| | | private String cityStr; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | @TableField("city") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | @TableField("city_str") |
| | | private String cityStr; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | * @return 注册用户数量 |
| | | */ |
| | | Long increaseNumberByMonth(@Param("cityList") List<String> cityList); |
| | | |
| | | } |
| | |
| | | @ApiModelProperty("对应城市") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | /** |
| | | * 收货地址省市区二级联动 |
| | | * |
| | | * @param cityCodeList 城市编码列表 |
| | | * @return 无限级树 |
| | | */ |
| | | List<Region> addressTree(); |
| | | List<Region> addressTree(List<String> cityCodeList); |
| | | } |
| | |
| | | if (null == cityList || cityList.isEmpty()) { |
| | | masterWorkerList = lambdaQuery().eq(MasterWorker::getIsDelete, 0).list(); |
| | | } else { |
| | | masterWorkerList = lambdaQuery().in(MasterWorker::getCity, cityList) |
| | | masterWorkerList = lambdaQuery().in(MasterWorker::getCityCode, cityList) |
| | | .eq(MasterWorker::getIsDelete, 0).list(); |
| | | } |
| | | if (null == masterWorkerList || masterWorkerList.isEmpty()) { |
| | |
| | | } |
| | | orderByUserInfo.setReservationName(order.getReservationName()); |
| | | orderByUserInfo.setReservationPhone(order.getReservationPhone()); |
| | | orderByUserInfo.setReservationAddress(order.getReservationAddress()); |
| | | orderByUserInfo.setReservationAddress(order.getReservationAddress() + order.getAddress()); |
| | | orderByUserInfo.setTime(order.getTime()); |
| | | result.setUserInfo(orderByUserInfo); |
| | | } |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | |
| | | private RedisTemplate<Object, Object> redisTemplate; |
| | | |
| | | @Override |
| | | public List<Region> addressTree() { |
| | | // redis缓存 |
| | | Map<Object, Object> regionList = redisTemplate.opsForHash().entries(RedisConstants.ADDRESS_TREE); |
| | | public List<Region> addressTree(List<String> cityCodeList) { |
| | | // 获取所有地区信息 省市区三级 |
| | | List<Region> regions = getReginList(regionList); |
| | | List<Region> regions = getReginList(cityCodeList); |
| | | // 所有地区 |
| | | Map<String, Region> courseTypeMap = regions.stream(). |
| | | collect(Collectors.toMap(region -> region.getId().toString() |
| | |
| | | /** |
| | | * 获取redis数据进行封装 |
| | | */ |
| | | private List<Region> getReginList(Map<Object, Object> regionMap) { |
| | | List<Region> regions = new ArrayList<>(); |
| | | if (!regionMap.isEmpty()) { |
| | | Collection<Object> values = regionMap.values(); |
| | | for (Object value : values) { |
| | | regions.add((Region) value); |
| | | } |
| | | } else { |
| | | private List<Region> getReginList(List<String> cityCodeList) { |
| | | List<Region> regions; |
| | | if (cityCodeList.isEmpty()) { |
| | | regions = this.list(); |
| | | } else { |
| | | regions = this.lambdaQuery() |
| | | .in(Region::getCode, cityCodeList).list(); |
| | | } |
| | | return regions; |
| | | } |
| | |
| | | import com.ruoyi.admin.vo.UserDataCountVO; |
| | | import com.ruoyi.admin.vo.UserTrendsVO; |
| | | import com.ruoyi.common.core.constant.OrderConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.order.api.entity.MoneyQueryRequest; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.order.api.feignClient.WithdrawClient; |
| | |
| | | public UserDataCountVO userDataCount(UserDataCountRequest userDataCountRequest) { |
| | | List<String> cityList = userDataCountRequest.getCityList(); |
| | | String type = userDataCountRequest.getCountType(); |
| | | List<User> userList = lambdaQuery().eq(User::getIsDelete, 0).list(); |
| | | LambdaQueryChainWrapper<User> userWrapper = lambdaQuery().eq(User::getIsDelete, 0); |
| | | if (null != cityList && !cityList.isEmpty()) { |
| | | userWrapper.in(User::getCityCode, cityList); |
| | | } |
| | | List<User> userList = userWrapper.list(); |
| | | // 判断用户是否在管辖城市内下过订单 |
| | | for (User user : userList) { |
| | | Integer userId = user.getId(); |
| | | R<Boolean> r = orderClient.orderByUserId(userId); |
| | | if (!r.getData()) { |
| | | userList.remove(user); |
| | | } |
| | | } |
| | | Integer userNumber = userList.size(); |
| | | // 用户总量 |
| | | Integer userNumber = null == userList ? 0 : userList.size(); |
| | | // 计算当前季度时间所包含时间 |
| | | int currentYear = Year.now().getValue(); |
| | | // 获取当前月份 |
| | |
| | | // 用户增长数 |
| | | LambdaQueryChainWrapper<User> wrapper = lambdaQuery().ge(User::getCreateTime, startDateStr) |
| | | .le(User::getCreateTime, endDateStr); |
| | | if (!cityList.isEmpty()) { |
| | | wrapper.in(User::getCity, cityList); |
| | | if (null != cityList && !cityList.isEmpty()) { |
| | | wrapper.in(User::getCityCode, cityList); |
| | | } |
| | | increaseNumber = wrapper.eq(User::getIsDelete, 0).count(); |
| | | } else if (OrderConstants.YEAR.equals(type)) { |
| | |
| | | FROM t_user |
| | | <where> |
| | | <if test="city != null and city.size() != 0"> |
| | | city in |
| | | city_code in |
| | | <foreach collection="city" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | |
| | | WHERE YEAR(createTime) = YEAR(NOW()) |
| | | and is_delete = 0 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | |
| | | WHERE MONTH(createTime) = MONTH(NOW()) |
| | | AND YEAR(createTime) = YEAR(NOW()) |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | } catch (Exception e) { |
| | | bigDecimal = BigDecimal.ZERO; |
| | | } |
| | | return R.ok(orderService.lambdaUpdate() |
| | | .eq(Order::getId, orderId).set(Order::getSubsidy, bigDecimal).update()); |
| | | Order order = orderService.lambdaQuery() |
| | | .eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); |
| | | BigDecimal subsidy = order.getSubsidy(); |
| | | if (null == subsidy) { |
| | | order.setSubsidy(bigDecimal); |
| | | } else { |
| | | BigDecimal add = order.getSubsidy().add(bigDecimal); |
| | | order.setSubsidy(add); |
| | | } |
| | | return R.ok(orderService.updateById(order)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true) |
| | | }) |
| | | public R<Page<OrderCountVO>> orderCount(@RequestBody OrderCountDataRequest request) { |
| | | return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), |
| | | return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), request.getCityList(), |
| | | Page.of(request.getPageNum(), request.getPageSize()))); |
| | | } |
| | | |
| | | /** |
| | | * 判断用户是否下单 |
| | | * |
| | | * @param userId 用户id |
| | | */ |
| | | @GetMapping(value = "/orderByUserId") |
| | | public R<Boolean> orderByUserId(@RequestParam("userId") Integer userId) { |
| | | List<Order> list = orderService.lambdaQuery() |
| | | .eq(Order::getUserId, userId) |
| | | .eq(Order::getIsDelete, Constants.ZERO).list(); |
| | | return R.ok(!list.isEmpty()); |
| | | } |
| | | |
| | | /** |
| | |
| | | public R<OrderDetailVO> orderDetail(@RequestParam("orderId") String orderId) { |
| | | // 订单信息 |
| | | Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); |
| | | order.setReservationAddress(order.getReservationAddress() + order.getAddress()); |
| | | // 服务信息(服务备注、上门时间、完成时间、完成所拍现场照片) |
| | | ServeRecord serveRecord = serveRecordService.lambdaQuery().eq(ServeRecord::getOrderId, orderId) |
| | | .eq(ServeRecord::getIsDelete, 0).one(); |
| | |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LambdaQueryChainWrapper<Order> wrapper = orderService.lambdaQuery() |
| | | .eq(Order::getIsDelete, 0).eq(Order::getUserId, userId); |
| | | if (state != -1) { |
| | | if (state == 1 || state == 2) { |
| | | wrapper.in(Order::getState, Constants.ONE, Constants.TWO); |
| | | } else if (state != -1) { |
| | | wrapper.eq(Order::getState, state); |
| | | } |
| | | return R.ok(wrapper.orderByDesc(Order::getCreateTime).page(Page.of(pageNum, pageSize))); |
| | |
| | | @TableField("user_name") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty("城市编码") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | |
| | | } |
| | |
| | | @TableField("top_sort") |
| | | private Integer topSort; |
| | | |
| | | @ApiModelProperty("城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("是否评价(0:未评价,1:已评价)") |
| | | @TableField("is_evaluate") |
| | | private Integer isEvaluate; |
| | |
| | | @TableField("order_id") |
| | | private String orderId; |
| | | |
| | | @ApiModelProperty("城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | * |
| | | * @param name 师傅姓名 |
| | | * @param phone 师傅电话 |
| | | * @param cityList 城市列表 |
| | | * @param page 分页 |
| | | * @return 分页统计 |
| | | */ |
| | | Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone, Page<OrderCountVO> page); |
| | | Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone, |
| | | @Param("cityList") List<String> cityList, Page<OrderCountVO> page); |
| | | |
| | | /** |
| | | * 订单列表 |
| | |
| | | |
| | | private Integer pageSize; |
| | | |
| | | private List<Integer> userIdList; |
| | | |
| | | } |
| | |
| | | * |
| | | * @param name 师傅姓名 |
| | | * @param phone 师傅电话 |
| | | * @param cityList 城市列表 |
| | | * @param page 分页 |
| | | * @return 分页统计 |
| | | */ |
| | | Page<OrderCountVO> orderCount(String name, String phone, Page<OrderCountVO> page); |
| | | Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page); |
| | | |
| | | /** |
| | | * 订单管理分页模块,订单数量统计 |
| | |
| | | |
| | | |
| | | @Override |
| | | public Page<OrderCountVO> orderCount(String name, String phone, Page<OrderCountVO> page) { |
| | | return baseMapper.orderCount(name, phone, page); |
| | | public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page) { |
| | | return baseMapper.orderCount(name, phone, cityList, page); |
| | | } |
| | | |
| | | @Override |
| | |
| | | order.setServeName(serveName); |
| | | order.setServePrice(defaultPrice); |
| | | order.setUserId(userId); |
| | | order.setIsEvaluate(Constants.ZERO); |
| | | order.setReservationName(reservationName); |
| | | order.setReservationPhone(reservationPhone); |
| | | if (null == userOrderRequest.getAddressId()) { |
| | |
| | | withdraw.setApplyForTime(new Date()); |
| | | withdraw.setApplyForMoney(order.getOrderMoney()); |
| | | withdraw.setOrderId(orderId); |
| | | withdraw.setCityCode(order.getCityCode()); |
| | | return this.save(withdraw); |
| | | } |
| | | |
| | |
| | | @ApiModelProperty("回收服务id") |
| | | private Integer serveId; |
| | | |
| | | @ApiModelProperty("是否评价(0:未评价;1:已评价)") |
| | | private Integer isEvaluate; |
| | | |
| | | } |
| | |
| | | @ApiModel(value = "OrderCountVO对象", description = "订单统计返回类") |
| | | public class OrderCountVO { |
| | | |
| | | @ApiModelProperty("订单中师傅名称") |
| | | private String workerName; |
| | | |
| | | @ApiModelProperty("师傅id") |
| | | private Integer workerId; |
| | | |
| | |
| | | and c.user_name like concat('%', #{data.userName}, '%') |
| | | </if> |
| | | <if test="data.cityList != null and data.cityList.size() != 0"> |
| | | and o.city in |
| | | and o.city_code in |
| | | <foreach collection="data.cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | |
| | | <resultMap id="evaluatePageVO" type="com.ruoyi.order.vo.EvaluatePageVO"> |
| | | <result column="id" property="id"/> |
| | | <result column="user_id" property="userId"/> |
| | | <result column="userNo" property="userNo"/> |
| | | <result column="user_phone" property="userPhone"/> |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | |
| | | e.serve_no, |
| | | e.star_rating, |
| | | e.is_delete, |
| | | o.reservation_name as userNo, |
| | | o.order_number, |
| | | o.server_name as workerName, |
| | | o.server_phone as workerPhone |
| | |
| | | <where> |
| | | e.is_delete = 0 |
| | | and o.is_delete = 0 |
| | | <if test="data.userNo != null and data.userNo != ''"> |
| | | and o.reservation_name like concat('%', #{data.userNo}, '%') |
| | | <if test="data.cityList != null and data.cityList.size() != 0"> |
| | | and o.user_id in |
| | | <foreach collection="data.userIdList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if> |
| | | <if test="data.orderNumber != null and data.orderNumber != ''"> |
| | | and o.order_number like concat('%', #{data.orderNumber}, '%') |
| | |
| | | and o.server_name like concat('%', #{data.workerName}, '%') |
| | | </if> |
| | | <if test="data.cityList != null and data.cityList.size() != 0"> |
| | | and o.city in |
| | | and o.city_code in |
| | | <foreach collection="data.cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | |
| | | <result column="server_name" property="serverName"/> |
| | | <result column="server_phone" property="serverPhone"/> |
| | | <result column="serve_id" property="serveId"/> |
| | | <result column="is_evaluate" property="isEvaluate"/> |
| | | </association> |
| | | <association property="evaluateInfo" javaType="com.ruoyi.order.vo.EvaluateInfoVO"> |
| | | <result column="content" property="content"/> |
| | |
| | | o.complete_time, |
| | | o.server_name, |
| | | o.server_phone, |
| | | o.is_evaluate, |
| | | e.content, |
| | | e.star_rating, |
| | | e.createTime, |
| | |
| | | FROM t_order o |
| | | LEFT JOIN t_evaluate e on o.id = e.order_id |
| | | <where> |
| | | o.user_id = #{userId} |
| | | o.user_id = #{userId} and e.user_id = #{userId} |
| | | <!--订单评价列表只展示已完成订单--> |
| | | and o.state = 3 |
| | | and o.is_delete = 0 and e.is_delete = 0 |
| | | <if test="state != -1"> |
| | | and o.is_evaluate = #{state} |
| | | </if> |
| | |
| | | |
| | | |
| | | <select id="orderCountByYear" resultType="com.ruoyi.order.vo.OrderQueryVO"> |
| | | SELECT DATE_FORMAT(createTime, '%Y-%m') AS dateTime, COUNT(*) AS number, sum(IFNULL(serve_price, 0)) 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 |
| | | and YEAR(createTime) = YEAR(NOW()) |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByWeek" 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 |
| | | 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'), 1) = YEARWEEK(NOW(), 1) |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByMonth" 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 |
| | | 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 MONTH(createTime) = MONTH(NOW()) |
| | | AND YEAR(createTime) = YEAR(NOW()) |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | </select> |
| | | |
| | | <select id="orderCountByToday" 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 |
| | | 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 DATE(createTime) = CURDATE() |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | is_delete = 0 |
| | | and state = 4 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | and is_delete = 0 |
| | | and state = 4 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | and is_delete = 0 |
| | | and state = 4 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | FROM t_order o |
| | | WHERE o.is_delete = 0 |
| | | and o.server_id is not null |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and o.city in |
| | | <foreach collection="cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | | </if> |
| | | <if test="phone != null and phone != ''"> |
| | | and o.server_phone like concat('%', #{phone}, '%') |
| | | </if> |
| | |
| | | from t_order o |
| | | <where> |
| | | o.is_delete = 0 |
| | | <if test="data.cityList != null and data.cityList.size() != 0"> |
| | | and o.city in |
| | | <foreach collection="data.cityList" item="city" open="(" separator="," close=")"> |
| | | #{city} |
| | | </foreach> |
| | | </if> |
| | | <if test="data.orderNumber != null and data.orderNumber != ''"> |
| | | and o.order_number like concat('%', #{data.orderNumber}, '%') |
| | | </if> |
| | |
| | | </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 |
| | | 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 |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | <where> |
| | | is_delete = 0 |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city in |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | </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 |
| | | 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 |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | <if test="end != null and end != ''"> |
| | | and w.createTime <![CDATA[ <= ]]> #{end} |
| | | </if> |
| | | <!--<if test="cityList != null and cityList.size() != 0"> |
| | | and u.city in |
| | | <if test="cityList != null and cityList.size() != 0"> |
| | | and city_code in |
| | | <foreach collection="cityList" item="id" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </if>--> |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | |
| | | Page<OrderEvaluateVO> list = evaluateClient.evaluateListByUser(loginUser.getUserid(), state, pageNum, pageSize).getData(); |
| | | if (null != list) { |
| | | // 数据封装,减少循环io |
| | | List<Integer> ids = list.getRecords().stream().map(OrderEvaluateVO::getServeId).collect(Collectors.toList()); |
| | | List<Integer> ids = list.getRecords().stream().map(data -> data.getOrderInfo().getServeId()).collect(Collectors.toList()); |
| | | if (!ids.isEmpty()) { |
| | | List<RecoveryServe> serveList = recoveryServeService.lambdaQuery() |
| | | .in(RecoveryServe::getId, ids) |
| | |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | | import com.ruoyi.common.core.utils.GaoDeMapUtil; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.vo.CityInfoVO; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.order.api.entity.Order; |
| | | import com.ruoyi.order.api.entity.ServeRecord; |
| | |
| | | @ApiOperation(value = "在线评估", tags = {"用户端-订单"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "回收服务id", name = "orderId", dataType = "Integer", required = true), |
| | | @ApiImplicitParam(value = "所在城市", name = "city", dataType = "String") |
| | | @ApiImplicitParam(value = "所在城市code", name = "city", dataType = "String") |
| | | }) |
| | | public R<BigDecimal> estimate(@RequestParam String orderId, String city) { |
| | | Order order = orderClient.detail(orderId).getData(); |
| | |
| | | .eq(RecoveryServe::getIsDelete, 0).one(); |
| | | BigDecimal money = recoveryServe.getDefaultPrice(); |
| | | if (StringUtils.isNotBlank(city)) { |
| | | CityInfoVO info = GaoDeMapUtil.getAddressInfo(city).getDatas(); |
| | | RecoveryServePrice price = recoveryServePriceService.lambdaQuery() |
| | | .eq(RecoveryServePrice::getRecoveryServeId, recoveryServe.getId()) |
| | | .eq(RecoveryServePrice::getCity, city).one(); |
| | | .eq(RecoveryServePrice::getCityCode, info.getCode()) |
| | | .eq(RecoveryServePrice::getIsDelete, Constants.ZERO).one(); |
| | | if (null != price) { |
| | | money = price.getRecoveryPrice(); |
| | | } |
| | |
| | | public R<Object> allowanceMoney(@RequestParam("orderId") String orderId, @RequestParam("prizeId") String prizeId) { |
| | | Prize data = adminClient.prizeDetail(prizeId).getData(); |
| | | if (null == data) { |
| | | return R.fail("奖品信息获取失败!"); |
| | | return R.fail(adminClient.prizeDetail(prizeId).getMsg()); |
| | | } |
| | | return R.ok(orderClient.supplementAllowance(orderId, data.getPrizeName()).getData()); |
| | | String prizeMoney; |
| | | if (data.getPrizeName().contains(Constants.SUBSIDY_MONEY)) { |
| | | prizeMoney = data.getPrizeName().substring(Constants.ONE); |
| | | } else { |
| | | prizeMoney = "0"; |
| | | } |
| | | return R.ok(orderClient.supplementAllowance(orderId, prizeMoney).getData()); |
| | | } |
| | | |
| | | @PostMapping("/orderEstimate") |
| | |
| | | import com.ruoyi.user.entity.RecoveryClassify; |
| | | import com.ruoyi.user.entity.RecoveryServe; |
| | | import com.ruoyi.user.entity.UserCollect; |
| | | import com.ruoyi.user.entity.UserRecipient; |
| | | import com.ruoyi.user.service.RecoveryClassifyService; |
| | | import com.ruoyi.user.service.RecoveryServeService; |
| | | import com.ruoyi.user.service.UserCollectService; |
| | | import com.ruoyi.user.service.UserRecipientService; |
| | | import com.ruoyi.user.vo.ServeDetailVO; |
| | | import com.ruoyi.user.vo.ServeListVO; |
| | | import com.ruoyi.user.vo.UserServeTypeVO; |
| | | import io.swagger.annotations.Api; |
| | |
| | | private UserCollectService collectService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | @Resource |
| | | private UserRecipientService userRecipientService; |
| | | |
| | | /** |
| | | * 获取服务列表 |
| | |
| | | List<RecoveryClassify> serveList = recoveryClassifyService.lambdaQuery() |
| | | .eq(RecoveryClassify::getIsDelete, 0) |
| | | .eq(RecoveryClassify::getSupClassify, serveType) |
| | | .orderByAsc(RecoveryClassify::getSort) |
| | | .orderByDesc(RecoveryClassify::getSort) |
| | | .orderByDesc(RecoveryClassify::getCreateTime).list(); |
| | | List<UserServeTypeVO> list = new ArrayList<>(); |
| | | for (RecoveryClassify classify : serveList) { |
| | |
| | | Page<RecoveryServe> page = recoveryServeService.lambdaQuery() |
| | | .eq(RecoveryServe::getClassifyId, id) |
| | | .eq(RecoveryServe::getIsDelete, 0) |
| | | .orderByAsc(RecoveryServe::getSort) |
| | | .orderByDesc(RecoveryServe::getSort) |
| | | .orderByDesc(RecoveryServe::getCreateTime).page(Page.of(pageNum, pageSize)); |
| | | return R.ok(page); |
| | | } |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "String", required = true) |
| | | }) |
| | | public R<RecoveryServe> serveDetail(@RequestParam String serveId) { |
| | | public R<ServeDetailVO> serveDetail(@RequestParam String serveId) { |
| | | LoginUserInfo loginUser = tokenService.getLoginUserByUser(); |
| | | if (null == loginUser) { |
| | | return R.loginExpire("登录失效!"); |
| | | } |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) |
| | | .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getSort).one(); |
| | | .eq(RecoveryServe::getIsDelete, 0).one(); |
| | | // 用户是否收藏 |
| | | UserCollect one = collectService.lambdaQuery() |
| | | .eq(UserCollect::getServeId, serveId) |
| | | .eq(UserCollect::getUserId, loginUser.getUserid()) |
| | | .eq(UserCollect::getIsDelete, 0).one(); |
| | | if (null != one) { |
| | | recoveryServe.setIsCollect(Boolean.TRUE); |
| | |
| | | // 获取服务分类 |
| | | Integer classifyId = recoveryServe.getClassifyId(); |
| | | RecoveryClassify classify = recoveryClassifyService.lambdaQuery() |
| | | .eq(RecoveryClassify::getId, classifyId) |
| | | .eq(RecoveryClassify::getIsDelete, 0).one(); |
| | | .eq(RecoveryClassify::getId, classifyId).one(); |
| | | if (classify.getSupClassify().equals(Constants.TRADE_IN)) { |
| | | recoveryServe.setType(Constants.ZERO); |
| | | } else { |
| | | recoveryServe.setType(Constants.ONE); |
| | | } |
| | | return R.ok(recoveryServe); |
| | | // 获取用户默认收货地址 |
| | | UserRecipient userRecipient = userRecipientService.lambdaQuery() |
| | | .eq(UserRecipient::getIsDefault, Constants.ONE) |
| | | .eq(UserRecipient::getUserId, loginUser.getUserid()) |
| | | .eq(UserRecipient::getIsDelete, Constants.ZERO).one(); |
| | | return R.ok(new ServeDetailVO(recoveryServe, userRecipient)); |
| | | } |
| | | |
| | | /** |
| | |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | private RecoveryClassifyService recoveryClassifyService; |
| | | @Resource |
| | | private RecoveryServeService recoveryServeService; |
| | | |
| | | /** |
| | | * 用户端默认头像 |
| | | */ |
| | | @Value("${default.profilePicture}") |
| | | private String profilePicture; |
| | | |
| | | /** |
| | | * 解密用户敏感数据 |
| | |
| | | // 随机编号 |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); |
| | | user.setState(Constants.ONE); |
| | | user.setProfilePicture(profilePicture); |
| | | user.setNickname(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX))); |
| | | user.setPhone(phone); |
| | | user.setCity(loginPhoneRequest.getCity()); |
| | |
| | | @ApiOperation(value = "首页回收分类推荐", tags = {"用户端-首页"}) |
| | | public R<List<RecoveryClassify>> recommend() { |
| | | return R.ok(recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getIsRecommend, Constants.ONE) |
| | | .eq(RecoveryClassify::getIsDelete, 0).orderByAsc(RecoveryClassify::getSort).list()); |
| | | .eq(RecoveryClassify::getIsDelete, 0).orderByDesc(RecoveryClassify::getSort) |
| | | .orderByDesc(RecoveryClassify::getCreateTime).list()); |
| | | } |
| | | |
| | | /** |
| | |
| | | public R<List<RecoveryServe>> recoverySearch(@RequestParam String keyword) { |
| | | LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() |
| | | .eq(RecoveryServe::getIsDelete, 0) |
| | | .orderByAsc(RecoveryServe::getSort); |
| | | .orderByDesc(RecoveryServe::getSort); |
| | | wrapper = null != keyword && !"".equals(keyword.trim()) ? |
| | | wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; |
| | | List<RecoveryServe> serveList = wrapper.list(); |
| | | List<RecoveryServe> serveList = wrapper.orderByDesc(RecoveryServe::getCreateTime).list(); |
| | | for (RecoveryServe recoveryServe : serveList) { |
| | | RecoveryClassify classify = recoveryClassifyService.lambdaQuery() |
| | | .eq(RecoveryClassify::getId, recoveryServe.getClassifyId()).one(); |
| | |
| | | @TableField("city") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("对应城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | } |
| | |
| | | @TableField("isDefault") |
| | | private Integer isDefault; |
| | | |
| | | @ApiModelProperty("城市") |
| | | @TableField("city") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("城市code") |
| | | @TableField("city_code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("经度") |
| | | @TableField("longitude") |
| | | private Double longitude; |
| | |
| | | @ApiModel(value = "OrderRequest对象", description = "用户下单请求参数对象") |
| | | public class OrderRequest { |
| | | |
| | | @ApiModelProperty("下单城市") |
| | | private String city; |
| | | |
| | | @ApiModelProperty("下单城市code") |
| | | private String cityCode; |
| | | |
| | | @ApiModelProperty("订单编号") |
| | | private String orderNumber; |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.admin.api.entity.Prize; |
| | | import com.ruoyi.common.core.constant.Constants; |
| | | import com.ruoyi.common.core.exception.GlobalException; |
| | | import com.ruoyi.common.core.utils.SnowflakeIdWorker; |
| | | import com.ruoyi.order.api.entity.UserOrderRequest; |
| | | import com.ruoyi.order.api.feignClient.OrderClient; |
| | | import com.ruoyi.user.entity.Order; |
| | | import com.ruoyi.user.entity.RecoveryServe; |
| | | import com.ruoyi.user.entity.RecoveryServePrice; |
| | | import com.ruoyi.user.entity.UserRecipient; |
| | | import com.ruoyi.user.mapper.OrderMapper; |
| | | import com.ruoyi.user.request.OrderRequest; |
| | | import com.ruoyi.user.service.OrderService; |
| | | import com.ruoyi.user.service.RecoveryServePriceService; |
| | | import com.ruoyi.user.service.RecoveryServeService; |
| | | import com.ruoyi.user.service.UserRecipientService; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private RecoveryServeService recoveryServeService; |
| | | @Resource |
| | | private OrderClient orderClient; |
| | | @Resource |
| | | private RecoveryServePriceService servePriceService; |
| | | |
| | | /** |
| | | * 雪花算法类 |
| | |
| | | if (null == recoveryServe || null == userRecipient) { |
| | | throw new GlobalException("下单失败,预约服务信息或收货地址信息异常!"); |
| | | } |
| | | String address = userRecipient.getAddress(); |
| | | if (address.contains(Constants.PROVINCE) && address.contains(Constants.MARKET)) { |
| | | |
| | | } |
| | | UserOrderRequest userOrderRequest = new UserOrderRequest(); |
| | | userOrderRequest.setOrderNumber(orderRequest.getOrderNumber()); |
| | | userOrderRequest.setServeId(orderRequest.getServeId()); |
| | |
| | | // 下单相关信息 |
| | | RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) |
| | | .eq(RecoveryServe::getIsDelete, 0).one(); |
| | | |
| | | RecoveryServePrice price = servePriceService.lambdaQuery() |
| | | .eq(RecoveryServePrice::getRecoveryServeId, serveId) |
| | | .eq(RecoveryServePrice::getCity, orderRequest.getCity()) |
| | | .eq(RecoveryServePrice::getIsDelete, 0).one(); |
| | | if (null == recoveryServe) { |
| | | throw new GlobalException("下单失败,预约服务信息或收货地址信息异常!"); |
| | | } |
| | |
| | | userOrderRequest.setLongitude(orderRequest.getLongitude()); |
| | | userOrderRequest.setLatitude(orderRequest.getLatitude()); |
| | | userOrderRequest.setSubsidy(orderRequest.getSubsidy()); |
| | | // 城市回收价 |
| | | if (null == price) { |
| | | userOrderRequest.setDefaultPrice(recoveryServe.getDefaultPrice()); |
| | | } else { |
| | | userOrderRequest.setDefaultPrice(price.getRecoveryPrice()); |
| | | } |
| | | userOrderRequest.setServeName(recoveryServe.getServeName()); |
| | | userOrderRequest.setUserId(userid); |
| | | return orderClient.orderEstimate(userOrderRequest).getData(); |
| | |
| | | for (Region region : reginList) { |
| | | String firstLetter = getFullSpell(region.getName()).substring(0, 1); |
| | | if (letter.equals(firstLetter)) { |
| | | RegionVo regionVo = new RegionVo(region.getName(), region.getCityCode()); |
| | | RegionVo regionVo = new RegionVo(region.getName(), region.getCode()); |
| | | regionVos.add(regionVo); |
| | | } |
| | | map.put(letter, regionVos); |
| | |
| | | package com.ruoyi.user.service.impl; |
| | | |
| | | import cn.binarywang.wx.miniapp.api.WxMaService; |
| | | 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; |
| | |
| | | public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { |
| | | |
| | | @Resource |
| | | private WxMaUserService wxMaUserService; |
| | | @Resource |
| | | private TokenService tokenService; |
| | | @Resource |
| | | private WxMaService wxMaService; |
| | |
| | | @Value("${wx.appSecret}") |
| | | private String appSecret; |
| | | |
| | | private final String BASE_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code"; |
| | | @Value("${default.profilePicture}") |
| | | private String profilePicture; |
| | | |
| | | @Override |
| | | public R<String> decodeOpenid(HttpServletResponse response, String code) { |
| | |
| | | user = new User(); |
| | | user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); |
| | | user.setState(Constants.ONE); |
| | | user.setProfilePicture(profilePicture); |
| | | user.setNickname(String.format(Constants.USER_NO_PRE, StringUtils.getCharAndNum(Constants.SIX))); |
| | | user.setState(Constants.ONE); |
| | | user.setOpenId(openid); |
| | |
| | | return null; |
| | | } |
| | | |
| | | |
| | | public JSONObject getPhone(String code) { |
| | | // 授权(必填) |
| | | String grantType = "client_credential"; |
| | | // 向微信服务器 使用登录凭证 code 获取 session_key 和 openid |
| | | // 请求参数 |
| | | String params2 = "appid=" + appId + "&secret=" + appSecret + "&grant_type=" + grantType; |
| | | // 发送请求 |
| | | String sr2 = com.ruoyi.user.vx.utils.HttpRequest.sendGet("https://api.weixin.qq.com/cgi-bin/token", params2); |
| | | // 解析相应内容(转换成json对象) |
| | | JSONObject json2 = JSONObject.parseObject(sr2); |
| | | String accessToken = json2.getString("access_token"); |
| | | //使用获取到的token和接受到的code像微信获取手机号 |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("code", code); |
| | | String url = ("https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken); |
| | | String sr3 = com.ruoyi.user.vx.utils.HttpRequest.sendPostNew(url, jsonObject); |
| | | JSONObject json = JSONObject.parseObject(sr3); |
| | | JSONObject phoneInfo = json.getJSONObject("phone_info"); |
| | | // return phoneInfo.getString("phoneNumber"); |
| | | return phoneInfo; |
| | | } |
| | | |
| | | } |
| | |
| | | @ApiModelProperty("家电照片") |
| | | private String photo; |
| | | |
| | | @ApiModelProperty("是否评价(0:未评价,1:已评价)") |
| | | private Integer isEvaluate; |
| | | |
| | | public OrderDetailVO(Order order) { |
| | | this.orderId = order.getId(); |
| | | this.orderNumber = order.getOrderNumber(); |
| | |
| | | this.completeTime = order.getCompleteTime(); |
| | | this.subsidy = order.getSubsidy(); |
| | | this.address = order.getAddress(); |
| | | this.isEvaluate = order.getIsEvaluate(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.user.vo; |
| | | |
| | | import com.ruoyi.user.entity.RecoveryServe; |
| | | import com.ruoyi.user.entity.UserRecipient; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author HJL |
| | | * @version 1.0 |
| | | * @since 2024-07-24 11:49 |
| | | */ |
| | | @Data |
| | | public class ServeDetailVO { |
| | | |
| | | @ApiModelProperty("服务详情") |
| | | private RecoveryServe serve; |
| | | |
| | | @ApiModelProperty("默认收货地址") |
| | | private UserRecipient recipient; |
| | | |
| | | public ServeDetailVO() { |
| | | } |
| | | |
| | | public ServeDetailVO(RecoveryServe serve, UserRecipient recipient) { |
| | | this.serve = serve; |
| | | this.recipient = recipient; |
| | | } |
| | | } |
| | |
| | | left join sys_recovery_classify c on s.classify_id = c.id |
| | | where s.is_delete = 0 |
| | | and c.is_delete = 0 |
| | | order by c.sort |
| | | order by c.sort desc, c.createTime desc |
| | | </select> |
| | | </mapper> |
| | |
| | | if (Constants.ZERO.equals(process.getState())) { |
| | | return R.fail("入驻申请暂未审核通过,请耐心等待!"); |
| | | } else if (Constants.TWO.equals(process.getState())) { |
| | | // return R.fail("入驻申请已驳回,请重新提交入驻申请!"); |
| | | return R.fail("当前手机号未注册!"); |
| | | } else { |
| | | return R.registered("当前账号未提交入驻申请,无法登录!"); |
| | |
| | | if (Constants.ZERO.equals(process.getState())) { |
| | | return R.fail("入驻申请暂未审核通过,请耐心等待!"); |
| | | } else if (Constants.TWO.equals(process.getState())) { |
| | | // return R.fail("入驻申请已驳回,请重新提交入驻申请!"); |
| | | return R.fail("当前手机号未注册!"); |
| | | } else { |
| | | return R.registered("当前账号未提交入驻申请,无法登录!"); |
| | |
| | | import com.ruoyi.system.api.model.LoginUserInfo; |
| | | import com.ruoyi.worker.entity.MasterWorker; |
| | | import com.ruoyi.worker.entity.RecoveryServe; |
| | | import com.ruoyi.worker.entity.ServeCoordinate; |
| | | import com.ruoyi.worker.vo.ServeCoordinate; |
| | | import com.ruoyi.worker.service.MasterWorkerService; |
| | | import com.ruoyi.worker.service.RecoveryServeService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | mw -> Optional.ofNullable(mw.getCover()).orElse(""))); |
| | | for (Order order : orderList) { |
| | | order.setCover(map.get(order.getServeId())); |
| | | order.setReservationAddress(order.getReservationAddress() + order.getAddress()); |
| | | } |
| | | } |
| | | return R.ok(dataList); |
| | |
| | | orderListVO.setUserId(userid); |
| | | orderListVO.setReservationName(order.getReservationName()); |
| | | orderListVO.setReservationPhone(order.getReservationPhone()); |
| | | orderListVO.setReservationAddress(order.getReservationAddress()); |
| | | orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress()); |
| | | orderListVO.setTime(order.getTime()); |
| | | orderListVO.setServerId(order.getServerId()); |
| | | orderListVO.setServerName(order.getServerName()); |
| | |
| | | orderListVO.setUserId(userid); |
| | | orderListVO.setReservationName(order.getReservationName()); |
| | | orderListVO.setReservationPhone(order.getReservationPhone()); |
| | | orderListVO.setReservationAddress(order.getReservationAddress()); |
| | | orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress()); |
| | | orderListVO.setTime(order.getTime()); |
| | | orderListVO.setServerId(order.getServerId()); |
| | | orderListVO.setServerName(order.getServerName()); |
| | |
| | | public String getOrderIdStr() { |
| | | return String.valueOf(getOrderId()); |
| | | } |
| | | |
| | | } |
File was renamed from ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/ServeCoordinate.java |
| | |
| | | package com.ruoyi.worker.entity; |
| | | package com.ruoyi.worker.vo; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | Target Server Version : 80037 (8.0.37) |
| | | File Encoding : 65001 |
| | | |
| | | Date: 16/07/2024 09:28:34 |
| | | Date: 26/07/2024 11:50:32 |
| | | */ |
| | | |
| | | 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '增加租户字段' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_beta' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_info_tag' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'config_tag_relation' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_address |
| | |
| | | `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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '多租户改造' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for permissions |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `city_str` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '城市数组字符串', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '加盟商信息表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 16 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 = 194 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 218 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已删除', |
| | | `city_str` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '城市数组字符串', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 600563730 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅信息表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 600563739 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅信息表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_menu |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收分类表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_recovery_serve |
| | |
| | | `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 '封面图片', |
| | | `rotate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '轮播图片', |
| | | `rotate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci 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 = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务列表' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_recovery_serve_price |
| | |
| | | `createTime` datetime NULL DEFAULT NULL, |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | 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 = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '回收服务对应回收价格及所在城市' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_role |
| | |
| | | `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 '城市数组', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 7512401 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅入驻审核表' ROW_FORMAT = DYNAMIC; |
| | | |
| | |
| | | `profile_picture` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像', |
| | | `state` int NULL DEFAULT NULL COMMENT '账号状态 0未启用;1已启用', |
| | | `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '注册城市', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市编码', |
| | | `open_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '微信openId', |
| | | `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, |
| | |
| | | `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 = 28 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 = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户收藏表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 17 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 '地图搜索地址名称', |
| | | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地图搜索名称', |
| | | `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属城市', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | 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 = 14 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = '租户容量信息表' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB 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 AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin COMMENT = 'tenant_info' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for users |
| | |
| | | Target Server Version : 80037 (8.0.37) |
| | | File Encoding : 65001 |
| | | |
| | | Date: 16/07/2024 09:28:41 |
| | | Date: 26/07/2024 11:50:39 |
| | | */ |
| | | |
| | | SET NAMES utf8mb4; |
| | | SET FOREIGN_KEY_CHECKS = 0; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_address |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_address`; |
| | | CREATE TABLE `data_address` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `uid` bigint NULL DEFAULT 0 COMMENT '用户UID', |
| | | `type` tinyint(1) NULL DEFAULT 0 COMMENT '地址类型(0普通,1默认)', |
| | | `username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货姓名', |
| | | `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货手机', |
| | | `address` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址', |
| | | `latitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '维度', |
| | | `longitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '经度', |
| | | `xxdz` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '详细地址', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_data_user_address_type`(`type` ASC) USING BTREE, |
| | | INDEX `idx_data_user_address_uuid`(`uid` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户地址' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_advantage |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_advantage`; |
| | | CREATE TABLE `data_advantage` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称', |
| | | `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容', |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '排序权重', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 882 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务优势' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_cate |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_cate`; |
| | | CREATE TABLE `data_cate` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `pid` bigint NULL DEFAULT 0 COMMENT '上级分类', |
| | | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类名称', |
| | | `index_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '首页分类名称', |
| | | `cover` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类图标', |
| | | `remark` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类描述', |
| | | `remark_jj` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类简介', |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '排序权重', |
| | | `index_status` tinyint NULL DEFAULT 0 COMMENT '是否首页推荐', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_shop_goods_cate_sort`(`sort` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '回收分类' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_collect |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_collect`; |
| | | CREATE TABLE `data_collect` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `uid` bigint NULL DEFAULT 0 COMMENT '用户ID', |
| | | `pid` bigint NULL DEFAULT 0 COMMENT '产品ID', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '收藏' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_draw |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_draw`; |
| | | CREATE TABLE `data_draw` ( |
| | | `id` int NOT NULL AUTO_INCREMENT, |
| | | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖品名称', |
| | | `image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '奖品图片', |
| | | `odds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '中间几率', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '奖品管理' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_goods |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_goods`; |
| | | CREATE TABLE `data_goods` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务名称', |
| | | `remark` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务描述', |
| | | `price` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '预估价格', |
| | | `pg_price` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '评估价格', |
| | | `pid` int NULL DEFAULT 0 COMMENT '上级分类', |
| | | `cateids` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '分类编号', |
| | | `cover` varchar(999) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务封面', |
| | | `slider` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '轮播图片', |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '列表排序权重', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '服务内容' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_message |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_message`; |
| | | CREATE TABLE `data_message` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称', |
| | | `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '消息内容', |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '排序权重', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_order |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_order`; |
| | | CREATE TABLE `data_order` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `order_type` tinyint(1) NULL DEFAULT 0 COMMENT '0用户订单1指定订单', |
| | | `order_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '商品订单单号', |
| | | `product_id` bigint NULL DEFAULT 0 COMMENT '产品ID', |
| | | `uid` bigint NULL DEFAULT 0 COMMENT '用户ID', |
| | | `server_uid` bigint NULL DEFAULT 0 COMMENT '服务用户ID', |
| | | `price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '实际金额', |
| | | `bt_price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '分享补贴金额', |
| | | `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '用户姓名', |
| | | `phone` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户手机', |
| | | `province` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-省份', |
| | | `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-城市', |
| | | `area` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '地址-区域', |
| | | `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '收货地址', |
| | | `xx_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '详细地址', |
| | | `latitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '维度', |
| | | `longitude` decimal(20, 6) NULL DEFAULT NULL COMMENT '经度', |
| | | `sm_time` timestamp NULL DEFAULT NULL COMMENT '上门时间', |
| | | `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '服务备注', |
| | | `cancel_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '取消订单描述', |
| | | `pj_level` int NULL DEFAULT 0 COMMENT '评价等级', |
| | | `pj_remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '评价描述', |
| | | `reason` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '修改时间原因', |
| | | `completeTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '完工时间', |
| | | `yhqrtp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '用户确认图片', |
| | | `jjmptp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '旧机铭牌图片', |
| | | `njtp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '内机图片', |
| | | `wjhqttp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '外机和其他图片', |
| | | `drawnum` int NOT NULL DEFAULT 0 COMMENT '抽奖次数', |
| | | `status` tinyint(1) NULL DEFAULT 1 COMMENT '订单流程状态(1待派单,2已派单,3已接单,4已完成,5已取消)', |
| | | `jd_status` tinyint(1) NULL DEFAULT 0 COMMENT '订单流程状态(0未接单1确定接单2取消接单)', |
| | | `zt_server_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '再投师傅ID', |
| | | `pj_status` tinyint(1) NULL DEFAULT 0 COMMENT '评价状态0未评价1已评价', |
| | | `time_status` tinyint(1) NULL DEFAULT 0 COMMENT '时间状态', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '订单创建时间', |
| | | `server_sendnum` int NOT NULL DEFAULT 0, |
| | | `user_sendnum` int NOT NULL DEFAULT 0, |
| | | `print` int NOT NULL DEFAULT 0, |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_shop_order_status`(`status` ASC) USING BTREE, |
| | | INDEX `idx_shop_order_orderno`(`order_no` ASC) USING BTREE, |
| | | INDEX `idx_shop_order_cancel_status`(`username` ASC) USING BTREE, |
| | | INDEX `idx_shop_order_deleted`(`remark` ASC) USING BTREE, |
| | | INDEX `idx_shop_order_mid`(`uid` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 10973 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_question |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_question`; |
| | | CREATE TABLE `data_question` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '消息名称', |
| | | `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '内容', |
| | | `sort` bigint NULL DEFAULT 0 COMMENT '排序权重', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '常见问题' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_technician |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_technician`; |
| | | CREATE TABLE `data_technician` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `uid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户ID', |
| | | `city` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '城市', |
| | | `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户姓名', |
| | | `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户手机', |
| | | `car_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '车辆类型', |
| | | `car_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '车牌号码', |
| | | `idcard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证号码', |
| | | `idcard_z` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证正面', |
| | | `idcard_f` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '身份证反面', |
| | | `xsz` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '行驶证', |
| | | `work_status` tinyint(1) NULL DEFAULT 1 COMMENT '工作状态(1正常,0休息)', |
| | | `status` tinyint(1) NULL DEFAULT 0 COMMENT '用户状态(0审核中,1同意,2驳回)', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_data_user_status`(`work_status` ASC) USING BTREE, |
| | | INDEX `idx_data_user_openid1`(`uid` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '技师' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_transfer |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_transfer`; |
| | | CREATE TABLE `data_transfer` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `uid` bigint NULL DEFAULT 0 COMMENT '用户UID', |
| | | `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提现单号', |
| | | `charge_amount` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '提现手续费金额', |
| | | `amount` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '提现转账金额', |
| | | `trade_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '交易单号', |
| | | `trade_time` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '打款时间', |
| | | `status` tinyint(1) NULL DEFAULT 0 COMMENT '提现状态(0待审核,1同意,2驳回,3打款中,4已打款,5已收款)', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_data_user_transfer_code`(`code` ASC) USING BTREE, |
| | | INDEX `idx_data_user_transfer_status`(`status` ASC) USING BTREE, |
| | | INDEX `idx_data_user_transfer_uuid`(`uid` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '提现' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for data_user |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `data_user`; |
| | | CREATE TABLE `data_user` ( |
| | | `id` bigint NOT NULL AUTO_INCREMENT, |
| | | `openid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '小程序OPENID', |
| | | `avatar` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户头像', |
| | | `nickname` varchar(99) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用户昵称', |
| | | `price` decimal(20, 2) NULL DEFAULT 0.00 COMMENT '用户金额', |
| | | `status` tinyint(1) NULL DEFAULT 0 COMMENT '是否技师(1是0否)', |
| | | `sh_status` tinyint(1) NULL DEFAULT 0 COMMENT '是否提交审核(1是0否)', |
| | | `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间', |
| | | PRIMARY KEY (`id`) USING BTREE, |
| | | INDEX `idx_data_user_openid1`(`openid` ASC) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1851 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_change_dispatch |
| | |
| | | `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:拒绝)', |
| | | `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, |
| | |
| | | `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; |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code' |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for sys_serve_coordinate |
| | |
| | | `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; |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '师傅服务记录' ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_evaluate |
| | |
| | | `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; |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code' |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_order |
| | |
| | | `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:待改派)', |
| | | `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, |
| | |
| | | `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; |
| | | `is_evaluate` int NULL DEFAULT NULL COMMENT '是否评价(0:未评价,1:已评价)', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code码' |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for t_withdraw |
| | |
| | | `updateTime` datetime NULL DEFAULT NULL, |
| | | `is_delete` int NULL DEFAULT NULL COMMENT '是否删除 0未删除;1已删除', |
| | | `order_id` bigint NULL DEFAULT NULL COMMENT '订单id', |
| | | `city_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '城市code', |
| | | PRIMARY KEY (`id`) USING BTREE |
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC; |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户提现申请记录表' ROW_FORMAT = DYNAMIC; |
| | | |
| | | SET FOREIGN_KEY_CHECKS = 1; |