package com.stylefeng.guns.modular.system.controller; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.model.vo.CompanyInfoVo; import com.stylefeng.guns.modular.system.model.vo.MeInfoVo; import com.stylefeng.guns.modular.system.model.vo.MeWalletVo; import com.stylefeng.guns.modular.system.model.vo.WalletInfo; import com.stylefeng.guns.modular.system.service.ITCompanyService; import com.stylefeng.guns.modular.system.service.ITDriverService; import com.stylefeng.guns.modular.system.service.TCarriersService; import com.stylefeng.guns.modular.system.utils.UserInfoUtil; import com.stylefeng.guns.modular.system.utils.tips.ErrorTip; import com.stylefeng.guns.modular.system.utils.tips.SuccessTip; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Controller @Api(tags = "我的信息") @RequestMapping("/api/me") public class MeController { @Resource private ITDriverService driverService; @Resource private ITCompanyService companyService; @Resource private TCarriersService carriersService; @ApiOperation(value = "获取我的信息",notes="获取我的信息") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType= "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "司机id", required = true, dataType = "int"), }) @GetMapping(value = "/getMeInfo") @ResponseBody public Object getMeInfo(int id){ TDriver driver = driverService.selectById(id); MeInfoVo meInfoVo = new MeInfoVo(); meInfoVo.setAddress(driver.getAddress()); meInfoVo.setContactNumber(driver.getContactNumber()); meInfoVo.setDateOfBrith(driver.getDateOfBrith()); meInfoVo.setDriverEmployeeNumber(driver.getDriverNumber()); meInfoVo.setDriverName(driver.getDriverName()); meInfoVo.setDriverType(driver.getDriverType()); meInfoVo.setId(driver.getId()); meInfoVo.setNotes(driver.getStatusRemark()); meInfoVo.setStatus(driver.getStatus()); return new SuccessTip(meInfoVo); } @ApiOperation(value = "获取我的公司信息",notes="获取我的公司信息") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType= "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "司机id", required = true, dataType = "int"), }) @GetMapping(value = "/getMeCompanyInfo") @ResponseBody public Object getMeCompanyInfo(int id){ TDriver driver = driverService.selectById(id); Integer companyId = driver.getCompanyId(); TCompany company = companyService.selectById(companyId); CompanyInfoVo companyInfoVo = new CompanyInfoVo(); companyInfoVo.setAddress(company.getAddress()); companyInfoVo.setCompanyName(company.getName()); companyInfoVo.setContactEmail(company.getContactEmail()); companyInfoVo.setContactPhone(company.getContactPhone()); companyInfoVo.setScacCode(company.getScacCode()); companyInfoVo.setSetUpTheTime(company.getSetUpTheTime()); return new SuccessTip(companyInfoVo); } @ApiOperation(value = "获取我的钱包信息",notes="获取我的钱包信息") @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType= "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), @ApiImplicitParam(name = "id", value = "司机id", required = true, dataType = "int"), }) @GetMapping(value = "/getMeWallet") @ResponseBody public Object getMeWallet(int id){ try { MeWalletVo meWalletVo = new MeWalletVo(); ArrayList walletInfos = new ArrayList<>(); TDriver driver = driverService.selectById(id); // 获取承运商 Integer carriersId = driver.getCarriersId(); TCarriers tCarriers = carriersService.selectById(carriersId); meWalletVo.setBillNumber(tCarriers.getBillNumber()); BigDecimal unpaid = new BigDecimal(0); BigDecimal paid = new BigDecimal(0); List orders = driverService.getOrderInfo(id); for (TOrder e : orders) { WalletInfo walletInfo = new WalletInfo(); walletInfo.setShipmentId(e.getId()); BigDecimal payMoney = e.getPayMoney(); double v = tCarriers.getCommission() / 100; // 承运商应得金额 BigDecimal multiply = payMoney.multiply(new BigDecimal(v)); walletInfo.setMoney(multiply); walletInfo.setPayStatus(e.getCarriersPayStatus()); // TODO 时间 if(e.getCarriersPayStatus()==0){ unpaid = unpaid.add(multiply); }else { paid=paid.add(multiply); } walletInfos.add(walletInfo); } meWalletVo.setAllTotal(unpaid.add(paid)); meWalletVo.setUnpaid(unpaid); meWalletVo.setPaid(paid); meWalletVo.setList(walletInfos); return new SuccessTip(meWalletVo); }catch (Exception e){ e.printStackTrace(); return new ErrorTip(500,"ERROR"); } } }