|  | @ -4,7 +4,8 @@ import com.yihu.jw.restmodel.common.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.common.EnvelopRestController;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.exception.ApiException;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.wx.MWxMenu;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.wx.WxContants;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.wx.MWxWechat;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.wx.WechatContants;
 | 
	
		
			
				|  |  | import com.yihu.jw.wx.WechatResponse;
 | 
	
		
			
				|  |  | import com.yihu.jw.wx.model.WxMenu;
 | 
	
		
			
				|  |  | import com.yihu.jw.wx.model.WxWechat;
 | 
	
	
		
			
				|  | @ -29,7 +30,7 @@ import java.util.Map;
 | 
	
		
			
				|  |  |  * Created by Administrator on 2017/5/19 0019.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @RestController
 | 
	
		
			
				|  |  | @RequestMapping(WxContants.WxMenu.api_common)
 | 
	
		
			
				|  |  | @RequestMapping(WechatContants.api_common)
 | 
	
		
			
				|  |  | @Api(value = "微信菜单相关操作", description = "微信菜单相关操作")
 | 
	
		
			
				|  |  | public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -39,34 +40,34 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WechatService wechatService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @PostMapping(value = WxContants.WxMenu.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  |     @PostMapping(value = WechatContants.WxMenu.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "添加微信菜单", notes = "添加微信菜单")
 | 
	
		
			
				|  |  |     public Envelop createWxMenu(
 | 
	
		
			
				|  |  |             @ApiParam(name = "json_data", value = "", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestBody String jsonData) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             WxMenu wxMenu = toEntity(jsonData, WxMenu.class);
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_create, wxMenuService.createWxMenu(wxMenu));
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_create, wxMenuService.createWxMenu(wxMenu));
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @PutMapping(value = WxContants.WxMenu.api_update, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  |     @PutMapping(value = WechatContants.WxMenu.api_update, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "修改微信菜单", notes = "修改微信菜单")
 | 
	
		
			
				|  |  |     public Envelop updateWxMenu(
 | 
	
		
			
				|  |  |             @ApiParam(name = "json_data", value = "", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestBody String jsonData) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             WxMenu wxMenu = toEntity(jsonData, WxMenu.class);
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_update, wxMenuService.updateWxMenu(wxMenu));
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_update, wxMenuService.updateWxMenu(wxMenu));
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @DeleteMapping(value = WxContants.WxMenu.api_delete)
 | 
	
		
			
				|  |  |     @DeleteMapping(value = WechatContants.WxMenu.api_delete)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "删除微信菜单", notes = "删除微信菜单")
 | 
	
		
			
				|  |  |     public Envelop deleteWxMenu(
 | 
	
		
			
				|  |  |             @ApiParam(name = "codes", value = "codes")
 | 
	
	
		
			
				|  | @ -78,26 +79,26 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |     ) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             wxMenuService.deleteWxMenu(codes, userCode, userName);
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_delete );
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_delete );
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = WxContants.WxMenu.api_getByCode)
 | 
	
		
			
				|  |  |     @GetMapping(value = WechatContants.WxMenu.api_getByCode)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "根据code查找微信菜单", notes = "根据code查找微信菜单")
 | 
	
		
			
				|  |  |     public Envelop findByCode(
 | 
	
		
			
				|  |  |             @ApiParam(name = "code", value = "code")
 | 
	
		
			
				|  |  |             @RequestParam(value = "code", required = true) String code
 | 
	
		
			
				|  |  |     ) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_find, wxMenuService.findByCode(code));
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_find, wxMenuService.findByCode(code));
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @RequestMapping(value = WxContants.WxMenu.api_getWxMenus, method = RequestMethod.GET)
 | 
	
		
			
				|  |  |     @RequestMapping(value = WechatContants.WxMenu.api_getWxMenus, method = RequestMethod.GET)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取微信菜单列表(分页)")
 | 
	
		
			
				|  |  |     public Envelop getWxMenus(
 | 
	
		
			
				|  |  |             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "id,code,name,saasId,appId,appSecret,baseUrl,remark")
 | 
	
	
		
			
				|  | @ -115,23 +116,28 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |         if(StringUtils.isBlank(sorts)){
 | 
	
		
			
				|  |  |             sorts = "-updateTime";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //得到list数据
 | 
	
		
			
				|  |  |         List<WxWechat> list = wxMenuService.search(fields, filters, sorts, page, size);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //得到微信列表数据
 | 
	
		
			
				|  |  |         List<WxWechat> wechats = wechatService.search(fields, filters, sorts, page, size);
 | 
	
		
			
				|  |  |         for(WxWechat wechat:wechats){
 | 
	
		
			
				|  |  |             List<WxMenu> parentMenus = wxMenuService.findParentMenuByWechatCode(wechat.getCode());
 | 
	
		
			
				|  |  |             wechat.setChildren(parentMenus);
 | 
	
		
			
				|  |  |             for(WxMenu parentMenu:parentMenus){
 | 
	
		
			
				|  |  |                 List<WxMenu> childMenus = wxMenuService.findChildMenus(parentMenu.getCode());
 | 
	
		
			
				|  |  |                 parentMenu.setChildren(childMenus);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //获取总数
 | 
	
		
			
				|  |  |         long count=wxMenuService.getCount(filters);
 | 
	
		
			
				|  |  |         long count=wechatService.getCount(filters);
 | 
	
		
			
				|  |  |         //封装头信息
 | 
	
		
			
				|  |  |         pagedResponse(request, response, count, page, size);
 | 
	
		
			
				|  |  |         //封装返回格式
 | 
	
		
			
				|  |  |         List<MWxMenu> mWxMenus = convertToModels(list, new ArrayList<>(list.size()), MWxMenu.class, fields);
 | 
	
		
			
				|  |  |         Map<String, String> map = wechatService.getAllWechatConfig();
 | 
	
		
			
				|  |  |         for(MWxMenu menu:mWxMenus){
 | 
	
		
			
				|  |  |             menu.setWechatName(map.get(menu.getWechatCode()));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return Envelop.getSuccessListWithPage(WxContants.WxMenu.message_success_find_functions,mWxMenus, page, size,count);
 | 
	
		
			
				|  |  |         List<MWxWechat> mwechats = convertToModels(wechats, new ArrayList<>(wechats.size()), MWxWechat.class, fields);
 | 
	
		
			
				|  |  |         return Envelop.getSuccessListWithPage(WechatContants.WxMenu.message_success_find_functions,mwechats, page, size,count);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @GetMapping(value = WxContants.WxMenu.api_getWxMenuNoPage)
 | 
	
		
			
				|  |  |     @GetMapping(value = WechatContants.WxMenu.api_getWxMenuNoPage)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取微信菜单列表,不分页")
 | 
	
		
			
				|  |  |     public Envelop getWxMenuNoPage(
 | 
	
		
			
				|  |  |             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "id,code,name,saasId,appId,appSecret,baseUrl,remark")
 | 
	
	
		
			
				|  | @ -140,15 +146,24 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |             @RequestParam(value = "filters", required = false) String filters,
 | 
	
		
			
				|  |  |             @ApiParam(name = "sorts", value = "排序,规则参见说明文档", defaultValue = "+name,+createTime")
 | 
	
		
			
				|  |  |             @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
 | 
	
		
			
				|  |  |         if(filters!=null){
 | 
	
		
			
				|  |  |             filters = "supMenucode=0;"+filters;
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             filters = "supMenucode=0;";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //得到list数据
 | 
	
		
			
				|  |  |         List<WxMenu> list = wxMenuService.search(fields,filters,sorts);
 | 
	
		
			
				|  |  |         for(WxMenu wxMenu:list){
 | 
	
		
			
				|  |  |             List<WxMenu> childMenus = wxMenuService.findChildMenus(wxMenu.getCode());
 | 
	
		
			
				|  |  |             wxMenu.setChildren(childMenus);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //封装返回格式
 | 
	
		
			
				|  |  |         List<MWxMenu> mWxMenus = convertToModels(list, new ArrayList<>(list.size()), MWxMenu.class, fields);
 | 
	
		
			
				|  |  |         Map<String, String> map = wechatService.getAllWechatConfig();
 | 
	
		
			
				|  |  |         for(MWxMenu menu:mWxMenus){
 | 
	
		
			
				|  |  |             menu.setWechatName(map.get(menu.getWechatCode()));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return Envelop.getSuccessList(WxContants.WxMenu.message_success_find_functions,mWxMenus);
 | 
	
		
			
				|  |  |         return Envelop.getSuccessList(WechatContants.WxMenu.message_success_find_functions,mWxMenus);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -157,7 +172,7 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @ApiOperation(value = "创建微信公众号菜单", notes = "创建微信公众号菜单")
 | 
	
		
			
				|  |  |     @RequestMapping(value = WxContants.WxMenu.api_createMenu ,method = RequestMethod.GET)
 | 
	
		
			
				|  |  |     @RequestMapping(value = WechatContants.WxMenu.api_createMenu ,method = RequestMethod.GET)
 | 
	
		
			
				|  |  |     public Envelop createWechatMenu(
 | 
	
		
			
				|  |  |             @ApiParam(name = "wechatCode", value = "", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "wechatCode", required = true)String wechatCode){
 | 
	
	
		
			
				|  | @ -177,14 +192,14 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |      * @param wechatCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @GetMapping(value = WxContants.WxMenu.api_getParentMenu)
 | 
	
		
			
				|  |  |     @GetMapping(value = WechatContants.WxMenu.api_getParentMenu)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "根据微信code查找父菜单", notes = "根据微信code查找父菜单")
 | 
	
		
			
				|  |  |     public Envelop getParentMenu(
 | 
	
		
			
				|  |  |             @ApiParam(name = "wechatCode", value = "wechatCode")
 | 
	
		
			
				|  |  |             @PathVariable(value = "wechatCode", required = true) String wechatCode
 | 
	
		
			
				|  |  |     ) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_find, wxMenuService.findParentMenuByWechatCode(wechatCode));
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_find, wxMenuService.findParentMenuByWechatCode(wechatCode));
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -196,14 +211,14 @@ public class WxMenuController extends EnvelopRestController {
 | 
	
		
			
				|  |  |      * @param parentCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @GetMapping(value = WxContants.WxMenu.api_getChildMenus)
 | 
	
		
			
				|  |  |     @GetMapping(value = WechatContants.WxMenu.api_getChildMenus)
 | 
	
		
			
				|  |  |     @ApiOperation(value = "根据父级菜单code查找子菜单", notes = "根据父级菜单code查找子菜单")
 | 
	
		
			
				|  |  |     public Envelop getChildMenus(
 | 
	
		
			
				|  |  |             @ApiParam(name = "parentCode", value = "parentCode")
 | 
	
		
			
				|  |  |             @PathVariable(value = "parentCode", required = true) String parentCode
 | 
	
		
			
				|  |  |     ) {
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WxContants.WxMenu.message_success_find, wxMenuService.findChildMenus(parentCode));
 | 
	
		
			
				|  |  |             return Envelop.getSuccess(WechatContants.WxMenu.message_success_find, wxMenuService.findChildMenus(parentCode));
 | 
	
		
			
				|  |  |         } catch (ApiException e) {
 | 
	
		
			
				|  |  |             return Envelop.getError(e.getMessage(), e.getErrorCode());
 | 
	
		
			
				|  |  |         }
 |