package com.doumee.api.web; //import com.doumee.api.Repeat.RepeatSubmit; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.annotation.LoginRequired; import com.doumee.core.annotation.pr.PreventRepeat; 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.*; import com.doumee.dao.business.web.request.BackElecBikeRequest; 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.jtt808.web.service.Jtt808Service; 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 org.yzh.commons.model.APIResult; import org.yzh.protocol.t808.T0201_0500; import org.yzh.protocol.t808.T8500; 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 Jtt808Service jtt808Service; @Autowired private RentSiteService rentSiteService; @Autowired private TransactionsService transactionsService; @Autowired private BaseParamService baseParamService; @Autowired private BikeRepairService bikeRepairService; @Autowired private MemberRidesService memberRidesService; @Autowired private SystemDictDataBiz systemDictDataBiz; @PreventRepeat @LoginRequired @ApiOperation(value = "押金支付", notes = "小程序端") @GetMapping("/createGoodsOrderPay") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse 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 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> 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> 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> 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 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("操作成功"); } @PreventRepeat @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 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 refreshLock(@RequestParam String id) { return ApiResponse.success("操作成功",memberRidesService.refreshLock(id)); } @LoginRequired @PreventRepeat @ApiOperation(value = "订单结算", notes = "小程序端") @GetMapping("/goodsOrderSettlement") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse goodsOrderSettlement() { goodsorderService.goodsOrderSettlement(getMemberId()); 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 getSysDict(@RequestParam String dicCode, @RequestParam String label) { return ApiResponse.success("查询成功",systemDictDataBiz.queryByCode(dicCode,label)); } @ApiOperation(value = "电车站点还车", notes = "电车站点还车") @PostMapping("/backElecBike") public ApiResponse backElecBike(@RequestBody BackElecBikeRequest param) { param.setMemberId(getMemberId()); jtt808Service.backElecBike(param); return ApiResponse.success( null); } }