|  | @ -46,7 +46,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public WxMenu createWxMenu(WxMenu wxMenu) {
 |  |     public WxMenu createWxMenu(WxMenu wxMenu) {
 | 
												
													
														
															|  |         String code = UUID.randomUUID().toString().replaceAll("-", "");
 |  |         String code = UUID.randomUUID().toString().replaceAll("-", "");
 | 
												
													
														
															|  |         wxMenu.setCode(code);
 |  | 
 | 
												
													
														
															|  | 
 |  |         wxMenu.setId(code);
 | 
												
													
														
															|  |         if(canSaveOrUpata(wxMenu)){
 |  |         if(canSaveOrUpata(wxMenu)){
 | 
												
													
														
															|  |             return wxMenuDao.save(wxMenu);
 |  |             return wxMenuDao.save(wxMenu);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
											
												
													
														
															|  | @ -55,15 +55,11 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     @Transient
 |  |     @Transient
 | 
												
													
														
															|  |     public WxMenu updateWxMenu(WxMenu wxMenu) {
 |  |     public WxMenu updateWxMenu(WxMenu wxMenu) {
 | 
												
													
														
															|  |         if (StringUtils.isEmpty(wxMenu.getCode())) {
 |  | 
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isEmpty(wxMenu.getId())) {
 | 
												
													
														
															|  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_code_is_null, ExceptionCode.common_error_params_code);
 |  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_code_is_null, ExceptionCode.common_error_params_code);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         if(canSaveOrUpata(wxMenu)){
 |  |         if(canSaveOrUpata(wxMenu)){
 | 
												
													
														
															|  |             Long id = wxMenu.getId();
 |  | 
 | 
												
													
														
															|  |             if (StringUtils.isEmpty(id)) {
 |  | 
 | 
												
													
														
															|  |                 throw new ApiException(WechatRequestMapping.WxConfig.message_fail_id_is_null, ExceptionCode.common_error_params_code);
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |             WxMenu wxMenu1 = findById(id);
 |  | 
 | 
												
													
														
															|  | 
 |  |             WxMenu wxMenu1 = findById(wxMenu.getId());
 | 
												
													
														
															|  |             if(wxMenu1==null){
 |  |             if(wxMenu1==null){
 | 
												
													
														
															|  |                 throw new ApiException(WechatRequestMapping.WxMenu.message_fail_WxMenu_is_no_exist, ExceptionCode.common_error_params_code);
 |  |                 throw new ApiException(WechatRequestMapping.WxMenu.message_fail_WxMenu_is_no_exist, ExceptionCode.common_error_params_code);
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
											
												
													
														
															|  | @ -78,13 +74,13 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |             String[] codeArray = codes.split(",");
 |  |             String[] codeArray = codes.split(",");
 | 
												
													
														
															|  |             Date date = new Date();
 |  |             Date date = new Date();
 | 
												
													
														
															|  |             for (String code : codeArray) {
 |  |             for (String code : codeArray) {
 | 
												
													
														
															|  |                 WxMenu wxMenu = wxMenuDao.findByCode(code);
 |  | 
 | 
												
													
														
															|  | 
 |  |                 WxMenu wxMenu = wxMenuDao.findById(code);
 | 
												
													
														
															|  |                 if (wxMenu == null) {
 |  |                 if (wxMenu == null) {
 | 
												
													
														
															|  |                     continue;
 |  |                     continue;
 | 
												
													
														
															|  |                 }
 |  |                 }
 | 
												
													
														
															|  |                 String supMenucode = wxMenu.getSupMenucode();
 |  | 
 | 
												
													
														
															|  | 
 |  |                 String supMenucode = wxMenu.getSupMenuid();
 | 
												
													
														
															|  |                 if (StringUtils.isEmpty(supMenucode)) {//如果是空,则为父菜单
 |  |                 if (StringUtils.isEmpty(supMenucode)) {//如果是空,则为父菜单
 | 
												
													
														
															|  |                     List<WxMenu> childMenus = findChildMenus(wxMenu.getWechatCode(), wxMenu.getCode());
 |  | 
 | 
												
													
														
															|  | 
 |  |                     List<WxMenu> childMenus = findChildMenus(wxMenu.getWechatId(), wxMenu.getId());
 | 
												
													
														
															|  |                     if (childMenus != null) {
 |  |                     if (childMenus != null) {
 | 
												
													
														
															|  |                         for (WxMenu wxmenu : childMenus) {
 |  |                         for (WxMenu wxmenu : childMenus) {
 | 
												
													
														
															|  |                             wxmenu.setStatus(-1);
 |  |                             wxmenu.setStatus(-1);
 | 
												
											
												
													
														
															|  | @ -107,13 +103,13 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |         if(!StringUtils.isEmpty(codes)) {
 |  |         if(!StringUtils.isEmpty(codes)) {
 | 
												
													
														
															|  |             String[] codeArray = codes.split(",");
 |  |             String[] codeArray = codes.split(",");
 | 
												
													
														
															|  |             for (String code : codeArray) {
 |  |             for (String code : codeArray) {
 | 
												
													
														
															|  |                 WxMenu wxMenu = wxMenuDao.findByCode(code);
 |  | 
 | 
												
													
														
															|  | 
 |  |                 WxMenu wxMenu = wxMenuDao.findById(code);
 | 
												
													
														
															|  |                 if (wxMenu == null) {
 |  |                 if (wxMenu == null) {
 | 
												
													
														
															|  |                     continue;
 |  |                     continue;
 | 
												
													
														
															|  |                 }
 |  |                 }
 | 
												
													
														
															|  |                 String supMenucode = wxMenu.getSupMenucode();
 |  | 
 | 
												
													
														
															|  | 
 |  |                 String supMenucode = wxMenu.getSupMenuid();
 | 
												
													
														
															|  |                 if (StringUtils.isEmpty(supMenucode)) {//如果是空,则为父菜单
 |  |                 if (StringUtils.isEmpty(supMenucode)) {//如果是空,则为父菜单
 | 
												
													
														
															|  |                     List<WxMenu> childMenus = findChildMenus(wxMenu.getWechatCode(), wxMenu.getCode());
 |  | 
 | 
												
													
														
															|  | 
 |  |                     List<WxMenu> childMenus = findChildMenus(wxMenu.getWechatId(), wxMenu.getId());
 | 
												
													
														
															|  |                     if (childMenus != null) {
 |  |                     if (childMenus != null) {
 | 
												
													
														
															|  |                         for (WxMenu wxmenu : childMenus) {
 |  |                         for (WxMenu wxmenu : childMenus) {
 | 
												
													
														
															|  |                             wxmenu.setStatus(-1);
 |  |                             wxmenu.setStatus(-1);
 | 
												
											
												
													
														
															|  | @ -131,10 +127,10 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     public WxMenu findByCode(String code) {
 |  |     public WxMenu findByCode(String code) {
 | 
												
													
														
															|  |         return wxMenuDao.findByCode(code);
 |  | 
 | 
												
													
														
															|  | 
 |  |         return wxMenuDao.findById(code);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     public WxMenu findById(Long id) {
 |  | 
 | 
												
													
														
															|  | 
 |  |     public WxMenu findById(String id) {
 | 
												
													
														
															|  |         return wxMenuDao.findById(id);
 |  |         return wxMenuDao.findById(id);
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
											
												
													
														
															|  | @ -163,7 +159,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |      * @return JSONObject
 |  |      * @return JSONObject
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  |     public JSONObject createWechatMenu(String wechatCode) {
 |  |     public JSONObject createWechatMenu(String wechatCode) {
 | 
												
													
														
															|  |         WxWechat wechat = wechatService.findByCode(wechatCode);
 |  | 
 | 
												
													
														
															|  | 
 |  |         WxWechat wechat = wechatService.findById(wechatCode);
 | 
												
													
														
															|  |         if(wechat==null){
 |  |         if(wechat==null){
 | 
												
													
														
															|  |             throw new ApiException(WechatRequestMapping.WxConfig.message_fail_wxWechat_is_no_exist, ExceptionCode.common_error_params_code);
 |  |             throw new ApiException(WechatRequestMapping.WxConfig.message_fail_wxWechat_is_no_exist, ExceptionCode.common_error_params_code);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
											
												
													
														
															|  | @ -190,7 +186,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |         if(menus!=null){
 |  |         if(menus!=null){
 | 
												
													
														
															|  |             menuJsonStr = "{\"button\":[{";
 |  |             menuJsonStr = "{\"button\":[{";
 | 
												
													
														
															|  |             for(WxMenu wxMenu:menus){
 |  |             for(WxMenu wxMenu:menus){
 | 
												
													
														
															|  |                 if(StringUtils.isEmpty(wxMenu.getSupMenucode())){//说明是父菜单
 |  | 
 | 
												
													
														
															|  | 
 |  |                 if(StringUtils.isEmpty(wxMenu.getSupMenuid())){//说明是父菜单
 | 
												
													
														
															|  |                     parentMenus.add(wxMenu);
 |  |                     parentMenus.add(wxMenu);
 | 
												
													
														
															|  |                 }
 |  |                 }
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
											
												
													
														
															|  | @ -204,7 +200,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
													
														
															|  |             menuJsonStr = getString(menuJsonStr, menu);
 |  |             menuJsonStr = getString(menuJsonStr, menu);
 | 
												
													
														
															|  |             //查找是否有子菜单
 |  |             //查找是否有子菜单
 | 
												
													
														
															|  |             List<WxMenu> childMenus = findChildMenus(wechatCode, menu.getCode());
 |  | 
 | 
												
													
														
															|  | 
 |  |             List<WxMenu> childMenus = findChildMenus(wechatCode, menu.getId());
 | 
												
													
														
															|  |             if(childMenus!=null){
 |  |             if(childMenus!=null){
 | 
												
													
														
															|  |                 int i =0;
 |  |                 int i =0;
 | 
												
													
														
															|  |                 menuJsonStr += ",\"sub_button\":[{";
 |  |                 menuJsonStr += ",\"sub_button\":[{";
 | 
												
											
												
													
														
															|  | @ -262,12 +258,12 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     private boolean canSaveOrUpata(WxMenu wxMenu){
 |  |     private boolean canSaveOrUpata(WxMenu wxMenu){
 | 
												
													
														
															|  |         String wechatCode = wxMenu.getWechatCode();
 |  | 
 | 
												
													
														
															|  |         String supMenucode = wxMenu.getSupMenucode();
 |  | 
 | 
												
													
														
															|  | 
 |  |         String wechatCode = wxMenu.getWechatId();
 | 
												
													
														
															|  | 
 |  |         String supMenucode = wxMenu.getSupMenuid();
 | 
												
													
														
															|  |         if(StringUtils.isEmpty(wechatCode)){
 |  |         if(StringUtils.isEmpty(wechatCode)){
 | 
												
													
														
															|  |             WxMenu parentMenuCode = findByCode(supMenucode);
 |  |             WxMenu parentMenuCode = findByCode(supMenucode);
 | 
												
													
														
															|  |             wechatCode = parentMenuCode.getWechatCode();
 |  | 
 | 
												
													
														
															|  |             wxMenu.setWechatCode(wechatCode);
 |  | 
 | 
												
													
														
															|  | 
 |  |             wechatCode = parentMenuCode.getWechatId();
 | 
												
													
														
															|  | 
 |  |             wxMenu.setWechatId(wechatCode);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         String name = wxMenu.getName();
 |  |         String name = wxMenu.getName();
 | 
												
													
														
															|  |         if (StringUtils.isEmpty(name)) {
 |  |         if (StringUtils.isEmpty(name)) {
 | 
												
											
												
													
														
															|  | @ -280,7 +276,7 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_sort_is_null, ExceptionCode.common_error_params_code);
 |  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_sort_is_null, ExceptionCode.common_error_params_code);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         //根据wechatCode查找是否存在微信配置
 |  |         //根据wechatCode查找是否存在微信配置
 | 
												
													
														
															|  |         WxWechat wxWechat = wechatService.findByCode(wechatCode);
 |  | 
 | 
												
													
														
															|  | 
 |  |         WxWechat wxWechat = wechatService.findById(wechatCode);
 | 
												
													
														
															|  |         if(wxWechat==null){
 |  |         if(wxWechat==null){
 | 
												
													
														
															|  |             throw new ApiException(WechatRequestMapping.WxConfig.message_fail_wxWechat_is_no_exist, ExceptionCode.common_error_params_code);
 |  |             throw new ApiException(WechatRequestMapping.WxConfig.message_fail_wxWechat_is_no_exist, ExceptionCode.common_error_params_code);
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
											
												
													
														
															|  | @ -361,11 +357,11 @@ public class WxMenuService extends BaseJpaService<WxMenu, WxMenuDao> {
 | 
												
													
														
															|  |             }
 |  |             }
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         WxMenu wxMenuTemp = null;
 |  |         WxMenu wxMenuTemp = null;
 | 
												
													
														
															|  |         if(StringUtils.isEmpty(wxMenu.getSupMenucode())){//如果是空,则为父菜单
 |  | 
 | 
												
													
														
															|  | 
 |  |         if(StringUtils.isEmpty(wxMenu.getSupMenuid())){//如果是空,则为父菜单
 | 
												
													
														
															|  |             //判断sort是否重复
 |  |             //判断sort是否重复
 | 
												
													
														
															|  |             wxMenuTemp = wxMenuDao.findByWechatCodeExcludeSortFromParent(wxMenu.getWechatCode(), wxMenu.getSort(),wxMenu.getCode());
 |  | 
 | 
												
													
														
															|  | 
 |  |             wxMenuTemp = wxMenuDao.findByWechatCodeExcludeSortFromParent(wxMenu.getWechatId(), wxMenu.getSort(),wxMenu.getId());
 | 
												
													
														
															|  |         }else{//子菜单
 |  |         }else{//子菜单
 | 
												
													
														
															|  |             wxMenuTemp = wxMenuDao.findByWechatCodeExcludeSortFromChild(wxMenu.getWechatCode(), wxMenu.getSort(), wxMenu.getSupMenucode(), wxMenu.getCode());
 |  | 
 | 
												
													
														
															|  | 
 |  |             wxMenuTemp = wxMenuDao.findByWechatCodeExcludeSortFromChild(wxMenu.getWechatId(), wxMenu.getSort(), wxMenu.getSupMenuid(), wxMenu.getId());
 | 
												
													
														
															|  |         }
 |  |         }
 | 
												
													
														
															|  |         if(null!=wxMenuTemp){
 |  |         if(null!=wxMenuTemp){
 | 
												
													
														
															|  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_sort_is_repeat, ExceptionCode.common_error_params_code);
 |  |             throw new ApiException(WechatRequestMapping.WxMenu.message_fail_sort_is_repeat, ExceptionCode.common_error_params_code);
 |