jiaosong
2023-10-07 fccdf247da81cc79ddcf78bf0fa2d6be920873d0
#pgsql 订单模块
已添加6个文件
已修改2个文件
481 ■■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/db/business.base_param.permissions.sql 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/GoodsorderMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/join/GoodsorderJoinMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
package com.doumee.api.business;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/09/27 18:06
 */
@Api(tags = "订单信息表")
@RestController
@RequestMapping("/business/goodsorder")
public class GoodsorderController {
    @Autowired
    private GoodsorderService goodsorderService;
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:goodsorder:create")
    public ApiResponse create(@RequestBody Goodsorder goodsorder) {
        return ApiResponse.success(goodsorderService.create(goodsorder));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:goodsorder:delete")
    public ApiResponse deleteById(@PathVariable String id) {
        goodsorderService.deleteById(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("business:goodsorder:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        String [] idArray = ids.split(",");
        List<String> idList = new ArrayList<>();
        for (String id : idArray) {
            idList.add(id);
        }
        goodsorderService.deleteByIdInBatch(idList);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("business:goodsorder:update")
    public ApiResponse updateById(@RequestBody Goodsorder goodsorder) {
        goodsorderService.updateById(goodsorder);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
        return ApiResponse.success(goodsorderService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(Goodsorder.class).export(goodsorderService.findPage(pageWrap).getRecords(), "自行车信息表", response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse findById(@PathVariable String id) {
        return ApiResponse.success(goodsorderService.findById(id));
    }
}
server/services/db/business.base_param.permissions.sql
@@ -1,6 +1,6 @@
INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:baseparam:create', '新建系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:baseparam:delete', '删除系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:baseparam:update', '修改系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:baseparam:query', '查询系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:baseparam:exportExcel', '导出系统基础配置表(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO SYSTEM_PERMISSION(CODE, NAME, REMARK, FIXED, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, DELETED) VALUES ('business:baseparam:create', '新建系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO SYSTEM_PERMISSION(CODE, NAME, REMARK, FIXED, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, DELETED) VALUES ('business:baseparam:delete', '删除系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO SYSTEM_PERMISSION(CODE, NAME, REMARK, FIXED, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, DELETED) VALUES ('business:baseparam:update', '修改系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO SYSTEM_PERMISSION(CODE, NAME, REMARK, FIXED, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, DELETED) VALUES ('business:baseparam:query', '查询系统基础配置表', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
INSERT INTO SYSTEM_PERMISSION(CODE, NAME, REMARK, FIXED, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME, DELETED) VALUES ('business:baseparam:exportExcel', '导出系统基础配置表(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
server/services/src/main/java/com/doumee/dao/business/GoodsorderMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,11 @@
package com.doumee.dao.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Goodsorder;
/**
 * @author T14
 */
public interface GoodsorderMapper extends BaseMapper<Goodsorder> {
}
server/services/src/main/java/com/doumee/dao/business/join/GoodsorderJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,12 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.Goodsorder;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import org.springframework.stereotype.Repository;
/**
 * @author T14
 */
@Repository
public interface GoodsorderJoinMapper  extends MPJJoinMapper<Goodsorder> {
}
server/services/src/main/java/com/doumee/dao/business/model/BaseParam.java
@@ -17,7 +17,7 @@
 */
@Data
@ApiModel("系统基础配置表")
@TableName("`base_param`")
@TableName("base_param")
public class BaseParam {
    @ApiModelProperty(value = "编码")
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * è®¢å•信息表
 * @author æ±Ÿè¹„蹄
 * @date 2023/09/27 18:06
 */
@Data
@ApiModel("订单信息表")
@TableName("\"goodsorder\"")
public class Goodsorder {
    @ApiModelProperty(value = "编码")
    @ExcelColumn(name="编码")
    private String id;
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "创建人")
    @ExcelColumn(name="创建人")
    private String creator;
    @ApiModelProperty(value = "编辑时间")
    @ExcelColumn(name="编辑时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "编辑人")
    @ExcelColumn(name="编辑人")
    private String editor;
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除", example = "1")
    @ExcelColumn(name="是否已删除 0未删除 1已删除")
    private Integer isdeleted;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String info;
    @ApiModelProperty(value = "订单编码")
    @ExcelColumn(name="订单编码")
    private String code;
    @ApiModelProperty(value = "用户编码(关联member表)")
    @ExcelColumn(name="用户编码(关联member表)")
    private String memberId;
    @ApiModelProperty(value = "用户编码(关联member表)")
    @ExcelColumn(name="用户名称(关联member表)")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "交易金额")
    @ExcelColumn(name="交易金额")
    private BigDecimal money;
    @ApiModelProperty(value = "状态 0待支付 1已支付 2已取消 3支付失败 4已结算")
    @ExcelColumn(name="状态 0待支付 1已支付 2已取消 3支付失败 4已结算")
    private Integer status;
    @ApiModelProperty(value = "交易预订单号")
    @ExcelColumn(name="交易预订单号")
    private String preOrderid;
    @ApiModelProperty(value = "在线交易单号")
    @ExcelColumn(name="在线交易单号")
    private String onlineOrderid;
    @ApiModelProperty(value = "支付状态 0待支付 1已支付")
    @ExcelColumn(name="支付状态 0待支付 1已支付")
    private Integer payStatus;
    @ApiModelProperty(value = "支付方式 0微信 1支付宝")
    @ExcelColumn(name="支付方式 0微信 1支付宝")
    private String payWay;
    @ApiModelProperty(value = "支付时间")
    @ExcelColumn(name="支付时间")
    private Date payDate;
    @ApiModelProperty(value = "交易类型 0租车押金")
    @ExcelColumn(name="交易类型 0租车押金")
    private Integer type;
    @ApiModelProperty(value = "结算金额(分)")
    @ExcelColumn(name="结算金额(分)")
    private BigDecimal closeMoney;
    @ApiModelProperty(value = "结算退款单号(关联refund)")
    @ExcelColumn(name="结算退款单号(关联refund)")
    private String closeId;
    @ApiModelProperty(value = "结算时间")
    @ExcelColumn(name="结算时间")
    private Date closeDate;
    @ApiModelProperty(value = "结算备注")
    @ExcelColumn(name="结算备注")
    private String closeInfo;
    @ApiModelProperty(value = "结算操作人编码(关联system_user)")
    @ExcelColumn(name="结算操作人编码(关联system_user)")
    private String closeUserId;
    @ApiModelProperty(value = "结算类型 0自动结算 1平台人工结算 2系统自动结算")
    @ExcelColumn(name="结算类型 0自动结算 1平台人工结算 2系统自动结算")
    private Integer closeType;
}
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,101 @@
package com.doumee.service.business;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Bikes;
import com.doumee.dao.business.model.Goodsorder;
import java.util.List;
/**
 * è®¢å•信息表Service定义
 * @author æ±Ÿè¹„蹄
 * @date 2023/09/27 18:06
 */
public interface GoodsorderService {
    /**
     * åˆ›å»º
     *
     * @param goodsorder å®žä½“对象
     * @return String
     */
    String create(Goodsorder goodsorder);
    /**
     * ä¸»é”®åˆ é™¤
     *
     * @param id ä¸»é”®
     */
    void deleteById(String id);
    /**
     * åˆ é™¤
     *
     * @param goodsorder å®žä½“对象
     */
    void delete(Goodsorder goodsorder);
    /**
     * æ‰¹é‡ä¸»é”®åˆ é™¤
     *
     * @param ids ä¸»é”®é›†
     */
    void deleteByIdInBatch(List<String> ids);
    /**
     * ä¸»é”®æ›´æ–°
     *
     * @param goodsorder å®žä½“对象
     */
    void updateById(Goodsorder goodsorder);
    /**
     * æ‰¹é‡ä¸»é”®æ›´æ–°
     *
     * @param goodsorders å®žä½“集
     */
    void updateByIdInBatch(List<Goodsorder> goodsorders);
    /**
     * ä¸»é”®æŸ¥è¯¢
     *
     * @param id ä¸»é”®
     * @return Goodsorder
     */
    Goodsorder findById(String id);
    /**
     * æ¡ä»¶æŸ¥è¯¢å•条记录
     *
     * @param goodsorder å®žä½“对象
     * @return Goodsorder
     */
    Goodsorder findOne(Goodsorder goodsorder);
    /**
     * æ¡ä»¶æŸ¥è¯¢
     *
     * @param goodsorder å®žä½“对象
     * @return List<Goodsorder>
     */
    List<Goodsorder> findList(Goodsorder goodsorder);
    /**
     * åˆ†é¡µæŸ¥è¯¢
     *
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<Goodsorder>
     */
    PageData<Goodsorder> findPage(PageWrap<Goodsorder> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
     *
     * @param goodsorder å®žä½“对象
     * @return long
     */
    long count(Goodsorder goodsorder);
}
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.doumee.service.business.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.GoodsorderMapper;
import com.doumee.dao.business.join.GoodsorderJoinMapper;
import com.doumee.dao.business.model.Bikes;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.Member;
import com.doumee.service.business.GoodsorderService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Service
public class GoodsorderServiceImpl implements GoodsorderService {
    @Autowired
    private GoodsorderMapper goodsorderMapper;
    @Autowired
    GoodsorderJoinMapper goodsorderJoinMapper;
    @Override
    public String create(Goodsorder goodsorder) {
        goodsorderMapper.insert(goodsorder);
        return goodsorder.getId();
    }
    @Override
    public void deleteById(String id) {
        goodsorderMapper.deleteById(id);
    }
    @Override
    public void delete(Goodsorder goodsorder) {
        UpdateWrapper<Goodsorder> deleteWrapper = new UpdateWrapper<>(goodsorder);
        goodsorderMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<String> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        goodsorderMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(Goodsorder goodsorder) {
        goodsorderMapper.updateById(goodsorder);
    }
    @Override
    public void updateByIdInBatch(List<Goodsorder> goodsorders) {
        if (CollectionUtils.isEmpty(goodsorders)) {
            return;
        }
        for (Goodsorder goodsorder: goodsorders) {
            this.updateById(goodsorder);
        }
    }
    @Override
    public Goodsorder findById(String id) {
        return goodsorderMapper.selectById(id);
    }
    @Override
    public Goodsorder findOne(Goodsorder goodsorder) {
        QueryWrapper<Goodsorder> wrapper = new QueryWrapper<>(goodsorder);
        return goodsorderMapper.selectOne(wrapper);
    }
    @Override
    public List<Goodsorder> findList(Goodsorder goodsorder) {
        QueryWrapper<Goodsorder> wrapper = new QueryWrapper<>(goodsorder);
        return goodsorderMapper.selectList(wrapper);
    }
    @Override
    public PageData<Goodsorder> findPage(PageWrap<Goodsorder> pageWrap) {
        IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getCode() != null) {
            queryWrapper.like(Goodsorder::getCode, pageWrap.getModel().getCode());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.eq(Goodsorder::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getOnlineOrderid() != null) {
            queryWrapper.eq(Goodsorder::getOnlineOrderid, pageWrap.getModel().getOnlineOrderid());
        }
        if (pageWrap.getModel().getPayDate() != null) {
            queryWrapper.ge(Goodsorder::getPayDate, Utils.Date.getStart(pageWrap.getModel().getPayDate()));
            queryWrapper.le(Goodsorder::getPayDate, Utils.Date.getEnd(pageWrap.getModel().getPayDate()));
        }
        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
        queryWrapper.selectAll(Goodsorder.class)
                    .selectAs(Member::getName,Goodsorder::getMemberName)
                    .leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
                    .like(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),Member::getName,pageWrap.getModel().getMemberName());
        return PageData.from(goodsorderJoinMapper.selectJoinPage(page, Goodsorder.class,queryWrapper));
    }
    @Override
    public long count(Goodsorder goodsorder) {
        QueryWrapper<Goodsorder> wrapper = new QueryWrapper<>(goodsorder);
        return goodsorderMapper.selectCount(wrapper);
    }
}