package com.doumee.api.web; 
 | 
  
 | 
import com.doumee.biz.system.SystemDictDataBiz; 
 | 
import com.doumee.core.annotation.LoginRequired; 
 | 
import com.doumee.core.annotation.trace.Trace; 
 | 
import com.doumee.core.constants.Constants; 
 | 
import com.doumee.core.model.ApiResponse; 
 | 
import com.doumee.core.model.PageData; 
 | 
import com.doumee.core.model.PageWrap; 
 | 
import com.doumee.dao.business.model.BaseParam; 
 | 
import com.doumee.dao.business.model.MemberRides; 
 | 
import com.doumee.dao.business.model.RentSite; 
 | 
import com.doumee.dao.business.model.Transactions; 
 | 
import com.doumee.dao.business.web.request.RepairRequest; 
 | 
import com.doumee.dao.business.web.response.MemberRidesDetailResponse; 
 | 
import com.doumee.dao.business.web.response.RidesDetailResponse; 
 | 
import com.doumee.dao.system.model.SystemDictData; 
 | 
import com.doumee.service.business.*; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiImplicitParam; 
 | 
import io.swagger.annotations.ApiImplicitParams; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * Created by IntelliJ IDEA. 
 | 
 * 
 | 
 * @Author : Rk 
 | 
 * @create 2023/10/9 10:15 
 | 
 */ 
 | 
  
 | 
@Api(tags = "3、业务接口") 
 | 
@Trace(exclude = true) 
 | 
@RestController 
 | 
@RequestMapping("/web/business") 
 | 
@Slf4j 
 | 
public class BusinessApi extends ApiController{ 
 | 
  
 | 
    @Autowired 
 | 
    private GoodsorderService goodsorderService; 
 | 
  
 | 
    @Autowired 
 | 
    private RentSiteService rentSiteService; 
 | 
  
 | 
    @Autowired 
 | 
    private TransactionsService transactionsService; 
 | 
  
 | 
    @Autowired 
 | 
    private BaseParamService baseParamService; 
 | 
  
 | 
    @Autowired 
 | 
    private BikeRepairService bikeRepairService; 
 | 
  
 | 
    @Autowired 
 | 
    private MemberRidesService memberRidesService; 
 | 
  
 | 
    @Autowired 
 | 
    private SystemDictDataBiz systemDictDataBiz; 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "押金支付", notes = "小程序端") 
 | 
    @GetMapping("/createGoodsOrderPay") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse<Object> createGoodsOrderPay() { 
 | 
        return  ApiResponse.success("操作成功",goodsorderService.createGoodsOrderPay(getMemberId())); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "骑行明细", notes = "小程序端") 
 | 
    @GetMapping("/ridesDetail") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "goodsOrderId", value = "订单主键", required = true) 
 | 
    }) 
 | 
    public ApiResponse<RidesDetailResponse> ridesDetail(@RequestParam String goodsOrderId) { 
 | 
        return  ApiResponse.success("查询成功",goodsorderService.getRidesDetailResponse(goodsOrderId)); 
 | 
    } 
 | 
  
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "租车点列表", notes = "小程序端") 
 | 
    @GetMapping("/rentSiteList") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse<List<RentSite>> rentSiteList() { 
 | 
        RentSite rentSite = new RentSite(); 
 | 
        rentSite.setIsdeleted(Constants.ZERO); 
 | 
        rentSite.setStatus(Constants.ZERO); 
 | 
        return  ApiResponse.success("查询成功",rentSiteService.findList(rentSite)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation("消费明细") 
 | 
    @PostMapping("/transactionsPage") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse<PageData<Transactions>> transactionsPage (@RequestBody PageWrap pageWrap) { 
 | 
        return ApiResponse.success(transactionsService.findPageForMini(pageWrap,getMemberId())); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation("基础配置数据") 
 | 
    @GetMapping("/baseParamList") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "类型 0车辆报修原因 1强制还车原因 2时长减免原因 3单车类型", required = true) 
 | 
    }) 
 | 
    public ApiResponse<List<BaseParam>> baseParamList (@RequestParam Integer type) { 
 | 
        BaseParam baseParam = new BaseParam(); 
 | 
        baseParam.setIsdeleted(Constants.ZERO); 
 | 
        baseParam.setStatus(Constants.ZERO); 
 | 
        baseParam.setType(type); 
 | 
        return ApiResponse.success(baseParamService.findList(baseParam)); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "查询骑行中车辆", notes = "小程序端") 
 | 
    @GetMapping("/onlineBike") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse<String> onlineBike() { 
 | 
        return  ApiResponse.success("查询成功",memberRidesService.getOnlineBike(getMemberId())); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation("车辆问题上报") 
 | 
    @PostMapping("/saveRepair") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) 
 | 
    }) 
 | 
    public ApiResponse transactionsPage (@RequestBody RepairRequest repairRequest) throws Exception{ 
 | 
        repairRequest.setMemberId(getMemberId()); 
 | 
        bikeRepairService.saveRepair(repairRequest); 
 | 
        return ApiResponse.success("操作成功"); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "扫码解锁", notes = "小程序端") 
 | 
    @GetMapping("/openLock") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "锁头码", required = true) 
 | 
    }) 
 | 
    public ApiResponse<MemberRidesDetailResponse> openLock(@RequestParam String code) { 
 | 
        return  ApiResponse.success("操作成功",memberRidesService.openLock(code,getMemberId())); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "刷新解锁情况", notes = "小程序端") 
 | 
    @GetMapping("/refreshLock") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "骑行记录主键", required = true) 
 | 
    }) 
 | 
    public ApiResponse<MemberRidesDetailResponse> refreshLock(@RequestParam String id) { 
 | 
        return  ApiResponse.success("操作成功",memberRidesService.refreshLock(id)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "订单结算", notes = "小程序端") 
 | 
    @GetMapping("/goodsOrderSettlement") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "orderId", value = "订单主键", required = true) 
 | 
    }) 
 | 
    public ApiResponse goodsOrderSettlement(@RequestParam String orderId) { 
 | 
        goodsorderService.goodsOrderSettlement(orderId); 
 | 
        return  ApiResponse.success("操作成功"); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "获取字典值信息", notes = "小程序端") 
 | 
    @GetMapping("/getSysDict") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "dicCode", value = "字典编码", required = true), 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "label", value = "字典数值编码", required = true) 
 | 
    }) 
 | 
    public ApiResponse<SystemDictData> getSysDict(@RequestParam String dicCode, @RequestParam String label) { 
 | 
        return  ApiResponse.success("查询成功",systemDictDataBiz.queryByCode(dicCode,label)); 
 | 
    } 
 | 
} 
 |