diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java index fcb0b730..dfa2794c 100644 --- a/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-api/src/main/java/cn/iocoder/yudao/module/backendlogistics/enums/ErrorCodeConstants.java @@ -13,5 +13,8 @@ public interface ErrorCodeConstants { // ========== 示例模块 1-001-000-000 ========== ErrorCode EXAMPLE_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在"); + ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(1_001_000_101, "客商协同账号不存在"); + ErrorCode CARRIER_ACCOUNT_NOT_EXISTS = new ErrorCode(1_001_000_102, "物流服务商协同账号不存在"); + ErrorCode DRIVING_ACCOUNT_NOT_EXISTS = new ErrorCode(1_001_000_103, "司机协同账号不存在"); } diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java new file mode 100644 index 00000000..93841ab5 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CarrierAccountController.java @@ -0,0 +1,116 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CarrierAccountService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + + +@Tag(name = "管理后台 - 物流服务商协同账号") +@RestController +@RequestMapping("/lgst/carrier-account") +@Validated +@FileUploadController(source = "lgst.carrieraccount") +public class CarrierAccountController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = CarrierAccountController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private CarrierAccountService carrierAccountService; + + @PostMapping("/create") + @Operation(summary = "创建物流服务商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:create')") + public CommonResult createCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO createReqVO) { + return success(carrierAccountService.createCarrierAccount(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新物流服务商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:update')") + public CommonResult updateCarrierAccount(@Valid @RequestBody CarrierAccountSaveReqVO updateReqVO) { + carrierAccountService.updateCarrierAccount(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除物流服务商协同账号") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") + public CommonResult deleteCarrierAccount(@RequestParam("id") Long id) { + carrierAccountService.deleteCarrierAccount(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除物流服务商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:delete')") + public CommonResult deleteCarrierAccountList(@RequestBody BatchDeleteReqVO req) { + carrierAccountService.deleteCarrierAccountListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得物流服务商协同账号") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") + public CommonResult getCarrierAccount(@RequestParam("id") Long id) { + CarrierAccountDO carrierAccount = carrierAccountService.getCarrierAccount(id); + return success(BeanUtils.toBean(carrierAccount, CarrierAccountRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得物流服务商协同账号分页") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:query')") + public CommonResult> getCarrierAccountPage(@Valid CarrierAccountPageReqVO pageReqVO) { + PageResult pageResult = carrierAccountService.getCarrierAccountPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CarrierAccountRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出物流服务商协同账号 Excel") + @PreAuthorize("@ss.hasPermission('lgst:carrier-account:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportCarrierAccountExcel(@Valid CarrierAccountPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = carrierAccountService.getCarrierAccountPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "物流服务商协同账号.xls", "数据", CarrierAccountRespVO.class, + BeanUtils.toBean(list, CarrierAccountRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java new file mode 100644 index 00000000..ea9e5221 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/CustomerController.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.CustomerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 客商协同账号") +@RestController +@RequestMapping("/lgst/customer") +@Validated +@FileUploadController(source = "lgst.customer") +public class CustomerController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = CustomerController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private CustomerService customerService; + + @PostMapping("/create") + @Operation(summary = "创建客商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:customer:create')") + public CommonResult createCustomer(@Valid @RequestBody CustomerSaveReqVO createReqVO) { + return success(customerService.createCustomer(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:customer:update')") + public CommonResult updateCustomer(@Valid @RequestBody CustomerSaveReqVO updateReqVO) { + customerService.updateCustomer(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客商协同账号") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:customer:delete')") + public CommonResult deleteCustomer(@RequestParam("id") Long id) { + customerService.deleteCustomer(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除客商协同账号") + @PreAuthorize("@ss.hasPermission('lgst:customer:delete')") + public CommonResult deleteCustomerList(@RequestBody BatchDeleteReqVO req) { + customerService.deleteCustomerListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客商协同账号") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:customer:query')") + public CommonResult getCustomer(@RequestParam("id") Long id) { + CustomerDO customer = customerService.getCustomer(id); + return success(BeanUtils.toBean(customer, CustomerRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得客商协同账号分页") + @PreAuthorize("@ss.hasPermission('lgst:customer:query')") + public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { + PageResult pageResult = customerService.getCustomerPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客商协同账号 Excel") + @PreAuthorize("@ss.hasPermission('lgst:customer:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportCustomerExcel(@Valid CustomerPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = customerService.getCustomerPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "客商协同账号.xls", "数据", CustomerRespVO.class, + BeanUtils.toBean(list, CustomerRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java new file mode 100644 index 00000000..7b9ac77f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/DrivingAccountController.java @@ -0,0 +1,116 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.business.annotation.FileUploadController; +import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController; +import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; +import cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct.DrivingAccountService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + + + +@Tag(name = "管理后台 - 司机协同账号") +@RestController +@RequestMapping("/lgst/driving-account") +@Validated +@FileUploadController(source = "lgst.drivingaccount") +public class DrivingAccountController extends AbstractFileUploadController implements BusinessControllerMarker{ + + static { + FileUploadController annotation = DrivingAccountController.class.getAnnotation(FileUploadController.class); + if (annotation != null) { + setFileUploadInfo(annotation); + } + } + + @Resource + private DrivingAccountService drivingAccountService; + + @PostMapping("/create") + @Operation(summary = "创建司机协同账号") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:create')") + public CommonResult createDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO createReqVO) { + return success(drivingAccountService.createDrivingAccount(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新司机协同账号") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:update')") + public CommonResult updateDrivingAccount(@Valid @RequestBody DrivingAccountSaveReqVO updateReqVO) { + drivingAccountService.updateDrivingAccount(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除司机协同账号") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") + public CommonResult deleteDrivingAccount(@RequestParam("id") Long id) { + drivingAccountService.deleteDrivingAccount(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除司机协同账号") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:delete')") + public CommonResult deleteDrivingAccountList(@RequestBody BatchDeleteReqVO req) { + drivingAccountService.deleteDrivingAccountListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得司机协同账号") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") + public CommonResult getDrivingAccount(@RequestParam("id") Long id) { + DrivingAccountDO drivingAccount = drivingAccountService.getDrivingAccount(id); + return success(BeanUtils.toBean(drivingAccount, DrivingAccountRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得司机协同账号分页") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:query')") + public CommonResult> getDrivingAccountPage(@Valid DrivingAccountPageReqVO pageReqVO) { + PageResult pageResult = drivingAccountService.getDrivingAccountPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DrivingAccountRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出司机协同账号 Excel") + @PreAuthorize("@ss.hasPermission('lgst:driving-account:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportDrivingAccountExcel(@Valid DrivingAccountPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = drivingAccountService.getDrivingAccountPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "司机协同账号.xls", "数据", DrivingAccountRespVO.class, + BeanUtils.toBean(list, DrivingAccountRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountPageReqVO.java new file mode 100644 index 00000000..6950ed68 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountPageReqVO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 物流服务商协同账号分页 Request VO") +@Data +public class CarrierAccountPageReqVO extends PageParam { + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27315") + private String loginAccount; + + @Schema(description = "登录手机号") + private String loginTel; + + @Schema(description = "公司名称", example = "李四") + private String name; + + @Schema(description = "社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + private String agentName; + + @Schema(description = "法人身份证") + private String identityNumber; + + @Schema(description = "经营范围") + private String operateScope; + + @Schema(description = "地址") + private String address; + + @Schema(description = "成立日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] establishDate; + + @Schema(description = "注册资本") + private BigDecimal registrationAmount; + + @Schema(description = "营业期限开始") + private LocalDateTime businessCycleStart; + + @Schema(description = "营业期限结束") + private LocalDateTime businessCycleEnd; + + @Schema(description = "是否长期") + private Integer isPermanently; + + @Schema(description = "开户行", example = "15940") + private String bankAccount; + + @Schema(description = "登记机关") + private String registrationAgency; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java new file mode 100644 index 00000000..b0f98b08 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountRespVO.java @@ -0,0 +1,96 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物流服务商协同账号 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CarrierAccountRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9531") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "状态", example = "2") + @ExcelProperty("状态") + private String status; + + @Schema(description = "是否启用") + @ExcelProperty("是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27315") + @ExcelProperty("登录账号") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("登录手机号") + private String loginTel; + + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("公司名称") + private String name; + + @Schema(description = "社会统一信用代码") + @ExcelProperty("社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + @ExcelProperty("法人姓名") + private String agentName; + + @Schema(description = "法人身份证") + @ExcelProperty("法人身份证") + private String identityNumber; + + @Schema(description = "经营范围") + @ExcelProperty("经营范围") + private String operateScope; + + @Schema(description = "地址") + @ExcelProperty("地址") + private String address; + + @Schema(description = "成立日期") + @ExcelProperty("成立日期") + private LocalDateTime establishDate; + + @Schema(description = "注册资本") + @ExcelProperty("注册资本") + private BigDecimal registrationAmount; + + @Schema(description = "营业期限开始") + @ExcelProperty("营业期限开始") + private LocalDateTime businessCycleStart; + + @Schema(description = "营业期限结束") + @ExcelProperty("营业期限结束") + private LocalDateTime businessCycleEnd; + + @Schema(description = "是否长期") + @ExcelProperty("是否长期") + private Integer isPermanently; + + @Schema(description = "开户行", example = "15940") + @ExcelProperty("开户行") + private String bankAccount; + + @Schema(description = "登记机关") + @ExcelProperty("登记机关") + private String registrationAgency; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java new file mode 100644 index 00000000..715c618f --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CarrierAccountSaveReqVO.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物流服务商协同账号新增/修改 Request VO") +@Data +public class CarrierAccountSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9531") + private Long id; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27315") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "登录手机号不能为空") + private String loginTel; + + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "公司名称不能为空") + private String name; + + @Schema(description = "社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + private String agentName; + + @Schema(description = "法人身份证") + private String identityNumber; + + @Schema(description = "经营范围") + private String operateScope; + + @Schema(description = "地址") + private String address; + + @Schema(description = "成立日期") + private LocalDateTime establishDate; + + @Schema(description = "注册资本") + private BigDecimal registrationAmount; + + @Schema(description = "营业期限开始") + private LocalDateTime businessCycleStart; + + @Schema(description = "营业期限结束") + private LocalDateTime businessCycleEnd; + + @Schema(description = "是否长期") + private Integer isPermanently; + + @Schema(description = "开户行", example = "15940") + private String bankAccount; + + @Schema(description = "登记机关") + private String registrationAgency; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java new file mode 100644 index 00000000..4d5be391 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerPageReqVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客商协同账号分页 Request VO") +@Data +public class CustomerPageReqVO extends PageParam { + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "登录账号", example = "6036") + private String loginAccount; + + @Schema(description = "登录手机号") + private String loginTel; + + @Schema(description = "公司名称", example = "赵六") + private String name; + + @Schema(description = "社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + private String agentName; + + @Schema(description = "法人身份证") + private String identityNumber; + + @Schema(description = "联系人") + private String contact; + + @Schema(description = "联系人电话") + private String contactTel; + + @Schema(description = "SPA编码") + private String sapCode; + + @Schema(description = "MDM编码") + private String mDMCode; + + @Schema(description = "是否有附件") + private String isFile; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java new file mode 100644 index 00000000..ba938f82 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerRespVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 客商协同账号 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CustomerRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8593") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "登录账号", example = "6036") + @ExcelProperty("登录账号") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("登录手机号") + private String loginTel; + + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @ExcelProperty("公司名称") + private String name; + + @Schema(description = "社会统一信用代码") + @ExcelProperty("社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + @ExcelProperty("法人姓名") + private String agentName; + + @Schema(description = "法人身份证") + @ExcelProperty("法人身份证") + private String identityNumber; + + @Schema(description = "联系人") + @ExcelProperty("联系人") + private String contact; + + @Schema(description = "联系人电话") + @ExcelProperty("联系人电话") + private String contactTel; + + @Schema(description = "SPA编码") + @ExcelProperty("SPA编码") + private String sapCode; + + @Schema(description = "MDM编码") + @ExcelProperty("MDM编码") + private String mDMCode; + + @Schema(description = "是否有附件") + @ExcelProperty("是否有附件") + private String isFile; + + @Schema(description = "状态", example = "2") + @ExcelProperty("状态") + private String status; + + @Schema(description = "是否启用") + @ExcelProperty("是否启用") + private String isEnable; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java new file mode 100644 index 00000000..5b280c6d --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/CustomerSaveReqVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 客商协同账号新增/修改 Request VO") +@Data +public class CustomerSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8593") + private Long id; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "登录账号", example = "6036") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "登录手机号不能为空") + private String loginTel; + + @Schema(description = "公司名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") + @NotEmpty(message = "公司名称不能为空") + private String name; + + @Schema(description = "社会统一信用代码") + private String creditCode; + + @Schema(description = "法人姓名", example = "王五") + private String agentName; + + @Schema(description = "法人身份证") + private String identityNumber; + + @Schema(description = "联系人") + private String contact; + + @Schema(description = "联系人电话") + private String contactTel; + + @Schema(description = "SPA编码") + private String sapCode; + + @Schema(description = "MDM编码") + private String mDMCode; + + @Schema(description = "是否有附件") + private String isFile; + + @Schema(description = "状态", example = "2") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountPageReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountPageReqVO.java new file mode 100644 index 00000000..3583766c --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountPageReqVO.java @@ -0,0 +1,74 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 司机协同账号分页 Request VO") +@Data +public class DrivingAccountPageReqVO extends PageParam { + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "状态", example = "1") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27536") + private String loginAccount; + + @Schema(description = "登录手机号") + private String loginTel; + + @Schema(description = "姓名", example = "芋艿") + private String name; + + @Schema(description = "身份证号") + private String identityNumber; + + @Schema(description = "身份证有效期-开始") + private LocalDateTime identityExpiryStart; + + @Schema(description = "身份证有效期-结束") + private LocalDateTime identityExpiryEnd; + + @Schema(description = "身份证是否长期") + private Integer isPermanentlyIdentity; + + @Schema(description = "驾驶证有效期-开始") + private LocalDateTime drivingExpiryStart; + + @Schema(description = "驾驶证有效期-结束") + private LocalDateTime drivingExpiryEnd; + + @Schema(description = "驾驶证是否长期") + private Integer isPermanentlyDriving; + + @Schema(description = "准驾车型", example = "2") + private String drivingType; + + @Schema(description = "发证机关") + private String registrationAgency; + + @Schema(description = "档案编码") + private String documentNo; + + @Schema(description = "从业资格证号") + private String majorQualificationNo; + + @Schema(description = "来源") + private String origin; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java new file mode 100644 index 00000000..578bfbe3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountRespVO.java @@ -0,0 +1,95 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 司机协同账号 Response VO") +@Data +@ExcelIgnoreUnannotated +public class DrivingAccountRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8522") + @ExcelProperty("主键ID") + private Long id; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "状态", example = "1") + @ExcelProperty("状态") + private String status; + + @Schema(description = "是否启用") + @ExcelProperty("是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27536") + @ExcelProperty("登录账号") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("登录手机号") + private String loginTel; + + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("姓名") + private String name; + + @Schema(description = "身份证号") + @ExcelProperty("身份证号") + private String identityNumber; + + @Schema(description = "身份证有效期-开始") + @ExcelProperty("身份证有效期-开始") + private LocalDateTime identityExpiryStart; + + @Schema(description = "身份证有效期-结束") + @ExcelProperty("身份证有效期-结束") + private LocalDateTime identityExpiryEnd; + + @Schema(description = "身份证是否长期") + @ExcelProperty("身份证是否长期") + private Integer isPermanentlyIdentity; + + @Schema(description = "驾驶证有效期-开始") + @ExcelProperty("驾驶证有效期-开始") + private LocalDateTime drivingExpiryStart; + + @Schema(description = "驾驶证有效期-结束") + @ExcelProperty("驾驶证有效期-结束") + private LocalDateTime drivingExpiryEnd; + + @Schema(description = "驾驶证是否长期") + @ExcelProperty("驾驶证是否长期") + private Integer isPermanentlyDriving; + + @Schema(description = "准驾车型", example = "2") + @ExcelProperty("准驾车型") + private String drivingType; + + @Schema(description = "发证机关") + @ExcelProperty("发证机关") + private String registrationAgency; + + @Schema(description = "档案编码") + @ExcelProperty("档案编码") + private String documentNo; + + @Schema(description = "从业资格证号") + @ExcelProperty("从业资格证号") + private String majorQualificationNo; + + @Schema(description = "来源") + @ExcelProperty("来源") + private String origin; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java new file mode 100644 index 00000000..f36f7c88 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/controller/admin/backendlogistics/bseMngt/acct/vo/DrivingAccountSaveReqVO.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 司机协同账号新增/修改 Request VO") +@Data +public class DrivingAccountSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8522") + private Long id; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "状态", example = "1") + private String status; + + @Schema(description = "是否启用") + private String isEnable; + + @Schema(description = "登录账号", example = "27536") + private String loginAccount; + + @Schema(description = "登录手机号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "登录手机号不能为空") + private String loginTel; + + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "姓名不能为空") + private String name; + + @Schema(description = "身份证号") + private String identityNumber; + + @Schema(description = "身份证有效期-开始") + private LocalDateTime identityExpiryStart; + + @Schema(description = "身份证有效期-结束") + private LocalDateTime identityExpiryEnd; + + @Schema(description = "身份证是否长期") + private Integer isPermanentlyIdentity; + + @Schema(description = "驾驶证有效期-开始") + private LocalDateTime drivingExpiryStart; + + @Schema(description = "驾驶证有效期-结束") + private LocalDateTime drivingExpiryEnd; + + @Schema(description = "驾驶证是否长期") + private Integer isPermanentlyDriving; + + @Schema(description = "准驾车型", example = "2") + private String drivingType; + + @Schema(description = "发证机关") + private String registrationAgency; + + @Schema(description = "档案编码") + private String documentNo; + + @Schema(description = "从业资格证号") + private String majorQualificationNo; + + @Schema(description = "来源") + private String origin; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java new file mode 100644 index 00000000..992bebcd --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CarrierAccountDO.java @@ -0,0 +1,125 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 物流服务商协同账号 DO + * + * @author 后台管理 + */ +@TableName("lgst_crr_acct") +@KeySequence("lgst_crr_acct_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ +public class CarrierAccountDO extends BusinessBaseDO { + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 状态 + */ + @TableField("STS") + private String status; + /** + * 是否启用 + */ + @TableField("IS_ENB") + private String isEnable; + /** + * 登录账号 + */ + @TableField("LOGIN_ACCT") + private String loginAccount; + /** + * 登录手机号 + */ + @TableField("LOGIN_TEL") + private String loginTel; + /** + * 公司名称 + */ + @TableField("NAME") + private String name; + /** + * 社会统一信用代码 + */ + @TableField("CRDT_CD") + private String creditCode; + /** + * 法人姓名 + */ + @TableField("AGT_NAME") + private String agentName; + /** + * 法人身份证 + */ + @TableField("IDTY_NUM") + private String identityNumber; + /** + * 经营范围 + */ + @TableField("OPER_SCO") + private String operateScope; + /** + * 地址 + */ + @TableField("ADR") + private String address; + /** + * 成立日期 + */ + @TableField("EST_DT") + private LocalDateTime establishDate; + /** + * 注册资本 + */ + @TableField("REG_AMT") + private BigDecimal registrationAmount; + /** + * 营业期限开始 + */ + @TableField("BSN_CYCL_STRT") + private LocalDateTime businessCycleStart; + /** + * 营业期限结束 + */ + @TableField("BSN_CYCL_END") + private LocalDateTime businessCycleEnd; + /** + * 是否长期 + */ + @TableField("IS_PMNT") + private Integer isPermanently; + /** + * 开户行 + */ + @TableField("BNK_ACCT") + private String bankAccount; + /** + * 登记机关 + */ + @TableField("REG_AGC") + private String registrationAgency; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java new file mode 100644 index 00000000..bf3c4400 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/CustomerDO.java @@ -0,0 +1,105 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct; + +import lombok.*; +import java.util.*; + import java.time.LocalDateTime; + import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +/** +* 客商协同账号 DO +* +* @author 后台管理 +*/ +@TableName("lgst_cstm") +@KeySequence("lgst_cstm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class CustomerDO extends BusinessBaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 登录账号 + */ + @TableField("LOGIN_ACCT") + private String loginAccount; + /** + * 登录手机号 + */ + @TableField("LOGIN_TEL") + private String loginTel; + /** + * 公司名称 + */ + @TableField("NAME") + private String name; + /** + * 社会统一信用代码 + */ + @TableField("CRDT_CD") + private String creditCode; + /** + * 法人姓名 + */ + @TableField("AGT_NAME") + private String agentName; + /** + * 法人身份证 + */ + @TableField("IDTY_NUM") + private String identityNumber; + /** + * 联系人 + */ + @TableField("CTCT") + private String contact; + /** + * 联系人电话 + */ + @TableField("CTCT_TEL") + private String contactTel; + /** + * SPA编码 + */ + @TableField("SAP_CD") + private String sapCode; + /** + * MDM编码 + */ + @TableField("MDM_CD") + private String mDMCode; + /** + * 是否有附件 + */ + @TableField("IS_FILE") + private String isFile; + /** + * 状态 + */ + @TableField("STS") + private String status; + /** + * 是否启用 + */ + @TableField("IS_ENB") + private String isEnable; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java new file mode 100644 index 00000000..ce1f3b33 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/dataobject/bseMngt/acct/DrivingAccountDO.java @@ -0,0 +1,124 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO; +import com.baomidou.mybatisplus.annotation.*; +import lombok.*; + +import java.time.LocalDateTime; +/** +* 司机协同账号 DO +* +* @author 后台管理 +*/ +@TableName("lgst_drvg_acct") +@KeySequence("lgst_drvg_acct_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class DrivingAccountDO extends BusinessBaseDO { + + + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + /** + * 状态 + */ + @TableField("STS") + private String status; + /** + * 是否启用 + */ + @TableField("IS_ENB") + private String isEnable; + /** + * 登录账号 + */ + @TableField("LOGIN_ACCT") + private String loginAccount; + /** + * 登录手机号 + */ + @TableField("LOGIN_TEL") + private String loginTel; + /** + * 姓名 + */ + @TableField("NAME") + private String name; + /** + * 身份证号 + */ + @TableField("IDTY_NUM") + private String identityNumber; + /** + * 身份证有效期-开始 + */ + @TableField("IDTY_EXPY_STRT") + private LocalDateTime identityExpiryStart; + /** + * 身份证有效期-结束 + */ + @TableField("IDTY_EXPY_END") + private LocalDateTime identityExpiryEnd; + /** + * 身份证是否长期 + */ + @TableField("IS_PMNT_IDTY") + private Integer isPermanentlyIdentity; + /** + * 驾驶证有效期-开始 + */ + @TableField("DRVG_EXPY_STRT") + private LocalDateTime drivingExpiryStart; + /** + * 驾驶证有效期-结束 + */ + @TableField("DRVG_EXPY_END") + private LocalDateTime drivingExpiryEnd; + /** + * 驾驶证是否长期 + */ + @TableField("IS_PMNT_DRVG") + private Integer isPermanentlyDriving; + /** + * 准驾车型 + */ + @TableField("DRVG_TP") + private String drivingType; + /** + * 发证机关 + */ + @TableField("REG_AGC") + private String registrationAgency; + /** + * 档案编码 + */ + @TableField("DOC_NO") + private String documentNo; + /** + * 从业资格证号 + */ + @TableField("MAJ_QLF_NO") + private String majorQualificationNo; + /** + * 来源 + */ + @TableField("ORGN") + private String origin; + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CarrierAccountMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CarrierAccountMapper.java new file mode 100644 index 00000000..1ef35d98 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CarrierAccountMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 物流服务商协同账号 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CarrierAccountMapper extends BaseMapperX { + + default PageResult selectPage(CarrierAccountPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(CarrierAccountDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(CarrierAccountDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CarrierAccountDO::getStatus, reqVO.getStatus()) + .eqIfPresent(CarrierAccountDO::getIsEnable, reqVO.getIsEnable()) + .eqIfPresent(CarrierAccountDO::getLoginAccount, reqVO.getLoginAccount()) + .eqIfPresent(CarrierAccountDO::getLoginTel, reqVO.getLoginTel()) + .likeIfPresent(CarrierAccountDO::getName, reqVO.getName()) + .eqIfPresent(CarrierAccountDO::getCreditCode, reqVO.getCreditCode()) + .likeIfPresent(CarrierAccountDO::getAgentName, reqVO.getAgentName()) + .eqIfPresent(CarrierAccountDO::getIdentityNumber, reqVO.getIdentityNumber()) + .eqIfPresent(CarrierAccountDO::getOperateScope, reqVO.getOperateScope()) + .eqIfPresent(CarrierAccountDO::getAddress, reqVO.getAddress()) + // .betweenIfPresent(CarrierAccountDO::getEstablishDate, reqVO.getEstablishDate()) + .eqIfPresent(CarrierAccountDO::getRegistrationAmount, reqVO.getRegistrationAmount()) + // .eqIfPresent(CarrierAccountDO::getBusinessCycleStart, reqVO.getBusinessCycleStart()) + // .eqIfPresent(CarrierAccountDO::getBusinessCycleEnd, reqVO.getBusinessCycleEnd()) + .eqIfPresent(CarrierAccountDO::getIsPermanently, reqVO.getIsPermanently()) + .eqIfPresent(CarrierAccountDO::getBankAccount, reqVO.getBankAccount()) + .eqIfPresent(CarrierAccountDO::getRegistrationAgency, reqVO.getRegistrationAgency()) + .orderByDesc(CarrierAccountDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CustomerMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CustomerMapper.java new file mode 100644 index 00000000..b64baa92 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/CustomerMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 客商协同账号 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface CustomerMapper extends BaseMapperX { + + default PageResult selectPage(CustomerPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(CustomerDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(CustomerDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(CustomerDO::getLoginAccount, reqVO.getLoginAccount()) + .eqIfPresent(CustomerDO::getLoginTel, reqVO.getLoginTel()) + .likeIfPresent(CustomerDO::getName, reqVO.getName()) + .eqIfPresent(CustomerDO::getCreditCode, reqVO.getCreditCode()) + .likeIfPresent(CustomerDO::getAgentName, reqVO.getAgentName()) + .eqIfPresent(CustomerDO::getIdentityNumber, reqVO.getIdentityNumber()) + .eqIfPresent(CustomerDO::getContact, reqVO.getContact()) + .eqIfPresent(CustomerDO::getContactTel, reqVO.getContactTel()) + .eqIfPresent(CustomerDO::getSapCode, reqVO.getSapCode()) + .eqIfPresent(CustomerDO::getMDMCode, reqVO.getMDMCode()) + .eqIfPresent(CustomerDO::getIsFile, reqVO.getIsFile()) + .eqIfPresent(CustomerDO::getStatus, reqVO.getStatus()) + .eqIfPresent(CustomerDO::getIsEnable, reqVO.getIsEnable()) + .orderByDesc(CustomerDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java new file mode 100644 index 00000000..81a8c9ae --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/dal/mysql/bseMngt/acct/DrivingAccountMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 司机协同账号 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface DrivingAccountMapper extends BaseMapperX { + + default PageResult selectPage(DrivingAccountPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(DrivingAccountDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(DrivingAccountDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(DrivingAccountDO::getStatus, reqVO.getStatus()) + .eqIfPresent(DrivingAccountDO::getIsEnable, reqVO.getIsEnable()) + .eqIfPresent(DrivingAccountDO::getLoginAccount, reqVO.getLoginAccount()) + .eqIfPresent(DrivingAccountDO::getLoginTel, reqVO.getLoginTel()) + .likeIfPresent(DrivingAccountDO::getName, reqVO.getName()) + .eqIfPresent(DrivingAccountDO::getIdentityNumber, reqVO.getIdentityNumber()) + // .eqIfPresent(DrivingAccountDO::getIdentityExpiryStart, reqVO.getIdentityExpiryStart()) + //.eqIfPresent(DrivingAccountDO::getIdentityExpiryEnd, reqVO.getIdentityExpiryEnd()) + .eqIfPresent(DrivingAccountDO::getIsPermanentlyIdentity, reqVO.getIsPermanentlyIdentity()) + // .eqIfPresent(DrivingAccountDO::getDrivingExpiryStart, reqVO.getDrivingExpiryStart()) + // .eqIfPresent(DrivingAccountDO::getDrivingExpiryEnd, reqVO.getDrivingExpiryEnd()) + .eqIfPresent(DrivingAccountDO::getIsPermanentlyDriving, reqVO.getIsPermanentlyDriving()) + .eqIfPresent(DrivingAccountDO::getDrivingType, reqVO.getDrivingType()) + .eqIfPresent(DrivingAccountDO::getRegistrationAgency, reqVO.getRegistrationAgency()) + .eqIfPresent(DrivingAccountDO::getDocumentNo, reqVO.getDocumentNo()) + .eqIfPresent(DrivingAccountDO::getMajorQualificationNo, reqVO.getMajorQualificationNo()) + .eqIfPresent(DrivingAccountDO::getOrigin, reqVO.getOrigin()) + .orderByDesc(DrivingAccountDO::getId)); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java new file mode 100644 index 00000000..736d76e3 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; +import jakarta.validation.Valid; + +import java.util.List; + +/** + * 物流服务商协同账号 Service 接口 + * + * @author 后台管理 + */ +public interface CarrierAccountService { + + /** + * 创建物流服务商协同账号 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + CarrierAccountRespVO createCarrierAccount(@Valid CarrierAccountSaveReqVO createReqVO); + + /** + * 更新物流服务商协同账号 + * + * @param updateReqVO 更新信息 + */ + void updateCarrierAccount(@Valid CarrierAccountSaveReqVO updateReqVO); + + /** + * 删除物流服务商协同账号 + * + * @param id 编号 + */ + void deleteCarrierAccount(Long id); + + /** + * 批量删除物流服务商协同账号 + * + * @param ids 编号 + */ + void deleteCarrierAccountListByIds(List ids); + + /** + * 获得物流服务商协同账号 + * + * @param id 编号 + * @return 物流服务商协同账号 + */ + CarrierAccountDO getCarrierAccount(Long id); + + /** + * 获得物流服务商协同账号分页 + * + * @param pageReqVO 分页查询 + * @return 物流服务商协同账号分页 + */ + PageResult getCarrierAccountPage(CarrierAccountPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java new file mode 100644 index 00000000..39b78ffb --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CarrierAccountServiceImpl.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CarrierAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CarrierAccountDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.CarrierAccountMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CARRIER_ACCOUNT_NOT_EXISTS; + + +/** + * 物流服务商协同账号 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class CarrierAccountServiceImpl implements CarrierAccountService { + + @Resource + private CarrierAccountMapper carrierAccountMapper; + + @Override + public CarrierAccountRespVO createCarrierAccount(CarrierAccountSaveReqVO createReqVO) { + // 插入 + CarrierAccountDO carrierAccount = BeanUtils.toBean(createReqVO, CarrierAccountDO.class); + carrierAccountMapper.insert(carrierAccount); + // 返回 + return BeanUtils.toBean(carrierAccount, CarrierAccountRespVO.class); + } + + @Override + public void updateCarrierAccount(CarrierAccountSaveReqVO updateReqVO) { + // 校验存在 + validateCarrierAccountExists(updateReqVO.getId()); + // 更新 + CarrierAccountDO updateObj = BeanUtils.toBean(updateReqVO, CarrierAccountDO.class); + carrierAccountMapper.updateById(updateObj); + } + + @Override + public void deleteCarrierAccount(Long id) { + // 校验存在 + validateCarrierAccountExists(id); + // 删除 + carrierAccountMapper.deleteById(id); + } + + @Override + public void deleteCarrierAccountListByIds(List ids) { + // 校验存在 + validateCarrierAccountExists(ids); + // 删除 + carrierAccountMapper.deleteByIds(ids); + } + + private void validateCarrierAccountExists(List ids) { + List list = carrierAccountMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CARRIER_ACCOUNT_NOT_EXISTS); + } + } + + private void validateCarrierAccountExists(Long id) { + if (carrierAccountMapper.selectById(id) == null) { + throw exception(CARRIER_ACCOUNT_NOT_EXISTS); + } + } + + @Override + public CarrierAccountDO getCarrierAccount(Long id) { + return carrierAccountMapper.selectById(id); + } + + @Override + public PageResult getCarrierAccountPage(CarrierAccountPageReqVO pageReqVO) { + return carrierAccountMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java new file mode 100644 index 00000000..257f5d6b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerService.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; +import jakarta.validation.Valid; + +import java.util.List; + + +/** + * 客商协同账号 Service 接口 + * + * @author 后台管理 + */ +public interface CustomerService { + + /** + * 创建客商协同账号 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + CustomerRespVO createCustomer(@Valid CustomerSaveReqVO createReqVO); + + /** + * 更新客商协同账号 + * + * @param updateReqVO 更新信息 + */ + void updateCustomer(@Valid CustomerSaveReqVO updateReqVO); + + /** + * 删除客商协同账号 + * + * @param id 编号 + */ + void deleteCustomer(Long id); + + /** + * 批量删除客商协同账号 + * + * @param ids 编号 + */ + void deleteCustomerListByIds(List ids); + + /** + * 获得客商协同账号 + * + * @param id 编号 + * @return 客商协同账号 + */ + CustomerDO getCustomer(Long id); + + /** + * 获得客商协同账号分页 + * + * @param pageReqVO 分页查询 + * @return 客商协同账号分页 + */ + PageResult getCustomerPage(CustomerPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java new file mode 100644 index 00000000..751ac904 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/CustomerServiceImpl.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.CustomerSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.CustomerDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.CustomerMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS; + + +/** + * 客商协同账号 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class CustomerServiceImpl implements CustomerService { + + @Resource + private CustomerMapper customerMapper; + + @Override + public CustomerRespVO createCustomer(CustomerSaveReqVO createReqVO) { + // 插入 + CustomerDO customer = BeanUtils.toBean(createReqVO, CustomerDO.class); + customerMapper.insert(customer); + // 返回 + return BeanUtils.toBean(customer, CustomerRespVO.class); + } + + @Override + public void updateCustomer(CustomerSaveReqVO updateReqVO) { + // 校验存在 + validateCustomerExists(updateReqVO.getId()); + // 更新 + CustomerDO updateObj = BeanUtils.toBean(updateReqVO, CustomerDO.class); + customerMapper.updateById(updateObj); + } + + @Override + public void deleteCustomer(Long id) { + // 校验存在 + validateCustomerExists(id); + // 删除 + customerMapper.deleteById(id); + } + + @Override + public void deleteCustomerListByIds(List ids) { + // 校验存在 + validateCustomerExists(ids); + // 删除 + customerMapper.deleteByIds(ids); + } + + private void validateCustomerExists(List ids) { + List list = customerMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(CUSTOMER_NOT_EXISTS); + } + } + + private void validateCustomerExists(Long id) { + if (customerMapper.selectById(id) == null) { + throw exception(CUSTOMER_NOT_EXISTS); + } + } + + @Override + public CustomerDO getCustomer(Long id) { + return customerMapper.selectById(id); + } + + @Override + public PageResult getCustomerPage(CustomerPageReqVO pageReqVO) { + return customerMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java new file mode 100644 index 00000000..7919c4bc --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountService.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; +import jakarta.validation.Valid; + +import java.util.List; + + +/** + * 司机协同账号 Service 接口 + * + * @author 后台管理 + */ +public interface DrivingAccountService { + + /** + * 创建司机协同账号 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + DrivingAccountRespVO createDrivingAccount(@Valid DrivingAccountSaveReqVO createReqVO); + + /** + * 更新司机协同账号 + * + * @param updateReqVO 更新信息 + */ + void updateDrivingAccount(@Valid DrivingAccountSaveReqVO updateReqVO); + + /** + * 删除司机协同账号 + * + * @param id 编号 + */ + void deleteDrivingAccount(Long id); + + /** + * 批量删除司机协同账号 + * + * @param ids 编号 + */ + void deleteDrivingAccountListByIds(List ids); + + /** + * 获得司机协同账号 + * + * @param id 编号 + * @return 司机协同账号 + */ + DrivingAccountDO getDrivingAccount(Long id); + + /** + * 获得司机协同账号分页 + * + * @param pageReqVO 分页查询 + * @return 司机协同账号分页 + */ + PageResult getDrivingAccountPage(DrivingAccountPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java new file mode 100644 index 00000000..cc08c934 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/java/cn/iocoder/yudao/module/backendlogistics/service/bseMngt/acct/DrivingAccountServiceImpl.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.backendlogistics.service.bseMngt.acct; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountPageReqVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountRespVO; +import cn.iocoder.yudao.module.backendlogistics.controller.admin.backendlogistics.bseMngt.acct.vo.DrivingAccountSaveReqVO; +import cn.iocoder.yudao.module.backendlogistics.dal.dataobject.bseMngt.acct.DrivingAccountDO; +import cn.iocoder.yudao.module.backendlogistics.dal.mysql.bseMngt.acct.DrivingAccountMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.backendlogistics.enums.ErrorCodeConstants.DRIVING_ACCOUNT_NOT_EXISTS; + + +/** + * 司机协同账号 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class DrivingAccountServiceImpl implements DrivingAccountService { + + @Resource + private DrivingAccountMapper drivingAccountMapper; + + @Override + public DrivingAccountRespVO createDrivingAccount(DrivingAccountSaveReqVO createReqVO) { + // 插入 + DrivingAccountDO drivingAccount = BeanUtils.toBean(createReqVO, DrivingAccountDO.class); + drivingAccountMapper.insert(drivingAccount); + // 返回 + return BeanUtils.toBean(drivingAccount, DrivingAccountRespVO.class); + } + + @Override + public void updateDrivingAccount(DrivingAccountSaveReqVO updateReqVO) { + // 校验存在 + validateDrivingAccountExists(updateReqVO.getId()); + // 更新 + DrivingAccountDO updateObj = BeanUtils.toBean(updateReqVO, DrivingAccountDO.class); + drivingAccountMapper.updateById(updateObj); + } + + @Override + public void deleteDrivingAccount(Long id) { + // 校验存在 + validateDrivingAccountExists(id); + // 删除 + drivingAccountMapper.deleteById(id); + } + + @Override + public void deleteDrivingAccountListByIds(List ids) { + // 校验存在 + validateDrivingAccountExists(ids); + // 删除 + drivingAccountMapper.deleteByIds(ids); + } + + private void validateDrivingAccountExists(List ids) { + List list = drivingAccountMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(DRIVING_ACCOUNT_NOT_EXISTS); + } + } + + private void validateDrivingAccountExists(Long id) { + if (drivingAccountMapper.selectById(id) == null) { + throw exception(DRIVING_ACCOUNT_NOT_EXISTS); + } + } + + @Override + public DrivingAccountDO getDrivingAccount(Long id) { + return drivingAccountMapper.selectById(id); + } + + @Override + public PageResult getDrivingAccountPage(DrivingAccountPageReqVO pageReqVO) { + return drivingAccountMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml new file mode 100644 index 00000000..71e637e8 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CarrierAccountMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CustomerMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CustomerMapper.xml new file mode 100644 index 00000000..f82fe464 --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/CustomerMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/DrivingAccountMapper.xml b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/DrivingAccountMapper.xml new file mode 100644 index 00000000..abfce12b --- /dev/null +++ b/yudao-module-backend-logistics/yudao-module-backend-logistics-server/src/main/resources/mapper/bseMngt/acct/DrivingAccountMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file