123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- package com.mall.config;
- import com.alibaba.druid.wall.WallFilter;
- import com.jfinal.config.*;
- import com.jfinal.core.JFinal;
- import com.jfinal.ext.handler.ContextPathHandler;
- import com.jfinal.ext.interceptor.SessionInViewInterceptor;
- import com.jfinal.kit.PropKit;
- import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
- import com.jfinal.plugin.activerecord.tx.TxByMethodRegex;
- import com.jfinal.plugin.druid.DruidPlugin;
- import com.jfinal.plugin.druid.DruidStatViewHandler;
- import com.jfinal.plugin.ehcache.EhCachePlugin;
- import com.jfinal.render.ViewType;
- import com.jfinal.template.Engine;
- import com.jfinal.weixin.sdk.api.ApiConfig;
- import com.jfinal.weixin.sdk.api.ApiConfigKit;
- import com.mall.controller.act.ActInfoController;
- import com.mall.controller.common.CommonController;
- import com.mall.controller.common.IndexController;
- import com.mall.controller.common.WechatApiController;
- import com.mall.controller.common.WechatMsgController;
- import com.mall.controller.merchant.MerchantController;
- import com.mall.controller.product.*;
- import com.mall.controller.sys.*;
- import com.mall.controller.user.*;
- import com.mall.controller.wx.*;
- import com.mall.model._MappingKit;
- import com.mall.model.sys.SysRoleBtn;
- import com.mall.quartz.QuartzPlugin;
- import org.apache.log4j.Logger;
- /**
- * API引导式配置
- */
- public class MyConfig extends JFinalConfig {
- private static Logger logger = Logger.getLogger(MyConfig.class);
- /**
- * 配置常量
- */
- public void configConstant(Constants me) {
- PropKit.use("config.properties"); // 加载少量必要配置,随后可用PropKit.get(...)获取值
- me.setDevMode(PropKit.getBoolean("devMode", false));
- me.setViewType(ViewType.JSP);// 2.2中默认的视图为jsp
- me.setEncoding("utf-8");
- me.setError404View("common/404.jsp");
- me.setError500View("common/500.jsp");
- }
- /**
- * 配置路由
- * base ==“/”== webcontent目录下
- * me.add(第一个参数是请求路径,第二个参数是哪个class响应,第三个参数是响应的web子目录)
- */
- public void configRoute(Routes me) {
- me.add("/", IndexController.class,"/web"); // 第三个参数为该Controller的视图存放路径
- me.add("/common", CommonController.class, "/web");//公共
- me.add("/sysUser", SysUserController.class, "/web");// 用户
- me.add("/sysDept", SysDeptController.class, "/web");// 部门
- me.add("/sysRole", SysRoleController.class, "/web");// 角色
- me.add("/sysRoleMenu", SysRoleMenuController.class, "/web");// 角色菜单
- me.add("/sysRoleBtn", SysRoleBtnController.class, "/web");// 角色按钮
- me.add("/sysUserRole", SysUserRoleController.class, "/web");// 用户角色
- me.add("/sysMenu", SysMenuController.class, "/web");// 菜单
- me.add("/sysMenuBtn", SysMenuBtnController.class, "/web");// 菜单按钮
- me.add("/sysCode", SysCodeController.class, "/web");// 编码
- me.add("/sysDictType", SysDictTypeController.class, "/web"); // 字典类型
- me.add("/sysDictDetail", SysDictDetailController.class, "/web"); // 数据字典
- me.add("/sysControlParam", SysControlParamController.class, "/web"); // 控制参数
- me.add("/sysCustom", SysCustomController.class, "/web"); // 客服设置
- me.add("/sysAmount", SysAmountController.class, "/web"); // 收款管理
- me.add("/sysCompany", SysCompanyController.class, "/web"); // 公司管理
-
- me.add("/product",ProductController.class,"/web");//商品
- me.add("/productCard",ProductCardController.class,"/web");//商品抵用券
- me.add("/productExchange",ProductExchangeController.class,"/web");//商品
- me.add("/productBrand",ProductBrandController.class,"/web");//商品品牌
- me.add("/productCategory",ProductCategoryController.class,"/web");//商品分类
- me.add("/users",UsersController.class,"/web");//会员
- me.add("/userAddress",UserAddressController.class,"/web");//收货地址
- me.add("/userCart",UserCartController.class,"/web");//购物车
- me.add("/userMsg",UserMsgController.class,"/web");//会员消息
- me.add("/userFeedback",UserFeedbackController.class,"/web");//会员反馈
- me.add("/userComplain",UserComplainController.class,"/web");//会员反馈
- me.add("/userOrderComment",UserOrderCommentController.class,"/web");//订单评价
- me.add("/userOrder",UserOrderController.class,"/web");//订单
- me.add("/userOrderDetail",UserOrderDetailController.class,"/web");//订单明细
- me.add("/userOrderPay",UserOrderPayController.class,"/web");//订单支付日志
- me.add("/userCollect",UserCollectController.class,"/web");//商品收藏
- me.add("/userIntegral",UserIntegralController.class,"/web");//会员积分
- me.add("/userMoney",UserMoneyController.class,"/web");//会员余额
- me.add("/userCardOrder",UserCardOrderController.class,"/web");//会员水票订单
- me.add("/userCard",UserCardController.class,"/web");//会员水票
- me.add("/userViewLog",UserViewLogController.class,"/web");//访问日志
- me.add("/userShareLog",UserShareLogController.class,"/web");//分享日志
- me.add("/userCoupon",UserCouponController.class,"/web");//优惠券
- me.add("/cutInfo", CutInfoController.class,"/web");//砍价信息
- me.add("/cutDetail",CutDetailController.class,"/web");//砍价详情
- me.add("/wxNav", WxNavController.class, "/web");// 微信首页导航
- me.add("/wxMenu", WxMenuController.class, "/web");// 微信菜单
- me.add("/wxMsg", WxMsgController.class, "/web");// 微信图文消息
- me.add("/wxMsgType", WxMsgTypeController.class, "/web");// 微信图文消息类型
- me.add("/wxReply", WxReplyController.class, "/web");// 微信回复消息
- me.add("/msg", WechatMsgController.class, "/mobile");// 微信响应
- me.add("/wechat", WechatApiController.class, "/mobile");// 微信接口
-
- me.add("/actInfo", ActInfoController.class, "/web");// 活动信息
- me.add("/merchant", MerchantController.class, "/web");// 商户信息
- }
- /**
- * 配置插件
- */
- public void configPlugin(Plugins me) {
- logger.info("配置插件开始..");
- DruidPlugin dp = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"));
- WallFilter wf = new WallFilter();
- wf.setDbType("mysql");
- dp.addFilter(wf);
- dp.setConnectionInitSql("set names utf8mb4;");
- me.add(dp);
- // 配置ActiveRecord插件
- ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
- me.add(arp);
- // 所有配置在 MappingKit 中搞定
- _MappingKit.mapping(arp);
- QuartzPlugin quartz = new QuartzPlugin();
- me.add(quartz);
- // 配置Ecache插件
- me.add(new EhCachePlugin());
- logger.info("配置插件结束..");
- }
- /**
- * 配置全局拦截器
- */
- public void configInterceptor(Interceptors me) {
- me.add(new TxByMethodRegex("(.*submit.*|.*save.*|.*update.*|.*delete.*)"));// 2.2改动
- me.add(new SessionInViewInterceptor());
- }
- /**
- * 配置处理器
- */
- public void configHandler(Handlers me) {
- logger.info("配置处理器开始..");
- me.add(new ContextPathHandler("base"));
- DruidStatViewHandler dsvh = new DruidStatViewHandler("/druid");
- me.add(dsvh);
- logger.info("配置处理器结束..");
- }
- @Override
- public void afterJFinalStart() {
- logger.info("afterJFinalStart开始..");
- ApiConfig ac = new ApiConfig();
- // 配置微信 API 相关参数
- ac.setToken(PropKit.get("token"));
- ac.setAppId(PropKit.get("appId"));
- ac.setAppSecret(PropKit.get("appSecret"));
- /**
- * 是否对消息进行加密,对应于微信平台的消息加解密方式:
- * 1:true进行加密且必须配置 encodingAesKey
- * 2:false采用明文模式,同时也支持混合模式
- */
- ac.setEncryptMessage(PropKit.getBoolean("encryptMessage", false));
- ac.setEncodingAesKey(PropKit.get("encodingAesKey", "setting it in config file"));
- ApiConfigKit.putApiConfig(ac);
- // 网站域名
- JFinal.me().getServletContext().setAttribute("siteUrl", PropKit.get("siteUrl"));
- // 网站名称
- JFinal.me().getServletContext().setAttribute("siteName", PropKit.get("siteName"));
- // 版本号
- JFinal.me().getServletContext().setAttribute("version", PropKit.get("version"));
- // 图片服务器地址
- JFinal.me().getServletContext().setAttribute("imgUrl", PropKit.get("imgUrl"));
- // 图片上传路径
- JFinal.me().getServletContext().setAttribute("uploadPath", PropKit.get("uploadPath"));
- // 角色按钮
- JFinal.me().getServletContext().setAttribute("roleBtns", SysRoleBtn.dao.findAll());
- // 添加定时任务 end
- logger.info("afterJFinalStart结束..");
- }
- public static void main(String[] args) {
- JFinal.start("WebRoot", 80, "/chinaservices_app", 5);
- }
- @Override
- public void configEngine(Engine arg0) {
- }
- }
|