From 777af7b4e58709a6449759a6a5203c4706bac899 Mon Sep 17 00:00:00 2001 From: gxwebsoft Date: Thu, 29 Feb 2024 18:09:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=81=E6=96=B0=E5=A2=9E=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/controller/AppController.java | 38 +++++- .../oa/controller/AssetsController.java | 73 +++++++--- .../oa/controller/CompanyController.java | 1 + .../oa/controller/OrderController.java | 112 +++++++++++++++ .../com/gxwebsoft/oa/entity/AssetsUser.java | 27 +--- .../com/gxwebsoft/oa/entity/CompanyUser.java | 1 - .../java/com/gxwebsoft/oa/entity/Order.java | 128 ++++++++++++++++++ .../com/gxwebsoft/oa/mapper/OrderMapper.java | 37 +++++ .../gxwebsoft/oa/mapper/xml/AssetsMapper.xml | 3 +- .../gxwebsoft/oa/mapper/xml/OrderMapper.xml | 124 +++++++++++++++++ .../com/gxwebsoft/oa/param/OrderParam.java | 128 ++++++++++++++++++ .../gxwebsoft/oa/service/OrderService.java | 42 ++++++ .../oa/service/impl/OrderServiceImpl.java | 47 +++++++ .../com/gxwebsoft/generator/OaGenerator.java | 5 +- 14 files changed, 719 insertions(+), 47 deletions(-) create mode 100644 src/main/java/com/gxwebsoft/oa/controller/OrderController.java create mode 100644 src/main/java/com/gxwebsoft/oa/entity/Order.java create mode 100644 src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java create mode 100644 src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml create mode 100644 src/main/java/com/gxwebsoft/oa/param/OrderParam.java create mode 100644 src/main/java/com/gxwebsoft/oa/service/OrderService.java create mode 100644 src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java diff --git a/src/main/java/com/gxwebsoft/oa/controller/AppController.java b/src/main/java/com/gxwebsoft/oa/controller/AppController.java index 656cafc..718855a 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/AppController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/AppController.java @@ -19,8 +19,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR; @@ -42,6 +41,40 @@ public class AppController extends BaseController { @Resource private RedisUtil redisUtil; + @ApiOperation("统计信息") + @GetMapping("/data") + public ApiResult> data() { + Map data = new HashMap<>(); + Integer totalNum = appService.count( + new LambdaQueryWrapper() + .ne(App::getAppStatus, "已下架") + ); + Integer totalNum2 = appService.count( + new LambdaQueryWrapper() + .eq(App::getAppStatus, "开发中") + ); + Integer totalNum3 = appService.count( + new LambdaQueryWrapper() + .eq(App::getAppStatus, "已上架") + ); + Integer totalNum4 = appService.count( + new LambdaQueryWrapper() + .eq(App::getAppStatus, "已上架") + .eq(App::getShowExpiration,false) + ); + Integer totalNum5 = appService.count( + new LambdaQueryWrapper() + .eq(App::getAppStatus, "已下架") + ); + + data.put("totalNum", totalNum); + data.put("totalNum2", totalNum2); + data.put("totalNum3", totalNum3); + data.put("totalNum4", totalNum4); + data.put("totalNum5", totalNum5); + return success(data); + } + @ApiOperation("分页查询应用管理记录表") @GetMapping("/page") public ApiResult> page(AppParam param) { @@ -103,6 +136,7 @@ public class AppController extends BaseController { // 添加应用管理员 if (loginUser != null) { appUser.setUserId(loginUser.getUserId()); + appUser.setNickname(loginUser.getNickname()); appUser.setAppId(app.getAppId()); appUser.setRole(ADMINISTRATOR); appUserService.save(appUser); diff --git a/src/main/java/com/gxwebsoft/oa/controller/AssetsController.java b/src/main/java/com/gxwebsoft/oa/controller/AssetsController.java index 6468edf..f0d48c2 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/AssetsController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/AssetsController.java @@ -3,30 +3,27 @@ package com.gxwebsoft.oa.controller; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gxwebsoft.common.core.utils.BtUtil; -import com.gxwebsoft.common.core.web.BaseController; -import com.gxwebsoft.common.system.entity.User; -import com.gxwebsoft.oa.entity.AssetsUser; -import com.gxwebsoft.oa.service.AssetsService; -import com.gxwebsoft.oa.entity.Assets; -import com.gxwebsoft.oa.param.AssetsParam; import com.gxwebsoft.common.core.web.ApiResult; -import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.common.core.web.BatchParam; -import com.gxwebsoft.common.core.annotation.OperationLog; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.oa.entity.Assets; +import com.gxwebsoft.oa.entity.AssetsUser; +import com.gxwebsoft.oa.param.AssetsParam; +import com.gxwebsoft.oa.service.AssetsService; import com.gxwebsoft.oa.service.AssetsUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; +import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR; + /** * 服务器资产记录表控制器 * @@ -44,6 +41,34 @@ public class AssetsController extends BaseController { @Resource private BtUtil btUtil; + @ApiOperation("统计信息") + @GetMapping("/data") + public ApiResult> data() { + Map data = new HashMap<>(); + Integer totalNum = assetsService.count( + new LambdaQueryWrapper() + ); + Integer totalNum1 = assetsService.count( + new LambdaQueryWrapper() + .eq(Assets::getStatus, "运行中") + ); + Integer totalNum2 = assetsService.count( + new LambdaQueryWrapper() + .eq(Assets::getStatus, "已过期") + ); + Integer totalNum3 = assetsService.count( + new LambdaQueryWrapper() + .eq(Assets::getStatus, "已销毁") + ); + + + data.put("totalNum", totalNum); + data.put("totalNum1", totalNum1); + data.put("totalNum2", totalNum2); + data.put("totalNum3", totalNum3); + return success(data); + } + @ApiOperation("分页查询服务器资产记录表") @GetMapping("/page") public ApiResult> page(AssetsParam param) { @@ -82,11 +107,14 @@ public class AssetsController extends BaseController { @GetMapping("/{id}") public ApiResult get(@PathVariable("id") Integer id) { final Assets assets = assetsService.getByIdRel(id); - final BtUtil client = btUtil.client(id); - final String systemTotal = client.getSystemTotal(); - final String diskInfo = client.getDiskInfo(); - assets.setSystemTotal(systemTotal); - assets.setDiskInfo(diskInfo); + // 查询宝塔接口 + if(StrUtil.isNotBlank(assets.getBtSign())){ + final BtUtil client = btUtil.client(id); + final String systemTotal = client.getSystemTotal(); + final String diskInfo = client.getDiskInfo(); + assets.setSystemTotal(systemTotal); + assets.setDiskInfo(diskInfo); + } // 使用关联查询 return success(assets); } @@ -103,6 +131,15 @@ public class AssetsController extends BaseController { return fail("该IP地址已存在"); } if (assetsService.save(assets)) { + // 添加应用管理员 + if (loginUser != null) { + final AssetsUser assetsUser = new AssetsUser(); + assetsUser.setUserId(loginUser.getUserId()); + assetsUser.setNickname(loginUser.getNickname()); + assetsUser.setAssetsId(assets.getAssetsId()); + assetsUser.setRole(ADMINISTRATOR); + assetsUserService.save(assetsUser); + } return success("添加成功"); } return fail("添加失败"); diff --git a/src/main/java/com/gxwebsoft/oa/controller/CompanyController.java b/src/main/java/com/gxwebsoft/oa/controller/CompanyController.java index 2fafba2..e11e414 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/CompanyController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/CompanyController.java @@ -84,6 +84,7 @@ public class CompanyController extends BaseController { if (companyService.save(company)) { // 添加客户所有者 companyUser.setUserId(loginUser.getUserId()); + companyUser.setNickname(loginUser.getNickname()); companyUser.setCompanyId(company.getCompanyId()); companyUser.setRole(ADMINISTRATOR); companyUserService.save(companyUser); diff --git a/src/main/java/com/gxwebsoft/oa/controller/OrderController.java b/src/main/java/com/gxwebsoft/oa/controller/OrderController.java new file mode 100644 index 0000000..25c4528 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/controller/OrderController.java @@ -0,0 +1,112 @@ +package com.gxwebsoft.oa.controller; + +import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.oa.entity.Order; +import com.gxwebsoft.oa.param.OrderParam; +import com.gxwebsoft.oa.service.OrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 订单记录表控制器 + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +@Api(tags = "订单记录表管理") +@RestController +@RequestMapping("/api/oa/order") +public class OrderController extends BaseController { + @Resource + private OrderService orderService; + + @ApiOperation("分页查询订单记录表") + @GetMapping("/page") + public ApiResult> page(OrderParam param) { + // 使用关联查询 + return success(orderService.pageRel(param)); + } + + @ApiOperation("查询全部订单记录表") + @GetMapping() + public ApiResult> list(OrderParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("create_time desc"); + return success(orderService.list(page.getOrderWrapper())); + // 使用关联查询 + //return success(orderService.listRel(param)); + } + + @ApiOperation("根据id查询订单记录表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + return success(orderService.getById(id)); + // 使用关联查询 + //return success(orderService.getByIdRel(id)); + } + + @ApiOperation("添加订单记录表") + @PostMapping() + public ApiResult save(@RequestBody Order order) { + // 记录当前登录用户id + User loginUser = getLoginUser(); + if (loginUser != null) { + order.setUserId(loginUser.getUserId()); + } + if (orderService.save(order)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改订单记录表") + @PutMapping() + public ApiResult update(@RequestBody Order order) { + if (orderService.updateById(order)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除订单记录表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (orderService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加订单记录表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (orderService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改订单记录表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(orderService, "order_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除订单记录表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (orderService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/entity/AssetsUser.java b/src/main/java/com/gxwebsoft/oa/entity/AssetsUser.java index 9e2539d..dbd7a21 100644 --- a/src/main/java/com/gxwebsoft/oa/entity/AssetsUser.java +++ b/src/main/java/com/gxwebsoft/oa/entity/AssetsUser.java @@ -1,18 +1,16 @@ package com.gxwebsoft.oa.entity; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import java.time.LocalDateTime; -import java.io.Serializable; -import java.util.Date; - +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.util.Date; + /** * 服务器成员管理 * @@ -49,23 +47,6 @@ public class AssetsUser implements Serializable { private Date createTime; @ApiModelProperty(value = "昵称") - @TableField(exist = false) private String nickname; - @ApiModelProperty(value = "用户名") - @TableField(exist = false) - private String username; - - @ApiModelProperty(value = "手机号码") - @TableField(exist = false) - private String phone; - - @ApiModelProperty(value = "邮箱") - @TableField(exist = false) - private String email; - - @ApiModelProperty(value = "头像") - @TableField(exist = false) - private String avatar; - } diff --git a/src/main/java/com/gxwebsoft/oa/entity/CompanyUser.java b/src/main/java/com/gxwebsoft/oa/entity/CompanyUser.java index d0386ae..0d657f7 100644 --- a/src/main/java/com/gxwebsoft/oa/entity/CompanyUser.java +++ b/src/main/java/com/gxwebsoft/oa/entity/CompanyUser.java @@ -48,7 +48,6 @@ public class CompanyUser implements Serializable { private Date createTime; @ApiModelProperty(value = "昵称") - @TableField(exist = false) private String nickname; @ApiModelProperty(value = "用户名") diff --git a/src/main/java/com/gxwebsoft/oa/entity/Order.java b/src/main/java/com/gxwebsoft/oa/entity/Order.java new file mode 100644 index 0000000..e8cf8ab --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/entity/Order.java @@ -0,0 +1,128 @@ +package com.gxwebsoft.oa.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 订单记录表 + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Order对象", description = "订单记录表") +@TableName("oa_order") +public class Order implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "order_id", type = IdType.AUTO) + private Integer orderId; + + @ApiModelProperty(value = "订单号") + private String orderNo; + + @ApiModelProperty(value = "类型") + private Integer type; + + @ApiModelProperty(value = "付款金额") + private BigDecimal money; + + @ApiModelProperty(value = "实际付款金额(包含运费)") + private BigDecimal payPrice; + + @ApiModelProperty(value = "套餐ID") + private Integer planId; + + @ApiModelProperty(value = "卡ID") + private Integer priceId; + + @ApiModelProperty(value = "获得的会员等级") + private Integer gradeId; + + @ApiModelProperty(value = "卡名称") + private String priceName; + + @ApiModelProperty(value = "用户ID") + private Integer userId; + + @ApiModelProperty(value = "持有者ID") + private Integer memberId; + + @ApiModelProperty(value = "真实姓名") + private String realName; + + @ApiModelProperty(value = "联系电话") + private String phone; + + @ApiModelProperty(value = "付款时间") + private LocalDateTime payTime; + + @ApiModelProperty(value = "支付流水号") + private String transactionId; + + @ApiModelProperty(value = "付款状态(10未付款 20已付款)") + private Integer payStatus; + + @ApiModelProperty(value = "到期时间") + private LocalDateTime expirationTime; + + @ApiModelProperty(value = "所在省份") + private String province; + + @ApiModelProperty(value = "所在城市") + private String city; + + @ApiModelProperty(value = "所在辖区") + private String region; + + @ApiModelProperty(value = "所在地区") + private String area; + + @ApiModelProperty(value = "街道地址") + private String address; + + @ApiModelProperty(value = "退款凭证") + private String refundImage; + + @ApiModelProperty(value = "退款理由") + private String refundContent; + + @ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)") + private Integer isSettled; + + @ApiModelProperty(value = "排序(数字越小越靠前)") + private Integer sortNumber; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态, 0正常, 1冻结") + private Integer status; + + @ApiModelProperty(value = "是否删除, 0否, 1是") + @TableLogic + private Integer deleted; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + +} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java b/src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java new file mode 100644 index 0000000..6206aed --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/OrderMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.oa.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.oa.entity.Order; +import com.gxwebsoft.oa.param.OrderParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 订单记录表Mapper + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +public interface OrderMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") OrderParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") OrderParam param); + +} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/AssetsMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/AssetsMapper.xml index bae784d..76269fd 100644 --- a/src/main/java/com/gxwebsoft/oa/mapper/xml/AssetsMapper.xml +++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/AssetsMapper.xml @@ -4,8 +4,9 @@ - SELECT a.* + SELECT a.*,b.short_name,b.company_name FROM oa_assets a + LEFT JOIN oa_company b ON a.company_id = b.company_id AND a.assets_id = #{param.assetsId} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml new file mode 100644 index 0000000..3e1d220 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/OrderMapper.xml @@ -0,0 +1,124 @@ + + + + + + + SELECT a.* + FROM oa_order a + + + AND a.order_id = #{param.orderId} + + + AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%') + + + AND a.type = #{param.type} + + + AND a.money = #{param.money} + + + AND a.pay_price = #{param.payPrice} + + + AND a.plan_id = #{param.planId} + + + AND a.price_id = #{param.priceId} + + + AND a.grade_id = #{param.gradeId} + + + AND a.price_name LIKE CONCAT('%', #{param.priceName}, '%') + + + AND a.user_id = #{param.userId} + + + AND a.member_id = #{param.memberId} + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') + + + AND a.pay_time LIKE CONCAT('%', #{param.payTime}, '%') + + + AND a.transaction_id LIKE CONCAT('%', #{param.transactionId}, '%') + + + AND a.pay_status = #{param.payStatus} + + + AND a.expiration_time LIKE CONCAT('%', #{param.expirationTime}, '%') + + + AND a.province LIKE CONCAT('%', #{param.province}, '%') + + + AND a.city LIKE CONCAT('%', #{param.city}, '%') + + + AND a.region LIKE CONCAT('%', #{param.region}, '%') + + + AND a.area LIKE CONCAT('%', #{param.area}, '%') + + + AND a.address LIKE CONCAT('%', #{param.address}, '%') + + + AND a.refund_image LIKE CONCAT('%', #{param.refundImage}, '%') + + + AND a.refund_content LIKE CONCAT('%', #{param.refundContent}, '%') + + + AND a.is_settled = #{param.isSettled} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.deleted = #{param.deleted} + + + AND a.deleted = 0 + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.phone LIKE CONCAT('%', #{param.keywords}, '%') + OR a.order_no LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/oa/param/OrderParam.java b/src/main/java/com/gxwebsoft/oa/param/OrderParam.java new file mode 100644 index 0000000..424706d --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/param/OrderParam.java @@ -0,0 +1,128 @@ +package com.gxwebsoft.oa.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 订单记录表查询参数 + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "OrderParam对象", description = "订单记录表查询参数") +public class OrderParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer orderId; + + @ApiModelProperty(value = "订单号") + private String orderNo; + + @ApiModelProperty(value = "类型") + @QueryField(type = QueryType.EQ) + private Integer type; + + @ApiModelProperty(value = "付款金额") + @QueryField(type = QueryType.EQ) + private BigDecimal money; + + @ApiModelProperty(value = "实际付款金额(包含运费)") + @QueryField(type = QueryType.EQ) + private BigDecimal payPrice; + + @ApiModelProperty(value = "套餐ID") + @QueryField(type = QueryType.EQ) + private Integer planId; + + @ApiModelProperty(value = "卡ID") + @QueryField(type = QueryType.EQ) + private Integer priceId; + + @ApiModelProperty(value = "获得的会员等级") + @QueryField(type = QueryType.EQ) + private Integer gradeId; + + @ApiModelProperty(value = "卡名称") + private String priceName; + + @ApiModelProperty(value = "用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @ApiModelProperty(value = "持有者ID") + @QueryField(type = QueryType.EQ) + private Integer memberId; + + @ApiModelProperty(value = "真实姓名") + private String realName; + + @ApiModelProperty(value = "联系电话") + private String phone; + + @ApiModelProperty(value = "付款时间") + private String payTime; + + @ApiModelProperty(value = "支付流水号") + private String transactionId; + + @ApiModelProperty(value = "付款状态(10未付款 20已付款)") + @QueryField(type = QueryType.EQ) + private Integer payStatus; + + @ApiModelProperty(value = "到期时间") + private String expirationTime; + + @ApiModelProperty(value = "所在省份") + private String province; + + @ApiModelProperty(value = "所在城市") + private String city; + + @ApiModelProperty(value = "所在辖区") + private String region; + + @ApiModelProperty(value = "所在地区") + private String area; + + @ApiModelProperty(value = "街道地址") + private String address; + + @ApiModelProperty(value = "退款凭证") + private String refundImage; + + @ApiModelProperty(value = "退款理由") + private String refundContent; + + @ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)") + @QueryField(type = QueryType.EQ) + private Integer isSettled; + + @ApiModelProperty(value = "排序(数字越小越靠前)") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态, 0正常, 1冻结") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "是否删除, 0否, 1是") + @QueryField(type = QueryType.EQ) + private Integer deleted; + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/OrderService.java b/src/main/java/com/gxwebsoft/oa/service/OrderService.java new file mode 100644 index 0000000..85eae6d --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/OrderService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.oa.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.oa.entity.Order; +import com.gxwebsoft.oa.param.OrderParam; + +import java.util.List; + +/** + * 订单记录表Service + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +public interface OrderService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(OrderParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(OrderParam param); + + /** + * 根据id查询 + * + * @param orderId ID + * @return Order + */ + Order getByIdRel(Integer orderId); + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java new file mode 100644 index 0000000..0ea08f0 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/impl/OrderServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.oa.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.oa.mapper.OrderMapper; +import com.gxwebsoft.oa.service.OrderService; +import com.gxwebsoft.oa.entity.Order; +import com.gxwebsoft.oa.param.OrderParam; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 订单记录表Service实现 + * + * @author 科技小王子 + * @since 2024-02-29 18:02:30 + */ +@Service +public class OrderServiceImpl extends ServiceImpl implements OrderService { + + @Override + public PageResult pageRel(OrderParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(OrderParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + //page.setDefaultOrder("create_time desc"); + return page.sortRecords(list); + } + + @Override + public Order getByIdRel(Integer orderId) { + OrderParam param = new OrderParam(); + param.setOrderId(orderId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/test/java/com/gxwebsoft/generator/OaGenerator.java b/src/test/java/com/gxwebsoft/generator/OaGenerator.java index 0771c2a..0d60111 100644 --- a/src/test/java/com/gxwebsoft/generator/OaGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/OaGenerator.java @@ -56,8 +56,9 @@ public class OaGenerator { // "oa_product_tabs", // "oa_app_field", // "oa_link", - "oa_company_field", - "oa_company_user" +// "oa_company_field", +// "oa_company_user", + "oa_order" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{