patch_login_user.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import re
  2. from pathlib import Path
  3. ROOT = Path(r"F:/shop/java-rewrite/yoshop-java/src/main/java/cn/yoshop/store/controller")
  4. files = [
  5. "ClientH5SettingController.java", "GoodsCommentController.java",
  6. "MarketCouponController.java", "MarketRechargePlanController.java",
  7. "OrderDeliveryController.java", "OrderEventController.java",
  8. "OrderExportController.java", "SettingDeliveryController.java",
  9. "SettingExpressController.java", "SettingPaymentController.java",
  10. "SettingPaymentTemplateController.java", "SettingPrinterController.java",
  11. "UserGradeController.java",
  12. ]
  13. body_re = re.compile(
  14. r"LoginInfo info = \(LoginInfo\) request\.getAttribute\(\"loginInfo\"\);\s*\n\s*return info == null \? 0 : \(int\) info\.getStoreId\(\);"
  15. )
  16. for name in files:
  17. p = ROOT / name
  18. text = p.read_text(encoding="utf-8")
  19. new, n_body = body_re.subn("return StoreContext.storeId(request);", text)
  20. if n_body != 1:
  21. print(f"WARN {name}: body replaced {n_body} times")
  22. new, n_imp = re.subn(
  23. r"import cn\.yoshop\.common\.auth\.LoginInfo;",
  24. "import cn.yoshop.common.web.StoreContext;",
  25. new,
  26. )
  27. if n_imp != 1:
  28. print(f"WARN {name}: import replaced {n_imp} times")
  29. if new != text:
  30. p.write_text(new, encoding="utf-8")
  31. print(f"OK {name}")