2025-07-11 15:11:36 +08:00
2024-07-12 09:58:53 +08:00
2023-06-14 10:04:20 +08:00
2025-07-11 15:11:36 +08:00
2019-04-19 11:19:26 +08:00
2019-04-19 11:19:26 +08:00
2019-04-19 11:19:26 +08:00
2022-11-15 16:05:16 +08:00
2019-04-19 11:19:26 +08:00
2022-11-15 16:05:16 +08:00
2022-10-17 17:48:50 +08:00
2023-01-04 00:43:40 +08:00
heb
2023-02-01 16:29:00 +08:00
2023-06-14 10:04:20 +08:00
2023-02-14 15:35:48 +08:00
2023-10-16 14:21:50 +08:00

这个变量用来干啥子

//短信发送内容,需调用三方发送短信接口
String str = "您的取票码为:" + pt.getTicketCode() + "," + "验证码为:" + pt.getVerifyCode();

字符串SQL语句常亮没有定义好

private final String UPDATE_TOUR = "UPDATE_TOUR";
改成
private static final String UPDATE_TOUR = "UPDATE_TOUR";

idea支持快捷键: prsf 和 psf

[TOC]

命名空间不正确

com.pangding.web.order
改成
com.pangding.web.order

Demo相关类需要删除

  • DemoDaoImpl
  • DemoDao
  • DemoLogFeign
  • DemoService
  • DemoServiceImpl
  • DemoController
  • DemoVo

包名建议最好不要包含同样类型的定义

vo.pdvo
vo.requestvo
vo.responsevo
改成
vo.pd
vo.request
vo.response

类注释方法注释不够全,最好采用标准注释(参照 todo:)(已修改)

/**
 * @Description pd_a_capital_flow数据库操作类
 * @author xxx
 * @date 2019年04月22日 15:48:37 
 */ 
@Component 
public class PdACapitalFlowDaoImpl extends BaseDaoImpl implements PdACapitalFlowDao {
    protected void init(){
        register(PdACapitalFlowVo.class);
        Table.add(DaoConst.Query, "SELECT * FROM pd_capital_flow");
    }
    public PageSizeData<PdACapitalFlowVo> query(PageSizeReqVo req) {
        return this.queryPage(PdACapitalFlowVo.class, req, DaoConst.Query, req);
    }
}

改成

/**
 * todo: 资金流水数据库操作类
 * @author todo: 牟佳利
 * @date 2019年04月22日 15:48:37 
 */ 
@Component 
public class PdACapitalFlowDaoImpl extends BaseDaoImpl implements PdACapitalFlowDao {
    /**
    * todo: 这里最好编写注释
    */
    protected void init(){
        register(PdACapitalFlowVo.class);
        Table.add(DaoConst.Query, "SELECT * FROM pd_capital_flow");
    }
    /**
    * todo: 这里最好编写注释
    */
    public PageSizeData<PdACapitalFlowVo> query(PageSizeReqVo req) {
        return this.queryPage(PdACapitalFlowVo.class, req, DaoConst.Query, req);
    }
}

查询条件存在时间盲区 (已修改)

如:第一次查询:2018-1-5 到 2018-1-8 ,第二次查询:2018-1-8 到2018-1-9。 这时因为只存在于>时间,假如存在一条数据2018-1-8 00:00:00你会发现这条数据查询不到。 需要将时间改成 >= 和 < 组合,而不是 > 和 < 组合.

table.add(QUERY_CAPITAL_FLOW_LIST, "SELECT \n" +
    "f.id,f.time,\n" +
    "f.company_name productCompanyName,\n" +
    "f.order_id orderId,\n" +
    "f.category,\n" +
    "f.money,\n" +
    "f.handling_fee handlingFee,\n" +
    "f.arrival_money arrivalMoney,\n" +
    "f.status\n" +
    "FROM pd_capital_flow f where  1=1")
    .add("orderBeginTime", "and  f.time>?")
    .add("orderEndTime", "and f.time<?")
    .add("orderId", "and f.order_id = ?")
    .add("orderType", "and f.category=?");

#SQL语句条件降价规范如空格全部写在语句的前面已修改

table.add(QUERY_VERIFICATION_LIST, "select \n" +
      "                t.id,\n" +
      "\t\t\t\t\t o.order_time orderTime,\n" +
      "                t.order_id orderId,\n" +
      "                o.product_name productName,\n" +
      "                o.order_type orderType,\n" +
      "               o.order_num orderNum,\n" +
      "               o.total_money totalMoney\n" +
      "\t\t\t\t\t t.ticket_status  ticketStatus,\n" +
      "\t\t\t\t\t t.time \n" +
      "                from\n" +
      "                pd_order_ticket_detail t\n" +
      "                left join pd_order o on t.order_id = o.id  where 1=1")
      .add("productName", "and  o.product_name like concat('%',?,'%')")
      .add("orderId", " and t.order_id = ?")
      .add("orderType", " and  o.order_type=?")
      .add("orderBeginTime", "and  o.order_time>?")
      .add("orderEndTime", "and o.order_time <?");

改成条件空格结尾:

      .add("productName", "and o.product_name like concat('%',?,'%') ")
      .add("orderId", "and t.order_id = ? ")
      .add("orderType", "and  o.order_type=? ")
      .add("orderBeginTime","and  o.order_time>? ")
      .add("orderEndTime", "and o.order_time <? ");

另外: like 建议不要在前面增加 '%' 符号,这样可以利用索引

状态不要使用中文

o.setRefundStatus("退款中");

退票逻辑不正确(已修改)


@Override
public void refundTicket(PdRefundTicket req) {
    req.setId(StringHelper.getNewID());
    req.setRefundDate(DateHelper.getNow());
    refundTicketDao.create(req);
    
    // 这里最好增加一行注释用于描述要干什么
    PdOrderTicketDetail pt = new PdOrderTicketDetail();
    pt.setOrderId(req.getOrderId());
    // todo: 下面的状态不正确
    pt.setTicketStatus(0);
    orderDetailTicketDao.updateTicket(pt);
}

建议数据库int、String、decimal型字段不允许为空

  • 防止统计、查询时影响性能
  • 防止获取值去进行累加时出现null,null去加是容易出错的所以干脆在写入时进行限制
  • 注意,写入时需要写入默认值0,空字符串等

存在 returnTicket 和 refundOrder 这两个函数(已修改)

  • 通过备注详细描述,退单和退票的区别

ReservationServiceImpl、OrderService订单创建不在该模块中需要描述这些功能在哪个项目中

  • 该类中不存在餐饮创建函数
  • control中也缺少调用函数
  • 请问订单创建函数在哪里
  • 所有的创建逻辑在哪里

-----------------------------------2019-5-15日------------------

如下代码逻辑不合理(已修改)


//更新第三方订单号
if (null != req.getThirdOrderId()) {
    //注意更新的都需要load一下再更新
    PdOrderRequest from = orderStatusDao.load(req, PdOrderRequest.class);
    ObjectHelper.writeWithFrom(from, req);
    // todo: 这里应该是from
    orderStatusDao.updateThirdOrder(req);
}
//电话不为空 则需要更新订单游客表的信息
if (null != req.getTelephone()) {
    // todo : 这里是通过orderId进行更新需要注意的是 orderId和thirdOrderID中只有一个参数是必传
    orderTourDao.updateTour(req);
}

退款、退票根据类型需要调用第三方接口

订单PdOrderDaoImpl查询语句需要整合成一条语句

分布式程序中不能用 Scheduled,需要采用消息队列发送

@Scheduled(cron = "0 0 12 * * ?")
Description
No description provided
Readme 3.3 MiB