Giter Site home page Giter Site logo

fenghuang's People

Contributors

feegle avatar scosun avatar timyi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fenghuang's Issues

汉明——接口需求

用户管理:已经提供
收藏管理:已提供
评论管理:已提供
留言管理:待开发
组管理:待开发

数量信息接口

留言、预约、订单、评论、收藏、优惠券数量提醒。

微信客服

预约
预约验房url
预约量房url
预约设计url
预约套餐url
服务
套餐抢购url
凤凰管家url
案例直播url
家装贷款url
我的
用户中心url
在线客服url
装修进度url
关于我们url
微信公众号菜单
在线客服 是 event

排序、过滤功能异常

约定:
排序、过滤格式
{
filter_operation1_param1:value,
filter_operation2_param2:value,
sort_param1:desc,
sort_param2:desc
}
但按此格式进行查询时异常,如:
get : http://101.200.229.135:8080/api/admin/message?sort_create_user=desc
return :org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property create found for type Message!
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)....

前端广告模块

字段:
sliderid 幻灯片类别 id
slideritemid 幻灯片页面 id
slidertitle 文字区域 需要支持 html的 富文本编辑框
publisher 发布人
starttime 发布时间
endtime 更新时间

微信公众号菜单JSON

说明:click类型请统一返回单图文消息,图片和问题链接再指向webapp的Url,view类型直径跳转到webapp对应的Url。

{
"button":[
{
"name":"家装套餐",
"sub_button":[
{
"type":"click",
"name":"699家装套餐",
"key":"TC_699"
},
{
"type":"click",
"name":"799软包装",
"key":"TC_799"
},
{
"type":"click",
"name":"1299电器包",
"key":"TC_1299"
},
{
"type":"view",
"name":"立即预约",
"url":"http://www.ifhzj.com/sub/"
}]
},
{
"name":"家装服务",
"sub_button":[
{
"type":"click",
"name":"凤凰管家",
"key":"FW_FHGJ"
},
{
"type":"click",
"name":"家装贷",
"key":"FW_JZD"
},
{
"type":"click",
"name":"智能报价",
"key":"FW_ZNBJ"
},
{
"type":"view",
"name":"家装案例",
"url":"http://www.ifhzj.com/case/"
},
{
"type":"view",
"name":"家装直播",
"url":"http://www.ifhzj.com/live/"
}]
},
{
"name":"我的",
"sub_button":[
{
"type":"view",
"name":"我的资料",
"url":"http://www.ifhzj.com/center/my"
},
{
"type":"view",
"name":"家装进度",
"url":"http://www.ifhzj.com/center/live"
},
{
"type":"view",
"name":"我的预约",
"url":"http://www.ifhzj.com/center/sub"
},
{
"type":"view",
"name":"我的订单",
"url":"http://www.ifhzj.com/center/order"
},
{
"type":"view",
"name":"我的收藏",
"url":"http://www.ifhzj.com/center/fav"
}]
}]
}

QQ授权登录

在所有页面都加入QQ授权登录,现在只有首页有。

[汉明]关于组管理列表批量更新的接口需求修改

@天明 在组管理中,我需要能一次性保存多条数据 ,格式如下:[{"id":"404040e64dd6fa3b014dd6fbeed00000","name":"测试组","minExp":0,"maxExp":10000,"stars":5,"color":null,"selected":false}]

因为在组管理中有这么个功能
1 xh35igxbat 9 nt 0

火狐浏览器下兼容性的问题

火狐浏览器:41.0.1
第一步点击“家装套餐”按钮
第二步鼠标移动到“599装修套餐”,鼠标在移走,“家装套餐”隐藏。所有导航按钮都存在这样的问题

关于p6spy的问题请教

TimYi,您好:
在durid 项目上看你提的 p6spy 的一个issues,我想请教关于这方面的问题,是否可以留一个联系方式。或是在这里给我说一下 在spring.datasource.type=com.alibaba.druid.pool.DruidDataSource 中如何加入p6spy.

留言,评论实体改动

留言增加标题title
评论增加栏目名称column,回复数量replyNumber,评论时间createTime,
收藏增加收藏栏目column,收藏时间createTime
增加留言删除接口,wiki里写了,但是实际忘了加。

修改抢购流程

添加抢购预约功能,预约之后才能抢购。
添加抢购时间控制。

解决wiki中字段信息重复的地方

代码中尸体定义没有重复的部分,但是wiki中的接口信息定义,很多是相关连的,请求参数和返回参数有重复的部分。以后定义一组约定,相同的参数都在某类接口中作为基准。

bug fix

1、暂时放开后台管理权限,方便测试
2、修复连接池bug

用户信息完整性判断

1、在dto字段中,加入一个字段判断用户信息完整性。
2、在用户抢购时,判断用户信息完整性,信息不完整不允许抢购。

关于评论的讨论

目前,comment,commentItem两个评论相关表的设计不能全部满足需求,需要重新讨论一下

客户端来源区分

通过nginx或者其它方式,将来自不同类型客户端的请求定向到对应相关页面。

用户组管理

按照经验值划分用户组,给用户组起名称。

Spring data page数据第一次初始化时引起的json转换问题

com.fasterxml.jackson.databind.JsonMappingException: Specified map is empty
at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1144)
at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:507)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.resolve(BeanSerializerBase.java:316)
at com.fasterxml.jackson.databind.ser.SerializerCache.addAndResolveNonTypedSerializer(SerializerCache.java:170)
at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1129)
at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:471)
at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:669)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:107)
at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3385)
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:2779)
at com.fenghuangzhujia.foundation.utils.JsonSerializer.Serialize(JsonSerializer.java:29)
at com.fenghuangzhujia.foundation.core.model.PagedList.(PagedList.java:35)
at com.fenghuangzhujia.foundation.core.service.AbstractPagingService.findPage(AbstractPagingService.java:31)
at com.fenghuangzhujia.foundation.core.service.AbstractPagingService$$FastClassBySpringCGLIB$$553fb6af.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649)
at com.fenghuangzhujia.eshop.core.user.UserService$$EnhancerBySpringCGLIB$$af56b5a7.findPage()
at com.fenghuangzhujia.foundation.core.rest.PagingController.page(PagingController.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:168)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at com.fenghuangzhujia.eshop.core.authentication.TokenAuthFilter.doFilter(TokenAuthFilter.java:40)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.fenghuangzhujia.eshop.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:22)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Specified map is empty
at java.util.EnumMap.(EnumMap.java:177)
at com.fasterxml.jackson.databind.util.EnumValues.(EnumValues.java:26)
at com.fasterxml.jackson.databind.util.EnumValues.constructFromName(EnumValues.java:52)
at com.fasterxml.jackson.databind.ser.std.EnumSerializer.construct(EnumSerializer.java:87)
at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.buildEnumSerializer(BasicSerializerFactory.java:930)
at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.findSerializerByPrimaryType(BasicSerializerFactory.java:428)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:218)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:152)
at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1166)
at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1139)
... 99 more
用一个简陋的办法先应付

编写接口测试程序

将接口封装成SDK,同时添加测试程序。
目的是保持接口的严谨、明确、健壮。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.