src/main/java/com/ks/tool/bkz/controller/SDLJGoodsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/dao/FirstOrderSubInfoDao.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/entity/FirstOrderSubInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/entity/sdlj/SearchFilter.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/service/FirstOrderSubInfoService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/service/impl/FirstOrderSubInfoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/vo/sdlj/GoodsClassVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/tool/bkz/vo/sdlj/SDLJGoodsInfoVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/logback-spring.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ks/tool/bkz/controller/SDLJGoodsController.java
New file @@ -0,0 +1,71 @@ package com.ks.tool.bkz.controller; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.ks.tool.bkz.entity.FirstOrderSubInfo; import com.ks.tool.bkz.entity.sdlj.SearchFilter; import com.ks.tool.bkz.service.FirstOrderSubInfoService; import com.ks.tool.bkz.service.manager.RedisManager; import com.ks.tool.bkz.util.JsonUtil; import com.ks.tool.bkz.vo.sdlj.GoodsClassVO; import com.ks.tool.bkz.vo.sdlj.SDLJGoodsInfoVO; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Controller @RequestMapping("sdlj/goods") public class SDLJGoodsController { String cookie = null; @Resource private RedisManager redisManager; @Resource private FirstOrderSubInfoService firstOrderSubInfoService; @RequestMapping("searchGoods") @ResponseBody public String searchGoods(int page, String searchInfo) { SearchFilter sf = new Gson().fromJson(searchInfo, SearchFilter.class); List<FirstOrderSubInfo> list= firstOrderSubInfoService.listAll(page,20); List<SDLJGoodsInfoVO> goodsList = new ArrayList<>(); for (FirstOrderSubInfo info:list) { SDLJGoodsInfoVO vo=new SDLJGoodsInfoVO(); vo.setActualPrice("12.00"); vo.setCommission("2.00"); vo.setCommissionRate("20%"); vo.setCouponPrice(info.getItemActPrice()+""); vo.setGoodsId(info.getItemId()); List<String> imgList=new ArrayList<>(); imgList.add(info.getItemImg()); vo.setImgList(imgList); vo.setLijinAmount(info.getPromotionAmount()+""); vo.setTitle(info.getTitle()); vo.setZkPrice(info.getItemActPrice()+""); goodsList.add(vo); } List<GoodsClassVO> classList=new ArrayList<>(); classList.add(new GoodsClassVO(0,"全部")); classList.add(new GoodsClassVO(1,"分类1")); classList.add(new GoodsClassVO(2,"分类2")); classList.add(new GoodsClassVO(3,"分类3")); JSONObject data=new JSONObject(); data.put("goods",goodsList); data.put("goodsClass",classList); data.put("total",1000); data.put("hasMore",true); return JsonUtil.loadTrueResult(data); } } src/main/java/com/ks/tool/bkz/dao/FirstOrderSubInfoDao.java
@@ -2,9 +2,11 @@ import com.ks.tool.bkz.entity.FirstOrderSubInfo; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Repository; import javax.annotation.Resource; import java.util.List; @Repository public class FirstOrderSubInfoDao { @@ -16,4 +18,12 @@ mongoTemplate.save(info); } public List<FirstOrderSubInfo> listAll(int page, int pageSize) { Query query = new Query(); query.limit(pageSize); query.skip((page - 1) * pageSize); return mongoTemplate.find(query,FirstOrderSubInfo.class); } } src/main/java/com/ks/tool/bkz/entity/FirstOrderSubInfo.java
@@ -8,7 +8,7 @@ import java.math.BigDecimal; import java.util.Date; @Document(collation = "tbFirstOrderSubInfo") @Document(collection = "firstOrderSubInfo") public class FirstOrderSubInfo { @Field private Integer activityPrice; src/main/java/com/ks/tool/bkz/entity/sdlj/SearchFilter.java
New file @@ -0,0 +1,141 @@ package com.ks.tool.bkz.entity.sdlj; public class SearchFilter { private String key; //关键字 private int couponType;//券类型 private int shopType;//店铺类型 private String minCouponPrice;//券后价 private String maxCouponPrice; private String minLiJin; //礼金 private String maxLiJin; private String minActualPrice;//到手价 private String maxActualPrice; private String minSalesNum; //月销 private String maxSalesNum; private String minCommission; //佣金 private String maxCommission; private String minCommissionRate; //佣金比例 private String maxCommissionRate; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public int getCouponType() { return couponType; } public void setCouponType(int couponType) { this.couponType = couponType; } public int getShopType() { return shopType; } public void setShopType(int shopType) { this.shopType = shopType; } public String getMinCouponPrice() { return minCouponPrice; } public void setMinCouponPrice(String minCouponPrice) { this.minCouponPrice = minCouponPrice; } public String getMaxCouponPrice() { return maxCouponPrice; } public void setMaxCouponPrice(String maxCouponPrice) { this.maxCouponPrice = maxCouponPrice; } public String getMinLiJin() { return minLiJin; } public void setMinLiJin(String minLiJin) { this.minLiJin = minLiJin; } public String getMaxLiJin() { return maxLiJin; } public void setMaxLiJin(String maxLiJin) { this.maxLiJin = maxLiJin; } public String getMinActualPrice() { return minActualPrice; } public void setMinActualPrice(String minActualPrice) { this.minActualPrice = minActualPrice; } public String getMaxActualPrice() { return maxActualPrice; } public void setMaxActualPrice(String maxActualPrice) { this.maxActualPrice = maxActualPrice; } public String getMinSalesNum() { return minSalesNum; } public void setMinSalesNum(String minSalesNum) { this.minSalesNum = minSalesNum; } public String getMaxSalesNum() { return maxSalesNum; } public void setMaxSalesNum(String maxSalesNum) { this.maxSalesNum = maxSalesNum; } public String getMinCommission() { return minCommission; } public void setMinCommission(String minCommission) { this.minCommission = minCommission; } public String getMaxCommission() { return maxCommission; } public void setMaxCommission(String maxCommission) { this.maxCommission = maxCommission; } public String getMinCommissionRate() { return minCommissionRate; } public void setMinCommissionRate(String minCommissionRate) { this.minCommissionRate = minCommissionRate; } public String getMaxCommissionRate() { return maxCommissionRate; } public void setMaxCommissionRate(String maxCommissionRate) { this.maxCommissionRate = maxCommissionRate; } } src/main/java/com/ks/tool/bkz/service/FirstOrderSubInfoService.java
@@ -2,6 +2,10 @@ import com.ks.tool.bkz.entity.FirstOrderSubInfo; import java.util.List; public interface FirstOrderSubInfoService { public void add(FirstOrderSubInfo info); public List<FirstOrderSubInfo> listAll(int page,int pageSize); } src/main/java/com/ks/tool/bkz/service/impl/FirstOrderSubInfoServiceImpl.java
@@ -7,6 +7,7 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; @Service public class FirstOrderSubInfoServiceImpl implements FirstOrderSubInfoService { @@ -21,4 +22,9 @@ info.setUpdateTime(new Date()); firstOrderSubInfoDao.save(info); } @Override public List<FirstOrderSubInfo> listAll(int page, int pageSize) { return firstOrderSubInfoDao.listAll(page,pageSize); } } src/main/java/com/ks/tool/bkz/vo/sdlj/GoodsClassVO.java
New file @@ -0,0 +1,46 @@ package com.ks.tool.bkz.vo.sdlj; public class GoodsClassVO { private Integer id; private String name; public GoodsClassVO(Integer id, String name, Boolean selected) { this.id = id; this.name = name; this.selected = selected; } public GoodsClassVO(Integer id, String name) { this.id = id; this.name = name; } private Boolean selected; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Boolean getSelected() { return selected; } public void setSelected(Boolean selected) { this.selected = selected; } } src/main/java/com/ks/tool/bkz/vo/sdlj/SDLJGoodsInfoVO.java
New file @@ -0,0 +1,89 @@ package com.ks.tool.bkz.vo.sdlj; import java.util.List; public class SDLJGoodsInfoVO { private String title; private String zkPrice; private String couponPrice; private String lijinAmount; private String goodsId; private String actualPrice; private String commission; private String commissionRate; private List<String> imgList; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getZkPrice() { return zkPrice; } public void setZkPrice(String zkPrice) { this.zkPrice = zkPrice; } public String getCouponPrice() { return couponPrice; } public void setCouponPrice(String couponPrice) { this.couponPrice = couponPrice; } public String getLijinAmount() { return lijinAmount; } public void setLijinAmount(String lijinAmount) { this.lijinAmount = lijinAmount; } public String getGoodsId() { return goodsId; } public void setGoodsId(String goodsId) { this.goodsId = goodsId; } public String getActualPrice() { return actualPrice; } public void setActualPrice(String actualPrice) { this.actualPrice = actualPrice; } public String getCommission() { return commission; } public void setCommission(String commission) { this.commission = commission; } public String getCommissionRate() { return commissionRate; } public void setCommissionRate(String commissionRate) { this.commissionRate = commissionRate; } public List<String> getImgList() { return imgList; } public void setImgList(List<String> imgList) { this.imgList = imgList; } } src/main/resources/application.yml
@@ -54,3 +54,4 @@ mybatis: mapper-locations: classpath:mapper/*.xml src/main/resources/logback-spring.xml
New file @@ -0,0 +1,196 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --> <!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true --> <!-- scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。 --> <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> <configuration scan="true" scanPeriod="10 seconds"> <!--<include resource="org/springframework/boot/logging/logback/base.xml" />--> <contextName>logback</contextName> <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 --> <property name="log.path" value="D:/nmyslog/nmys" /> <!-- 彩色日志 --> <!-- 彩色日志依赖的渲染类 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <!-- 彩色日志格式 --> <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <!--输出到控制台--> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>debug</level> </filter> <encoder> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> <!-- 设置字符集 --> <charset>UTF-8</charset> </encoder> </appender> <!--输出到文件--> <!-- 时间滚动输出 level为 DEBUG 日志 --> <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文件的路径及文件名 --> <file>${log.path}/log_debug.log</file> <!--日志文件输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 设置字符集 --> </encoder> <!-- 日志记录器的滚动策略,按日期,按大小记录 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志归档 --> <fileNamePattern>${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只记录debug级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>debug</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 时间滚动输出 level为 INFO 日志 --> <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文件的路径及文件名 --> <file>${log.path}/log_info.log</file> <!--日志文件输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> </encoder> <!-- 日志记录器的滚动策略,按日期,按大小记录 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 每天日志归档路径以及格式 --> <fileNamePattern>${log.path}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只记录info级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>info</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 时间滚动输出 level为 WARN 日志 --> <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文件的路径及文件名 --> <file>${log.path}/log_warn.log</file> <!--日志文件输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> </encoder> <!-- 日志记录器的滚动策略,按日期,按大小记录 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只记录warn级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>warn</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 时间滚动输出 level为 ERROR 日志 --> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 正在记录的日志文件的路径及文件名 --> <file>${log.path}/log_error.log</file> <!--日志文件输出格式--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> </encoder> <!-- 日志记录器的滚动策略,按日期,按大小记录 --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${log.path}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <!--日志文件保留天数--> <maxHistory>15</maxHistory> </rollingPolicy> <!-- 此日志文件只记录ERROR级别的 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- <logger>用来设置某一个包或者具体的某一个类的日志打印级别、 以及指定<appender>。<logger>仅有一个name属性, 一个可选的level和一个可选的addtivity属性。 name:用来指定受此logger约束的某一个包或者具体的某一个类。 level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。 如果未设置此属性,那么当前logger将会继承上级的级别。 addtivity:是否向上级logger传递打印信息。默认是true。 --> <!--<logger name="org.springframework.web" level="info"/>--> <!--<logger name="org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor" level="INFO"/>--> <!-- 使用mybatis的时候,sql语句是debug下才会打印,而这里我们只配置了info,所以想要查看sql语句的话,有以下两种操作: 第一种把<root level="info">改成<root level="DEBUG">这样就会打印sql,不过这样日志那边会出现很多其他消息 第二种就是单独给dao下目录配置debug模式,代码如下,这样配置sql语句会打印,其他还是正常info级别: --> <!-- root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性 level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 不能设置为INHERITED或者同义词NULL。默认是DEBUG 可以包含零个或多个元素,标识这个appender将会添加到这个logger。 --> <!--开发环境:打印控制台--> <springProfile name="dev"> <logger name="com.nmys.view" level="debug"/> </springProfile> <root level="info"> <appender-ref ref="CONSOLE" /> <appender-ref ref="DEBUG_FILE" /> <appender-ref ref="INFO_FILE" /> <appender-ref ref="WARN_FILE" /> <appender-ref ref="ERROR_FILE" /> </root> <!--生产环境:输出到文件--> <!--<springProfile name="pro">--> <!--<root level="info">--> <!--<appender-ref ref="CONSOLE" />--> <!--<appender-ref ref="DEBUG_FILE" />--> <!--<appender-ref ref="INFO_FILE" />--> <!--<appender-ref ref="ERROR_FILE" />--> <!--<appender-ref ref="WARN_FILE" />--> <!--</root>--> <!--</springProfile>--> </configuration>