import re from pathlib import Path ROOT = Path(r"F:/shop/java-rewrite/yoshop-java/src/main/java/cn/yoshop/store/controller") files = [ "ClientH5SettingController.java", "GoodsCommentController.java", "MarketCouponController.java", "MarketRechargePlanController.java", "OrderDeliveryController.java", "OrderEventController.java", "OrderExportController.java", "SettingDeliveryController.java", "SettingExpressController.java", "SettingPaymentController.java", "SettingPaymentTemplateController.java", "SettingPrinterController.java", "UserGradeController.java", ] body_re = re.compile( r"LoginInfo info = \(LoginInfo\) request\.getAttribute\(\"loginInfo\"\);\s*\n\s*return info == null \? 0 : \(int\) info\.getStoreId\(\);" ) for name in files: p = ROOT / name text = p.read_text(encoding="utf-8") new, n_body = body_re.subn("return StoreContext.storeId(request);", text) if n_body != 1: print(f"WARN {name}: body replaced {n_body} times") new, n_imp = re.subn( r"import cn\.yoshop\.common\.auth\.LoginInfo;", "import cn.yoshop.common.web.StoreContext;", new, ) if n_imp != 1: print(f"WARN {name}: import replaced {n_imp} times") if new != text: p.write_text(new, encoding="utf-8") print(f"OK {name}")