团队作业4——项目冲刺-第六篇

团队作业4——项目冲刺-第六篇

这个作业属于哪个课程 <计科22级34班>
这个作业要求在哪里 <作业要求>
这个作业的目标 完成连续七天的项目冲刺
GitHub 链接 https://github.com/tangliweiwww/ChatGpt

一、团队

1.团队名称:Elegance

2.团队成员

姓名 班级 学号
唐立伟(组长) 计科4班 3122005404
吴秋雪 计科3班 3222004892
黄妍仪 计科4班 3222004767
李思柔 计科4班 3222004638
何晓漫 计科4班 3222004765

二、站立式会议

三、任务情况

1.昨天已完成的工作

成员 内容
唐立伟 顺滑前后端对接处
吴秋雪 顺滑前后端对接处
黄妍仪 优化前端页面
李思柔 进行了小范围的代码评审
何晓漫 进行测试

2.今天完成的工作

成员 内容
唐立伟 订单模块各种情况处理
吴秋雪 完善支付
黄妍仪 页面优化
李思柔 前端页面优化
何晓漫 对代码进行测试

3.工作中遇到的困难

成员 内容
唐立伟 付款问题
吴秋雪 付款Api对接问题
黄妍仪 页面混乱
李思柔 测试不通过
何晓漫 测试不通过

四、燃尽图

五、每人的代码/文档签入记录

1.代码签入



3、code review编码规范文档如有变化要及时更新

img

六、适当的项目程序/模块的最新(运行)截图

1.最新模块的代码

@Slf4j
@Component()
public class NoPayNotifyOrderJob {

    @Resource
    private IOrderService orderService;
    @Autowired(required = false)
    private NativePayService payService;
    @Resource
    private EventBus eventBus;

    @Value("${wxpay.config.mchid}")
    private String mchid;

    private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");

    @Scheduled(cron = "0 0/1 * * * ?")
    public void exec() {
        try {
            if (null == payService) {
                log.info("定时任务,订单支付状态更新。应用未配置支付渠道,任务不执行。");
                return;
            }
            List<String> orderIds = orderService.queryNoPayNotifyOrder();
            if (orderIds.isEmpty()) {
                log.info("定时任务,订单支付状态更新,暂无未更新订单 orderId is null");
                return;
            }
            for (String orderId : orderIds) {
                // 查询结果
                QueryOrderByOutTradeNoRequest request = new QueryOrderByOutTradeNoRequest();
                request.setMchid(mchid);
                request.setOutTradeNo(orderId);
                Transaction transaction = payService.queryOrderByOutTradeNo(request);
                if (!Transaction.TradeStateEnum.SUCCESS.equals(transaction.getTradeState())) {
                    log.info("定时任务,订单支付状态更新,当前订单未支付 orderId is {}", orderId);
                    continue;
                }
                // 支付单号
                String transactionId = transaction.getTransactionId();
                Integer total = transaction.getAmount().getTotal();
                BigDecimal totalAmount = new BigDecimal(total).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
                String successTime = transaction.getSuccessTime();
                // 更新订单
                boolean isSuccess = orderService.changeOrderPaySuccess(orderId, transactionId, totalAmount, dateFormat.parse(successTime));
                if (isSuccess) {
                    // 发布消息
                    eventBus.post(orderId);
                }
            }
        } catch (Exception e) {
            log.error("定时任务,订单支付状态更新失败", e);
        }
    }

}

2.运行结果的截图



七、每日每人总结

成员 总结
唐立伟 今天,我负责了代码的维护,提高了代码的可读性和可维护性
吴秋雪 我负责了项目的部署和监控,确保了系统的稳定运行
黄妍仪 我进行了用户反馈的收集和分析,为产品的迭代提供了依据
李思柔 我负责了项目的最终测试,确保了产品的高质量交付
何晓漫 今天,我负责了项目的资源规划,为项目的资源分配提供了合理的方案
posted @ 2024-11-16 14:15  金奎彬bbbbbb  阅读(3)  评论(0编辑  收藏  举报