Commit f81fe93fdccab375ccdc4e4a8ec9ea65b9a50316
1 parent
ba81783b
ini
Showing
86 changed files
with
7318 additions
and
0 deletions
titan-cache/pom.xml
0 → 100644
1 | +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
2 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
3 | + <modelVersion>4.0.0</modelVersion> | |
4 | + | |
5 | + <groupId>com.dili.titan</groupId> | |
6 | + <artifactId>titan-Sync</artifactId> | |
7 | + <version>1.0</version> | |
8 | + <packaging>war</packaging> | |
9 | + | |
10 | + | |
11 | + <properties> | |
12 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
13 | + <spring.version>3.2.9.RELEASE</spring.version> | |
14 | + </properties> | |
15 | + | |
16 | + <profiles> | |
17 | + <profile> | |
18 | + <id>develop</id> | |
19 | + <activation> | |
20 | + <activeByDefault>true</activeByDefault> | |
21 | + </activation> | |
22 | + <properties> | |
23 | + <titan.jdbc.driver>com.mysql.jdbc.Driver</titan.jdbc.driver> | |
24 | + <titan.jdbc.url>jdbc:MySql://10.28.10.188:3306/agriez_titan?useUnicode=true&characterEncoding=utf8</titan.jdbc.url> | |
25 | + <titan.jdbc.username>root</titan.jdbc.username> | |
26 | + <titan.jdbc.password>123456</titan.jdbc.password> | |
27 | + <!-- 日志 --> | |
28 | + <dili_titan.log.level>INFO</dili_titan.log.level> | |
29 | + <dili_titan.log.path>/export/logs</dili_titan.log.path> | |
30 | + <dili_titan.log.root.appender>CONSOLE</dili_titan.log.root.appender> | |
31 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
32 | + <!-- redis 地址 --> | |
33 | + <cache.redis.url>10.28.10.208</cache.redis.url> | |
34 | + <cache.redis.port>6379</cache.redis.port> | |
35 | + <!-- MQ 地址--> | |
36 | + <conf.mq.namesrvAddr>10.28.10.209:9876;10.28.10.149:9876</conf.mq.namesrvAddr> | |
37 | + <conf.mq.producerGroup>TitanCachePNR</conf.mq.producerGroup> | |
38 | + <dili_titan.website.url>manweb.1n4j.com</dili_titan.website.url> | |
39 | + </properties> | |
40 | + </profile> | |
41 | + | |
42 | + <profile> | |
43 | + <id>test</id> | |
44 | + <activation> | |
45 | + <activeByDefault>false</activeByDefault> | |
46 | + </activation> | |
47 | + <properties> | |
48 | + <titan.jdbc.driver>com.mysql.jdbc.Driver</titan.jdbc.driver> | |
49 | + <titan.jdbc.url>jdbc:MySql://10.28.6.156:3306/agriez_titan?useUnicode=true&characterEncoding=utf8</titan.jdbc.url> | |
50 | + <titan.jdbc.username>root</titan.jdbc.username> | |
51 | + <titan.jdbc.password>123456</titan.jdbc.password> | |
52 | + <!-- 日志 --> | |
53 | + <dili_titan.log.level>INFO</dili_titan.log.level> | |
54 | + <dili_titan.log.path>/home/tomcat/export</dili_titan.log.path> | |
55 | + <dili_titan.log.root.appender>CONSOLE</dili_titan.log.root.appender> | |
56 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
57 | + <!-- redis 地址 --> | |
58 | + <cache.redis.url>10.28.10.207</cache.redis.url> | |
59 | + <cache.redis.port>6379</cache.redis.port> | |
60 | + <!-- MQ 地址--> | |
61 | + <conf.mq.namesrvAddr>10.28.10.230:9876</conf.mq.namesrvAddr> | |
62 | + <conf.mq.producerGroup>TitanCachePNR</conf.mq.producerGroup> | |
63 | + <dili_titan.website.url>manweb.1n4j.com</dili_titan.website.url> | |
64 | + </properties> | |
65 | + </profile> | |
66 | + | |
67 | + <profile> | |
68 | + <id>online</id> | |
69 | + <activation> | |
70 | + <activeByDefault>false</activeByDefault> | |
71 | + </activation> | |
72 | + <properties> | |
73 | + <titan.jdbc.driver>com.mysql.jdbc.Driver</titan.jdbc.driver> | |
74 | + <titan.jdbc.url>jdbc:MySql://titan.db.1n4j.com:3306/agriez_titan?useUnicode=true&characterEncoding=utf8</titan.jdbc.url> | |
75 | + <titan.jdbc.username>appAccPayor</titan.jdbc.username> | |
76 | + <titan.jdbc.password>iTDYVBtI6MX4NQ3Er2Oh</titan.jdbc.password> | |
77 | + <dili_titan.log.level>INFO</dili_titan.log.level> | |
78 | + <dili_titan.log.path>/diliapp/servers/logs</dili_titan.log.path> | |
79 | + <dili_titan.log.root.appender>FILE_ALL</dili_titan.log.root.appender> | |
80 | + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
81 | + <!-- redis 地址 --> | |
82 | + <cache.redis.url>redis.1n4j.com</cache.redis.url> | |
83 | + <cache.redis.port>6379</cache.redis.port> | |
84 | + <!-- MQ 地址--> | |
85 | + <conf.mq.namesrvAddr>192.168.60.62:9876;192.168.60.63:9876</conf.mq.namesrvAddr> | |
86 | + <conf.mq.producerGroup>cachePNR</conf.mq.producerGroup> | |
87 | + <dili_titan.website.url>manweb.1n4j.com</dili_titan.website.url> | |
88 | + </properties> | |
89 | + </profile> | |
90 | + | |
91 | + <profile> | |
92 | + <id>pnr-clone</id> | |
93 | + <activation> | |
94 | + <activeByDefault>false</activeByDefault> | |
95 | + </activation> | |
96 | + <properties> | |
97 | + <titan.jdbc.driver>com.mysql.jdbc.Driver</titan.jdbc.driver> | |
98 | + <titan.jdbc.url>jdbc:MySql://10.28.5.236:3306/titan?useUnicode=true&characterEncoding=utf8</titan.jdbc.url> | |
99 | + <titan.jdbc.username>root</titan.jdbc.username> | |
100 | + <titan.jdbc.password>123456</titan.jdbc.password> | |
101 | + <!-- 日志 --> | |
102 | + <dili_titan.log.level>INFO</dili_titan.log.level> | |
103 | + <dili_titan.log.path>/home/tomcat/export</dili_titan.log.path> | |
104 | + <dili_titan.log.root.appender>CONSOLE | |
105 | + </dili_titan.log.root.appender> | |
106 | + <project.build.sourceEncoding>UTF-8 | |
107 | + </project.build.sourceEncoding> | |
108 | + <!-- redis 地址 --> | |
109 | + <cache.redis.url>10.28.5.200</cache.redis.url> | |
110 | + <cache.redis.port>6379</cache.redis.port> | |
111 | + <!-- MQ 地址--> | |
112 | + <conf.mq.namesrvAddr>10.28.5.202:9876;10.28.5.203:9876</conf.mq.namesrvAddr> | |
113 | + <conf.mq.producerGroup>cachePNR</conf.mq.producerGroup> | |
114 | + <dili_titan.website.url>manweb.1n4j.com</dili_titan.website.url> | |
115 | + </properties> | |
116 | + </profile> | |
117 | + </profiles> | |
118 | + | |
119 | + <dependencies> | |
120 | + <dependency> | |
121 | + <groupId>junit</groupId> | |
122 | + <artifactId>junit</artifactId> | |
123 | + <version>4.10</version> | |
124 | + <scope>test</scope> | |
125 | + </dependency> | |
126 | + <dependency> | |
127 | + <groupId>org.slf4j</groupId> | |
128 | + <artifactId>slf4j-api</artifactId> | |
129 | + <version>1.6.4</version> | |
130 | + </dependency> | |
131 | + <dependency> | |
132 | + <groupId>org.slf4j</groupId> | |
133 | + <artifactId>slf4j-log4j12</artifactId> | |
134 | + <version>1.6.4</version> | |
135 | + </dependency> | |
136 | + <dependency> | |
137 | + <groupId>log4j</groupId> | |
138 | + <artifactId>log4j</artifactId> | |
139 | + <version>1.2.17</version> | |
140 | + </dependency> | |
141 | + <dependency> | |
142 | + <groupId>commons-lang</groupId> | |
143 | + <artifactId>commons-lang</artifactId> | |
144 | + <version>2.5</version> | |
145 | + </dependency> | |
146 | + <dependency> | |
147 | + <groupId>commons-collections</groupId> | |
148 | + <artifactId>commons-collections</artifactId> | |
149 | + <version>3.2.1</version> | |
150 | + </dependency> | |
151 | + <dependency> | |
152 | + <groupId>commons-logging</groupId> | |
153 | + <artifactId>commons-logging</artifactId> | |
154 | + <version>1.1.3</version> | |
155 | + </dependency> | |
156 | + <dependency> | |
157 | + <groupId>org.springframework</groupId> | |
158 | + <artifactId>spring-jdbc</artifactId> | |
159 | + <version>${spring.version}</version> | |
160 | + </dependency> | |
161 | + <dependency> | |
162 | + <groupId>org.springframework</groupId> | |
163 | + <artifactId>spring-context-support</artifactId> | |
164 | + <version>${spring.version}</version> | |
165 | + </dependency> | |
166 | + <dependency> | |
167 | + <groupId>org.springframework</groupId> | |
168 | + <artifactId>spring-web</artifactId> | |
169 | + <version>${spring.version}</version> | |
170 | + </dependency> | |
171 | + <dependency> | |
172 | + <groupId>org.springframework</groupId> | |
173 | + <artifactId>spring-webmvc</artifactId> | |
174 | + <version>${spring.version}</version> | |
175 | + </dependency> | |
176 | + <dependency> | |
177 | + <groupId>org.mybatis</groupId> | |
178 | + <artifactId>mybatis</artifactId> | |
179 | + <version>3.2.1</version> | |
180 | + </dependency> | |
181 | + <dependency> | |
182 | + <groupId>org.mybatis</groupId> | |
183 | + <artifactId>mybatis-spring</artifactId> | |
184 | + <version>1.2.0</version> | |
185 | + </dependency> | |
186 | + <dependency> | |
187 | + <groupId>mysql</groupId> | |
188 | + <artifactId>mysql-connector-java</artifactId> | |
189 | + <version>5.1.30</version> | |
190 | + </dependency> | |
191 | + <dependency> | |
192 | + <groupId>com.alibaba</groupId> | |
193 | + <artifactId>druid</artifactId> | |
194 | + <version>1.0.11</version> | |
195 | + </dependency> | |
196 | + <dependency> | |
197 | + <groupId>org.springframework</groupId> | |
198 | + <artifactId>spring-context</artifactId> | |
199 | + <version>${spring.version}</version> | |
200 | + </dependency> | |
201 | + <dependency> | |
202 | + <groupId>com.diligrp.util.rocketMQUtil</groupId> | |
203 | + <artifactId>diligrp-util-rocketMQUtil</artifactId> | |
204 | + <version>0.0.1-SNAPSHOT</version> | |
205 | + <exclusions> | |
206 | + <exclusion> | |
207 | + <artifactId>jackson-core-asl</artifactId> | |
208 | + <groupId>org.codehaus.jackson</groupId> | |
209 | + </exclusion> | |
210 | + </exclusions> | |
211 | + </dependency> | |
212 | + <dependency> | |
213 | + <groupId>org.springframework</groupId> | |
214 | + <artifactId>spring-test</artifactId> | |
215 | + <version>${spring.version}</version> | |
216 | + <scope>test</scope> | |
217 | + </dependency> | |
218 | + <dependency> | |
219 | + <groupId>redis.clients</groupId> | |
220 | + <artifactId>jedis</artifactId> | |
221 | + <version>2.4.2</version> | |
222 | + </dependency> | |
223 | + <dependency> | |
224 | + <groupId>org.springframework.data</groupId> | |
225 | + <artifactId>spring-data-redis</artifactId> | |
226 | + <version>1.3.0.RELEASE</version> | |
227 | + </dependency> | |
228 | + <dependency> | |
229 | + <groupId>org.codehaus.jackson</groupId> | |
230 | + <artifactId>jackson-mapper-asl</artifactId> | |
231 | + <version>1.9.2</version> | |
232 | + </dependency> | |
233 | + <!-- JSON --> | |
234 | + <dependency> | |
235 | + <groupId>com.alibaba</groupId> | |
236 | + <artifactId>fastjson</artifactId> | |
237 | + <version>1.1.31</version> | |
238 | + </dependency> | |
239 | + | |
240 | + <dependency> | |
241 | + <groupId>com.yqyw.website.web</groupId> | |
242 | + <artifactId>diligrp-website-api</artifactId> | |
243 | + <version>1.0.3-SNAPSHOT</version> | |
244 | + </dependency> | |
245 | + <dependency> | |
246 | + <artifactId>diligrp-website-util</artifactId> | |
247 | + <groupId>com.diligrp.website</groupId> | |
248 | + <version>0.0.1-SNAPSHOT</version> | |
249 | + </dependency> | |
250 | + | |
251 | + </dependencies> | |
252 | + | |
253 | + <build> | |
254 | + <resources> | |
255 | + <resource> | |
256 | + <directory>src/main/resources</directory> | |
257 | + <filtering>true</filtering> | |
258 | + </resource> | |
259 | + </resources> | |
260 | + <plugins> | |
261 | + <plugin> | |
262 | + <groupId>org.apache.maven.plugins</groupId> | |
263 | + <artifactId>maven-war-plugin</artifactId> | |
264 | + <version>2.3</version> | |
265 | + </plugin> | |
266 | + <plugin> | |
267 | + <groupId>org.apache.maven.plugins</groupId> | |
268 | + <artifactId>maven-compiler-plugin</artifactId> | |
269 | + <version>2.5.1</version> | |
270 | + <configuration> | |
271 | + <source>1.6</source> | |
272 | + <target>1.6</target> | |
273 | + <encoding>UTF-8</encoding> | |
274 | + </configuration> | |
275 | + </plugin> | |
276 | + <plugin> | |
277 | + <groupId>org.apache.maven.plugins</groupId> | |
278 | + <artifactId>maven-surefire-plugin</artifactId> | |
279 | + <version>2.17</version> | |
280 | + <configuration> | |
281 | + <skipTests>true</skipTests> | |
282 | + </configuration> | |
283 | + </plugin> | |
284 | + <plugin> | |
285 | + <groupId>org.mortbay.jetty</groupId> | |
286 | + <artifactId>maven-jetty-plugin</artifactId> | |
287 | + <version>6.1.26</version> | |
288 | + <configuration> | |
289 | + <scanIntervalSeconds>3</scanIntervalSeconds> | |
290 | + <contextPath>/</contextPath> | |
291 | + <connectors> | |
292 | + <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> | |
293 | + <port>80</port> | |
294 | + </connector> | |
295 | + </connectors> | |
296 | + </configuration> | |
297 | + </plugin> | |
298 | + </plugins> | |
299 | + </build> | |
300 | +</project> | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/BaseDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao; | |
6 | + | |
7 | + | |
8 | +import java.io.Serializable; | |
9 | +import java.util.List; | |
10 | + | |
11 | +/** | |
12 | + * dao基类<实体,主键> | |
13 | + * | |
14 | + * @author dev-center | |
15 | + * @since 2014-05-10 | |
16 | + * @param <T> | |
17 | + * 实体 | |
18 | + * @param <KEY> | |
19 | + * 主键 | |
20 | + */ | |
21 | +public interface BaseDao<T, KEY extends Serializable> { | |
22 | + | |
23 | + /** | |
24 | + * 添加对象 | |
25 | + * | |
26 | + * @param t | |
27 | + * @return 影响条数 | |
28 | + */ | |
29 | + int insertEntry(T... t); | |
30 | + | |
31 | + /** | |
32 | + * 删除对象,主键 | |
33 | + * | |
34 | + * @param key | |
35 | + * @return 影响条数 | |
36 | + */ | |
37 | + int deleteByKey(KEY... key); | |
38 | + | |
39 | + /** | |
40 | + * 更新对象,条件主键ID | |
41 | + * | |
42 | + * @param t | |
43 | + * @return 影响条数 | |
44 | + */ | |
45 | + int updateByKey(T t); | |
46 | + | |
47 | + /** | |
48 | + * 查询对象,条件主键 | |
49 | + * | |
50 | + * @param key | |
51 | + * @return | |
52 | + */ | |
53 | + T selectEntry(KEY key); | |
54 | + | |
55 | + /** | |
56 | + * 查询对象,条件主键数组 | |
57 | + * | |
58 | + * @param key | |
59 | + * @return | |
60 | + */ | |
61 | + List<T> selectEntryList(KEY... key); | |
62 | + | |
63 | + /** | |
64 | + * 查询对象,只要不为NULL与空则为条件 | |
65 | + * | |
66 | + * @param t | |
67 | + * @return | |
68 | + */ | |
69 | + List<T> selectEntryList(T t); | |
70 | + | |
71 | + /** | |
72 | + * 查询对象总数 | |
73 | + * | |
74 | + * @param t | |
75 | + * @return | |
76 | + */ | |
77 | + Integer selectEntryListCount(T t); | |
78 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/BaseDaoImpl.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao; | |
6 | + | |
7 | + | |
8 | +import java.io.Serializable; | |
9 | +import java.util.List; | |
10 | + | |
11 | +/** | |
12 | + * dao实现类 | |
13 | + * | |
14 | + * @author dev-center | |
15 | + * @since 2014-05-10 | |
16 | + * @param <T> | |
17 | + * 实体 | |
18 | + * @param <KEY> | |
19 | + * 主键 | |
20 | + */ | |
21 | +public abstract class BaseDaoImpl<T, KEY extends Serializable> extends MyBatisSupport implements BaseDao<T, KEY> { | |
22 | + private static final String DEFAULT_INSERT_KEY = "insertEntry"; | |
23 | + private static final String DEFAULT_DELETE_ARRAY_KEY = "deleteByArrayKey"; | |
24 | + private static final String DEFAULT_UPDATE_KEY = "updateByKey"; | |
25 | + private static final String DEFAULT_SELECT_ARRAY_KEY = "selectEntryArray"; | |
26 | + private static final String DEFAULT_SELECT_CONDTION = "selectEntryList"; | |
27 | + private static final String DEFAULT_SELECT_CONDTION_COUNT = "selectEntryListCount"; | |
28 | + | |
29 | + /** | |
30 | + * 获取命名空间前缀 | |
31 | + * | |
32 | + * @param statement | |
33 | + * @return | |
34 | + */ | |
35 | + public abstract String getNameSpace(String statement); | |
36 | + | |
37 | + public int insertEntry(T... t) { | |
38 | + int result = 0; | |
39 | + if (t == null || t.length <= 0) { | |
40 | + return result; | |
41 | + } | |
42 | + for (T o : t) { | |
43 | + if (o != null) { | |
44 | + result += this.insert(getNameSpace(DEFAULT_INSERT_KEY), o); | |
45 | + } | |
46 | + } | |
47 | + return result; | |
48 | + } | |
49 | + | |
50 | + | |
51 | + public int deleteByKey(KEY... key) { | |
52 | + return this.delete(getNameSpace(DEFAULT_DELETE_ARRAY_KEY), key); | |
53 | + } | |
54 | + | |
55 | + | |
56 | + public int updateByKey(T t) { | |
57 | + return this.update(getNameSpace(DEFAULT_UPDATE_KEY), t); | |
58 | + } | |
59 | + | |
60 | + public T selectEntry(KEY key) { | |
61 | + @SuppressWarnings("unchecked") | |
62 | + List<T> list = this.selectEntryList(key); | |
63 | + if (list != null && list.size() > 0) { | |
64 | + return list.get(0); | |
65 | + } | |
66 | + return null; | |
67 | + } | |
68 | + | |
69 | + public List<T> selectEntryList(KEY... key) { | |
70 | + if (key == null || key.length <= 0) { | |
71 | + return null; | |
72 | + } | |
73 | + return this.selectList(getNameSpace(DEFAULT_SELECT_ARRAY_KEY), key); | |
74 | + } | |
75 | + | |
76 | + public List<T> selectEntryList(T t) { | |
77 | + return this.selectList(getNameSpace(DEFAULT_SELECT_CONDTION), t); | |
78 | + } | |
79 | + | |
80 | + public Integer selectEntryListCount(T t) { | |
81 | + return this.select(getNameSpace(DEFAULT_SELECT_CONDTION_COUNT), t); | |
82 | + } | |
83 | + | |
84 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/MyBatisSupport.java
0 → 100644
1 | +package com.dili.titan.dao; | |
2 | + | |
3 | +import com.dili.titan.exception.TitanException; | |
4 | +import org.mybatis.spring.SqlSessionTemplate; | |
5 | +import org.slf4j.Logger; | |
6 | +import org.slf4j.LoggerFactory; | |
7 | + | |
8 | +import javax.annotation.Resource; | |
9 | +import java.util.List; | |
10 | +import java.util.Map; | |
11 | + | |
12 | +/** | |
13 | + * | |
14 | + * | |
15 | + */ | |
16 | +abstract class MyBatisSupport { | |
17 | + protected static final Logger LOGGER = LoggerFactory.getLogger(MyBatisSupport.class); | |
18 | + @Resource | |
19 | + private SqlSessionTemplate sqlTemplate; | |
20 | + | |
21 | + /** | |
22 | + * | |
23 | + * | |
24 | + * @param readonly | |
25 | + * @return | |
26 | + */ | |
27 | + protected SqlSessionTemplate getSqlTemplate(boolean readonly) { | |
28 | + if (readonly) { | |
29 | + | |
30 | + } | |
31 | + return sqlTemplate; | |
32 | + } | |
33 | + | |
34 | + /** | |
35 | + * 新增对象 | |
36 | + * | |
37 | + * @param statement | |
38 | + * @param parameter | |
39 | + * @return | |
40 | + */ | |
41 | + protected int insert(String statement, Object parameter) { | |
42 | + int res = 0; | |
43 | + try { | |
44 | + if (parameter != null) { | |
45 | + res = getSqlTemplate(false).insert(statement, parameter); | |
46 | + } | |
47 | + } catch (Exception ex) { | |
48 | + throw new TitanException("Mybatis执行新增异常", ex); | |
49 | + } | |
50 | + return res; | |
51 | + } | |
52 | + | |
53 | + /** | |
54 | + * 删除对象 | |
55 | + * | |
56 | + * @param statement | |
57 | + * @param parameter | |
58 | + * @return | |
59 | + */ | |
60 | + protected int delete(String statement, Object parameter) { | |
61 | + int res = 0; | |
62 | + try { | |
63 | + res = getSqlTemplate(false).delete(statement, parameter); | |
64 | + } catch (Exception ex) { | |
65 | + throw new TitanException("Mybatis执行删除异常", ex); | |
66 | + } | |
67 | + return res; | |
68 | + } | |
69 | + | |
70 | + /** | |
71 | + * 更新对象 | |
72 | + * | |
73 | + * @param statement | |
74 | + * @param parameter | |
75 | + * @return | |
76 | + */ | |
77 | + protected int update(String statement, Object parameter) { | |
78 | + int res = 0; | |
79 | + try { | |
80 | + if (parameter != null) { | |
81 | + res = getSqlTemplate(false).update(statement, parameter); | |
82 | + } | |
83 | + } catch (Exception ex) { | |
84 | + throw new TitanException("Mybatis执行更新异常", ex); | |
85 | + } | |
86 | + return res; | |
87 | + } | |
88 | + | |
89 | + /** | |
90 | + * 查询一条记录 | |
91 | + * | |
92 | + * @param <T> | |
93 | + * @param statement | |
94 | + * @param parameter | |
95 | + * @param clz | |
96 | + * @return | |
97 | + */ | |
98 | + @SuppressWarnings("unchecked") | |
99 | + protected <T> T select(String statement, Object parameter) { | |
100 | + T obj = null; | |
101 | + try { | |
102 | + obj = (T) getSqlTemplate(true).selectOne(statement, parameter); | |
103 | + } catch (Exception ex) { | |
104 | + throw new TitanException("Mybatis执行单条查询异常", ex); | |
105 | + } | |
106 | + return obj; | |
107 | + } | |
108 | + | |
109 | + /** | |
110 | + * 查询列表 | |
111 | + * | |
112 | + * @param <T> | |
113 | + * @param statement | |
114 | + * @param parameter | |
115 | + * @param clz | |
116 | + * @return | |
117 | + */ | |
118 | + protected <T> List<T> selectList(String statement, Object parameter) { | |
119 | + List<T> list = null; | |
120 | + try { | |
121 | + list = getSqlTemplate(true).selectList(statement, parameter); | |
122 | + } catch (Exception ex) { | |
123 | + throw new TitanException("Mybatis执行列表查询异常", ex); | |
124 | + } | |
125 | + return list; | |
126 | + } | |
127 | + | |
128 | + /** | |
129 | + * 查询列表(无参数) | |
130 | + * | |
131 | + * @param statement | |
132 | + * @return | |
133 | + */ | |
134 | + protected <T> List<T> selectList(String statement) { | |
135 | + List<T> list = null; | |
136 | + try { | |
137 | + list = getSqlTemplate(true).selectList(statement); | |
138 | + } catch (Exception ex) { | |
139 | + throw new TitanException("Mybatis执行列表查询异常", ex); | |
140 | + } | |
141 | + return list; | |
142 | + } | |
143 | + | |
144 | + /** | |
145 | + * 查询Map | |
146 | + * | |
147 | + * @param <K> | |
148 | + * @param <V> | |
149 | + * @param statement | |
150 | + * @param parameter | |
151 | + * @param mapKey | |
152 | + * @return | |
153 | + */ | |
154 | + protected <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey) { | |
155 | + Map<K, V> map = null; | |
156 | + try { | |
157 | + map = getSqlTemplate(true).selectMap(statement, parameter, mapKey); | |
158 | + } catch (Exception ex) { | |
159 | + throw new TitanException("Mybatis执行Map查询异常", ex); | |
160 | + } | |
161 | + return map; | |
162 | + } | |
163 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/PresaleDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.gq; | |
6 | + | |
7 | + | |
8 | +import com.dili.titan.dao.BaseDao; | |
9 | +import com.dili.titan.domain.gq.Presale; | |
10 | +import com.dili.titan.domain.gq.Supply; | |
11 | + | |
12 | +import java.util.List; | |
13 | + | |
14 | +/** | |
15 | + * SupplyDao 接口 | |
16 | + * @author dev-center | |
17 | + * @since 2014-12-16 | |
18 | + */ | |
19 | +public interface PresaleDao extends BaseDao<Presale,Long> { | |
20 | + | |
21 | + /** | |
22 | + * 更新用户手机号 | |
23 | + * @param userId | |
24 | + * @param phone | |
25 | + */ | |
26 | + public void updatePhone(Long userId,String phone); | |
27 | +} | |
0 | 28 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/PurchaseDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.gq; | |
6 | + | |
7 | + | |
8 | +import com.dili.titan.dao.BaseDao; | |
9 | +import com.dili.titan.domain.gq.Purchase; | |
10 | + | |
11 | +import java.util.List; | |
12 | + | |
13 | +/** | |
14 | + * PurchaseDao 接口 | |
15 | + * @author dev-center | |
16 | + * @since 2014-12-16 | |
17 | + */ | |
18 | +public interface PurchaseDao extends BaseDao<Purchase,Long> { | |
19 | + /** | |
20 | + * 更新用户手机号 | |
21 | + * @param userId | |
22 | + * @param phone | |
23 | + */ | |
24 | + public void updatePhone(Long userId,String phone); | |
25 | +} | |
0 | 26 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/SupplyDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.gq; | |
6 | + | |
7 | + | |
8 | +import com.dili.titan.dao.BaseDao; | |
9 | +import com.dili.titan.domain.gq.Supply; | |
10 | + | |
11 | +import java.util.List; | |
12 | + | |
13 | +/** | |
14 | + * SupplyDao 接口 | |
15 | + * @author dev-center | |
16 | + * @since 2014-12-16 | |
17 | + */ | |
18 | +public interface SupplyDao extends BaseDao<Supply,Long> { | |
19 | + /** | |
20 | + * 更新用户手机号 | |
21 | + * @param userId | |
22 | + * @param phone | |
23 | + */ | |
24 | + public void updatePhone(Long userId,String phone); | |
25 | +} | |
0 | 26 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/impl/PresaleDaoImpl.java
0 → 100644
1 | +package com.dili.titan.dao.gq.impl; | |
2 | + | |
3 | +import com.dili.titan.dao.BaseDaoImpl; | |
4 | +import com.dili.titan.dao.gq.PresaleDao; | |
5 | +import com.dili.titan.domain.gq.Presale; | |
6 | +import org.springframework.stereotype.Repository; | |
7 | + | |
8 | +import java.util.HashMap; | |
9 | +import java.util.Map; | |
10 | + | |
11 | +/** | |
12 | + * Created by gsz on 2015/7/27. | |
13 | + */ | |
14 | +@Repository | |
15 | +public class PresaleDaoImpl extends BaseDaoImpl<Presale,Long> implements PresaleDao { | |
16 | + private final static String NAMESPACE = "com.dili.titan.dao.gq.PresaleDao."; | |
17 | + | |
18 | + //返回本DAO命名空间,并添加statement | |
19 | + public String getNameSpace(String statement) { | |
20 | + return NAMESPACE + statement; | |
21 | + } | |
22 | + | |
23 | + @Override | |
24 | + public void updatePhone(Long userId, String phone) { | |
25 | + Map<String,Object> conditionMap = new HashMap<String,Object>(); | |
26 | + conditionMap.put("userId",userId); | |
27 | + conditionMap.put("phone",phone); | |
28 | + this.update(getNameSpace("updatePhone"),conditionMap); | |
29 | + } | |
30 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/impl/PurchaseDaoImpl.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.gq.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.BaseDaoImpl; | |
8 | +import com.dili.titan.dao.gq.PurchaseDao; | |
9 | +import com.dili.titan.domain.gq.Purchase; | |
10 | +import org.springframework.stereotype.Repository; | |
11 | + | |
12 | +import java.util.HashMap; | |
13 | +import java.util.List; | |
14 | +import java.util.Map; | |
15 | + | |
16 | + | |
17 | +/** | |
18 | + * PurchaseDao 实现类 | |
19 | + * @author dev-center | |
20 | + * @since 2014-12-16 | |
21 | + */ | |
22 | +@Repository("purchaseDao") | |
23 | +public class PurchaseDaoImpl extends BaseDaoImpl<Purchase,Long> implements PurchaseDao { | |
24 | + private final static String NAMESPACE = "com.dili.titan.dao.gq.PurchaseDao."; | |
25 | + | |
26 | + //返回本DAO命名空间,并添加statement | |
27 | + public String getNameSpace(String statement) { | |
28 | + return NAMESPACE + statement; | |
29 | + } | |
30 | + @Override | |
31 | + public void updatePhone(Long userId, String phone) { | |
32 | + Map<String,Object> conditionMap = new HashMap<String,Object>(); | |
33 | + conditionMap.put("userId",userId); | |
34 | + conditionMap.put("phone",phone); | |
35 | + this.update(getNameSpace("updatePhone"),conditionMap); | |
36 | + } | |
37 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/gq/impl/SupplyDaoImpl.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.gq.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.BaseDaoImpl; | |
8 | +import com.dili.titan.dao.gq.SupplyDao; | |
9 | +import com.dili.titan.domain.gq.Supply; | |
10 | +import org.springframework.stereotype.Repository; | |
11 | + | |
12 | +import java.util.HashMap; | |
13 | +import java.util.List; | |
14 | +import java.util.Map; | |
15 | + | |
16 | +/** | |
17 | + * SupplyDao 实现类 | |
18 | + * | |
19 | + * @author dev-center | |
20 | + * @since 2014-12-16 | |
21 | + */ | |
22 | +@Repository("supplyDao") | |
23 | +public class SupplyDaoImpl extends BaseDaoImpl<Supply, Long> implements | |
24 | + SupplyDao { | |
25 | + private final static String NAMESPACE = "com.dili.titan.dao.gq.SupplyDao."; | |
26 | + | |
27 | + // 返回本DAO命名空间,并添加statement | |
28 | + public String getNameSpace(String statement) { | |
29 | + return NAMESPACE + statement; | |
30 | + } | |
31 | + @Override | |
32 | + public void updatePhone(Long userId, String phone) { | |
33 | + Map<String,Object> conditionMap = new HashMap<String,Object>(); | |
34 | + conditionMap.put("userId",userId); | |
35 | + conditionMap.put("phone",phone); | |
36 | + this.update(getNameSpace("updatePhone"),conditionMap); | |
37 | + } | |
38 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/impl/AttributeDao.java
0 → 100644
1 | +package com.dili.titan.dao.impl; | |
2 | + | |
3 | +import com.dili.titan.dao.BaseDaoImpl; | |
4 | +import com.dili.titan.domain.Attribute; | |
5 | +import com.dili.titan.domain.AttributeValue; | |
6 | +import org.springframework.stereotype.Repository; | |
7 | + | |
8 | +import java.util.List; | |
9 | + | |
10 | +/** | |
11 | + * AttributeDao 实现类 | |
12 | + * | |
13 | + * @author dev-center | |
14 | + * @since 2014-05-10 | |
15 | + */ | |
16 | +@Repository("attributeDao") | |
17 | +public class AttributeDao extends BaseDaoImpl<Attribute, Long> { | |
18 | + private final static String NAMESPACE = "com.dili.titan.dao.AttributeDao."; | |
19 | + | |
20 | + // 返回本DAO命名空间,并添加statement | |
21 | + public String getNameSpace(String statement) { | |
22 | + return NAMESPACE + statement; | |
23 | + } | |
24 | + | |
25 | + /** | |
26 | + * 查询属性的所有属性值 | |
27 | + * | |
28 | + * @param attrId | |
29 | + * @return | |
30 | + */ | |
31 | + public List<AttributeValue> getAttributeValues(long attrId) { | |
32 | + return this.selectList(getNameSpace("selectAttributeValue"), attrId); | |
33 | + } | |
34 | + | |
35 | + /** | |
36 | + * 查询所有的属性 | |
37 | + * | |
38 | + * @return | |
39 | + */ | |
40 | + public List<Attribute> getAllAttribute() { | |
41 | + return this.selectList(getNameSpace("selectAllEntry")); | |
42 | + } | |
43 | +} | |
0 | 44 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/impl/CategoryDao.java
0 → 100644
1 | +package com.dili.titan.dao.impl; | |
2 | + | |
3 | +import com.dili.titan.dao.BaseDaoImpl; | |
4 | +import com.dili.titan.domain.Category; | |
5 | +import com.dili.titan.domain.CategoryAttr; | |
6 | +import org.springframework.stereotype.Repository; | |
7 | + | |
8 | +import java.util.List; | |
9 | + | |
10 | +/** | |
11 | + * CategoryDao 实现类 | |
12 | + * | |
13 | + * @author dev-center | |
14 | + * @since 2014-05-10 | |
15 | + */ | |
16 | +@Repository("categoryDao") | |
17 | +public class CategoryDao extends BaseDaoImpl<Category, Integer> { | |
18 | + private final static String NAMESPACE = "com.dili.titan.dao.CategoryDao."; | |
19 | + | |
20 | + public String getNameSpace(String statement) { | |
21 | + return NAMESPACE + statement; | |
22 | + } | |
23 | + | |
24 | + public List<Category> selectAllCategory() { | |
25 | + return this.selectList(getNameSpace("selectAllEntry")); | |
26 | + } | |
27 | + | |
28 | + public List<CategoryAttr> getCategoryAttrById(int cateId) { | |
29 | + return this.selectList(getNameSpace("selectCateAttrById"), cateId); | |
30 | + } | |
31 | + | |
32 | + /** | |
33 | + * this method is可搜索属性 | |
34 | + * @param cateId | |
35 | + * @return | |
36 | + * @createTime 2014年9月30日 上午11:16:33 | |
37 | + * @author yangjianjun | |
38 | + */ | |
39 | + public List<CategoryAttr> getCategorySeacherAttrById(int cateId) { | |
40 | + return this.selectList(getNameSpace("selectCateSeacherAttrById"), cateId); | |
41 | + } | |
42 | + | |
43 | + public List<Integer> getChildByCid(int cateId) { | |
44 | + return this.selectList(getNameSpace("selectChildById"), cateId); | |
45 | + } | |
46 | +} | |
0 | 47 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/impl/ProductOfflineDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.BaseDaoImpl; | |
8 | +import com.dili.titan.domain.ProductOffline; | |
9 | +import org.springframework.stereotype.Repository; | |
10 | + | |
11 | +import java.util.HashMap; | |
12 | +import java.util.List; | |
13 | +import java.util.Map; | |
14 | + | |
15 | +/** | |
16 | + * ProductOfflineDao 实现类 | |
17 | + * @author dev-center | |
18 | + * @since 2014-11-14 | |
19 | + */ | |
20 | +@Repository("productOfflineDao") | |
21 | +public class ProductOfflineDao extends BaseDaoImpl<ProductOffline,Long>{ | |
22 | + private final static String NAMESPACE = "com.dili.titan.dao.ProductOfflineDao."; | |
23 | + | |
24 | + //返回本DAO命名空间,并添加statement | |
25 | + public String getNameSpace(String statement) { | |
26 | + return NAMESPACE + statement; | |
27 | + } | |
28 | + | |
29 | + public int delProductInfo(List<Long> pids) { | |
30 | + Map<Object, Object> map = new HashMap<Object, Object>(); | |
31 | + map.put("list", pids); | |
32 | + return this.delete(getNameSpace("delProduct"), map); | |
33 | + } | |
34 | + | |
35 | + public int deleteCateProducts(List<Long> cateIds, Long sellerId) { | |
36 | + Map<Object, Object> map = new HashMap<Object, Object>(); | |
37 | + map.put("list", cateIds); | |
38 | + map.put("sellerId", sellerId); | |
39 | + return this.delete(getNameSpace("deleteCateProducts"), map); | |
40 | + } | |
41 | + | |
42 | + public ProductOffline selectCatePid(Long cateId) { | |
43 | + return this.select(getNameSpace("selectCatePid"), cateId); | |
44 | + } | |
45 | + | |
46 | + public List<Long> getSellerSaleCates(Long sellerId) { | |
47 | + return this.selectList(getNameSpace("selectSellerSaleCates"), sellerId); | |
48 | + } | |
49 | +} | |
0 | 50 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/dao/impl/ProductPopDao.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.dao.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.BaseDaoImpl; | |
8 | +import com.dili.titan.domain.ProductPop; | |
9 | +import org.springframework.stereotype.Repository; | |
10 | + | |
11 | +import java.util.HashMap; | |
12 | +import java.util.List; | |
13 | +import java.util.Map; | |
14 | + | |
15 | +/** | |
16 | + * ProductOfflineDao 实现类 | |
17 | + * @author dev-center | |
18 | + * @since 2014-11-14 | |
19 | + */ | |
20 | +@Repository("productPopDao") | |
21 | +public class ProductPopDao extends BaseDaoImpl<ProductPop,Long>{ | |
22 | + private final static String NAMESPACE = "com.dili.titan.dao.ProductPopDao."; | |
23 | + | |
24 | + //返回本DAO命名空间,并添加statement | |
25 | + public String getNameSpace(String statement) { | |
26 | + return NAMESPACE + statement; | |
27 | + } | |
28 | + | |
29 | + public int update(long shopId,long cityId){ | |
30 | + Map<String,Object> param = new HashMap<String,Object>(); | |
31 | + param.put("shopId", shopId); | |
32 | + param.put("cityId", cityId); | |
33 | + return this.update(getNameSpace("setProductLocalityArea"), param); | |
34 | + } | |
35 | + | |
36 | + public int updateCityId(long shopId,int cityId){ | |
37 | + Map<String,Object> param = new HashMap<String,Object>(); | |
38 | + param.put("shopId", shopId); | |
39 | + param.put("cityId", cityId); | |
40 | + return this.update(getNameSpace("setShopCityId"), param); | |
41 | + } | |
42 | + | |
43 | + public List<Long> getProductPopList(long shopId){ | |
44 | + return this.selectList(getNameSpace("selectProductIdByShopId"), shopId); | |
45 | + } | |
46 | + | |
47 | + public int updateShopName(long shopId,String shopName){ | |
48 | + Map<String,Object> param = new HashMap<String,Object>(); | |
49 | + param.put("shopId", shopId); | |
50 | + param.put("shopName", shopName); | |
51 | + return this.update(getNameSpace("setShopName"), param); | |
52 | + } | |
53 | + | |
54 | + public int updateUserName(long userId,String userName){ | |
55 | + Map<String,Object> param = new HashMap<String,Object>(); | |
56 | + param.put("userId", userId); | |
57 | + param.put("userName", userName); | |
58 | + return this.update(getNameSpace("setUserName"), param); | |
59 | + } | |
60 | + | |
61 | + public int updateMarket(long shopId,long marketId,String marketName){ | |
62 | + Map<String,Object> param = new HashMap<String,Object>(); | |
63 | + param.put("shopId", shopId); | |
64 | + param.put("marketId", marketId); | |
65 | + param.put("marketName", marketName); | |
66 | + return this.update(getNameSpace("setMarket"), param); | |
67 | + } | |
68 | + | |
69 | + | |
70 | + public List<Long> selectDropsProduct(Long shopId){ | |
71 | + return this.selectList(getNameSpace("selectDropsProduct"), shopId); | |
72 | + } | |
73 | + | |
74 | + public int dropsProduct(Long shopId){ | |
75 | + return this.update(getNameSpace("dropsProduct"), shopId); | |
76 | + } | |
77 | + | |
78 | + public List<Long> selectDelProduct(Long shopId){ | |
79 | + return this.selectList(getNameSpace("selectDelProduct"), shopId); | |
80 | + } | |
81 | + | |
82 | + public int delProduct(Long shopId){ | |
83 | + return this.update(getNameSpace("delProduct"), shopId); | |
84 | + } | |
85 | + | |
86 | + | |
87 | +} | |
0 | 88 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/Attribute.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +import org.codehaus.jackson.annotate.JsonIgnore; | |
4 | + | |
5 | +import java.util.Date; | |
6 | + | |
7 | +/** | |
8 | + * attribute | |
9 | + * | |
10 | + * @author dev-center | |
11 | + * @since 2014-05-10 | |
12 | + */ | |
13 | +public class Attribute extends BaseQuery implements java.io.Serializable { | |
14 | + private static final long serialVersionUID = 5047017009144564235L; | |
15 | + private Long attrId; | |
16 | + private String name; | |
17 | + private String alias; | |
18 | + private String inputtype; | |
19 | + private Integer type; | |
20 | + private Integer dealType; | |
21 | + private Integer required; | |
22 | + private Integer status; | |
23 | + private Date ctime; | |
24 | + private Date utime; | |
25 | + | |
26 | + public Long getAttrId() { | |
27 | + return attrId; | |
28 | + } | |
29 | + | |
30 | + public void setAttrId(Long attrId) { | |
31 | + this.attrId = attrId; | |
32 | + } | |
33 | + | |
34 | + public String getName() { | |
35 | + return name; | |
36 | + } | |
37 | + | |
38 | + public void setName(String name) { | |
39 | + this.name = name; | |
40 | + } | |
41 | + | |
42 | + public String getAlias() { | |
43 | + return alias; | |
44 | + } | |
45 | + | |
46 | + public void setAlias(String alias) { | |
47 | + this.alias = alias; | |
48 | + } | |
49 | + | |
50 | + public String getInputtype() { | |
51 | + return inputtype; | |
52 | + } | |
53 | + | |
54 | + public void setInputtype(String inputtype) { | |
55 | + this.inputtype = inputtype; | |
56 | + } | |
57 | + | |
58 | + public Integer getType() { | |
59 | + return type; | |
60 | + } | |
61 | + | |
62 | + public void setType(Integer type) { | |
63 | + this.type = type; | |
64 | + } | |
65 | + | |
66 | + public Integer getRequired() { | |
67 | + return required; | |
68 | + } | |
69 | + | |
70 | + public void setRequired(Integer required) { | |
71 | + this.required = required; | |
72 | + } | |
73 | + | |
74 | + public Integer getStatus() { | |
75 | + return status; | |
76 | + } | |
77 | + | |
78 | + public void setStatus(Integer status) { | |
79 | + this.status = status; | |
80 | + } | |
81 | + | |
82 | + @JsonIgnore | |
83 | + public Date getCtime() { | |
84 | + return ctime; | |
85 | + } | |
86 | + | |
87 | + public void setCtime(Date ctime) { | |
88 | + this.ctime = ctime; | |
89 | + } | |
90 | + | |
91 | + @JsonIgnore | |
92 | + public Date getUtime() { | |
93 | + return utime; | |
94 | + } | |
95 | + | |
96 | + public void setUtime(Date utime) { | |
97 | + this.utime = utime; | |
98 | + } | |
99 | + | |
100 | + public Integer getDealType() { | |
101 | + return dealType; | |
102 | + } | |
103 | + | |
104 | + public void setDealType(Integer dealType) { | |
105 | + this.dealType = dealType; | |
106 | + } | |
107 | + | |
108 | +} | |
0 | 109 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/AttributeValue.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +/** | |
4 | + * attributeValue | |
5 | + * | |
6 | + * @author dev-center | |
7 | + * @since 2014-05-10 | |
8 | + */ | |
9 | +public class AttributeValue extends BaseQuery { | |
10 | + private static final long serialVersionUID = 1L; | |
11 | + private Long valueId; | |
12 | + private Long attrId; | |
13 | + private String value; | |
14 | + private Integer order; | |
15 | + private Integer show; | |
16 | + private Integer status; | |
17 | + | |
18 | + public AttributeValue() { | |
19 | + // 默认无参构造方法 | |
20 | + } | |
21 | + | |
22 | + /** | |
23 | + * 获取 attrId | |
24 | + * | |
25 | + * @return | |
26 | + */ | |
27 | + public Long getAttrId() { | |
28 | + return attrId; | |
29 | + } | |
30 | + | |
31 | + /** | |
32 | + * 设置 attrId | |
33 | + * | |
34 | + * @param attrId | |
35 | + */ | |
36 | + public void setAttrId(Long attrId) { | |
37 | + this.attrId = attrId; | |
38 | + } | |
39 | + | |
40 | + /** | |
41 | + * 获取 value | |
42 | + * | |
43 | + * @return | |
44 | + */ | |
45 | + public String getValue() { | |
46 | + return value; | |
47 | + } | |
48 | + | |
49 | + /** | |
50 | + * 设置 value | |
51 | + * | |
52 | + * @param value | |
53 | + */ | |
54 | + public void setValue(String value) { | |
55 | + this.value = value; | |
56 | + } | |
57 | + | |
58 | + /** | |
59 | + * 获取 order | |
60 | + * | |
61 | + * @return | |
62 | + */ | |
63 | + public Integer getOrder() { | |
64 | + return order; | |
65 | + } | |
66 | + | |
67 | + /** | |
68 | + * 设置 order | |
69 | + * | |
70 | + * @param order | |
71 | + */ | |
72 | + public void setOrder(Integer order) { | |
73 | + this.order = order; | |
74 | + } | |
75 | + | |
76 | + /** | |
77 | + * 获取 show | |
78 | + * | |
79 | + * @return | |
80 | + */ | |
81 | + public Integer getShow() { | |
82 | + return show; | |
83 | + } | |
84 | + | |
85 | + /** | |
86 | + * 设置 show | |
87 | + * | |
88 | + * @param show | |
89 | + */ | |
90 | + public void setShow(Integer show) { | |
91 | + this.show = show; | |
92 | + } | |
93 | + | |
94 | + /** | |
95 | + * 获取 status | |
96 | + * | |
97 | + * @return | |
98 | + */ | |
99 | + public Integer getStatus() { | |
100 | + return status; | |
101 | + } | |
102 | + | |
103 | + /** | |
104 | + * 设置 status | |
105 | + * | |
106 | + * @param status | |
107 | + */ | |
108 | + public void setStatus(Integer status) { | |
109 | + this.status = status; | |
110 | + } | |
111 | + | |
112 | + public Long getValueId() { | |
113 | + return valueId; | |
114 | + } | |
115 | + | |
116 | + public void setValueId(Long valueId) { | |
117 | + this.valueId = valueId; | |
118 | + } | |
119 | + | |
120 | +} | |
0 | 121 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/BaseQuery.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +import org.codehaus.jackson.annotate.JsonIgnore; | |
4 | + | |
5 | +import java.io.Serializable; | |
6 | + | |
7 | +/** | |
8 | + * 基础查询类 | |
9 | + * | |
10 | + * @author dev-center | |
11 | + * @since 2014-05-10 | |
12 | + */ | |
13 | +public class BaseQuery implements Serializable { | |
14 | + private static final long serialVersionUID = -4304410457539406430L; | |
15 | + | |
16 | + private transient Integer startIndex;// 开始索引 | |
17 | + | |
18 | + private transient Integer endIndex;// 结束索引 | |
19 | + | |
20 | + private transient String orderField;// 排序字段 | |
21 | + | |
22 | + private transient String orderType;// 排序类型 | |
23 | + | |
24 | + private transient String keyword;// 关键则查询 | |
25 | + | |
26 | + @JsonIgnore | |
27 | + public Integer getStartIndex() { | |
28 | + return startIndex; | |
29 | + } | |
30 | + | |
31 | + public void setStartIndex(Integer startIndex) { | |
32 | + this.startIndex = startIndex; | |
33 | + } | |
34 | + | |
35 | + @JsonIgnore | |
36 | + public Integer getEndIndex() { | |
37 | + return endIndex; | |
38 | + } | |
39 | + | |
40 | + public void setEndIndex(Integer endIndex) { | |
41 | + this.endIndex = endIndex; | |
42 | + } | |
43 | + | |
44 | + @JsonIgnore | |
45 | + public Integer getPageSize() { | |
46 | + if (endIndex != null && startIndex != null) { | |
47 | + return endIndex - startIndex; | |
48 | + } | |
49 | + return null; | |
50 | + } | |
51 | + | |
52 | + @JsonIgnore | |
53 | + public String getOrderField() { | |
54 | + return orderField; | |
55 | + } | |
56 | + | |
57 | + public void setOrderField(String orderField) { | |
58 | + this.orderField = orderField; | |
59 | + } | |
60 | + | |
61 | + @JsonIgnore | |
62 | + public String getorderType() { | |
63 | + if ("DESC".equalsIgnoreCase(orderType) || "ASC".equalsIgnoreCase(orderType)) { | |
64 | + return orderType.toUpperCase(); | |
65 | + } | |
66 | + return null; | |
67 | + } | |
68 | + | |
69 | + @JsonIgnore | |
70 | + public String getOrderNextType() { | |
71 | + if ("ASC".equalsIgnoreCase(orderType)) { | |
72 | + return "DESC"; | |
73 | + } | |
74 | + return "ASC"; | |
75 | + } | |
76 | + | |
77 | + public void setorderType(String orderType) { | |
78 | + this.orderType = orderType; | |
79 | + } | |
80 | + | |
81 | + public void setKeyword(String keyword) { | |
82 | + this.keyword = keyword; | |
83 | + } | |
84 | + | |
85 | + @JsonIgnore | |
86 | + public String getkeyword() { | |
87 | + return keyword; | |
88 | + } | |
89 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/Category.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +import com.mysql.jdbc.StringUtils; | |
4 | + | |
5 | +public class Category extends BaseQuery implements java.io.Serializable { | |
6 | + private static final long serialVersionUID = 2741179212701828528L; | |
7 | + | |
8 | + /** | |
9 | + * 交易场景 :线上 | |
10 | + */ | |
11 | + public static final int DEALTYPE_ONLINE = 1; | |
12 | + /** | |
13 | + * 交易场景 :线下 | |
14 | + */ | |
15 | + public static final int DEALTYPE_OFFLINE = 2; | |
16 | + /** | |
17 | + * 交易场景 :线上和线下 | |
18 | + */ | |
19 | + public static final int DEALTYPE_ONANDOFF = 3; | |
20 | + | |
21 | + //删除状态,对应数据库status字段 | |
22 | + public static final Integer STATUS_DELETED = -1; | |
23 | + | |
24 | + private Integer id; | |
25 | + private String name; | |
26 | + private String jp; | |
27 | + private String alias; | |
28 | + private Integer parent; | |
29 | + private Integer order; | |
30 | + private Integer template; | |
31 | + private Integer status; | |
32 | + private Integer activate; | |
33 | + private String icon; | |
34 | + private Integer dealType; | |
35 | + | |
36 | + public Category() { | |
37 | + // 默认无参构造方法 | |
38 | + } | |
39 | + | |
40 | + /** | |
41 | + * 获取 name | |
42 | + * | |
43 | + * @return | |
44 | + */ | |
45 | + public String getName() { | |
46 | + return name; | |
47 | + } | |
48 | + | |
49 | + /** | |
50 | + * 设置 name | |
51 | + * | |
52 | + * @param name | |
53 | + */ | |
54 | + public void setName(String name) { | |
55 | + this.name = name; | |
56 | + } | |
57 | + | |
58 | + public String getAlias() { | |
59 | + if(StringUtils.isNullOrEmpty(this.alias)) return ""; | |
60 | + this.alias = this.alias.replaceAll(","," ").replaceAll(","," "); | |
61 | + return alias; | |
62 | + } | |
63 | + | |
64 | + public void setAlias(String alias) { | |
65 | + this.alias = alias; | |
66 | + } | |
67 | + | |
68 | + /** | |
69 | + * 获取 parent | |
70 | + * | |
71 | + * @return | |
72 | + */ | |
73 | + public Integer getParent() { | |
74 | + return parent; | |
75 | + } | |
76 | + | |
77 | + /** | |
78 | + * 设置 parent | |
79 | + * | |
80 | + * @param parent | |
81 | + */ | |
82 | + public void setParent(Integer parent) { | |
83 | + this.parent = parent; | |
84 | + } | |
85 | + | |
86 | + /** | |
87 | + * 获取 template | |
88 | + * | |
89 | + * @return | |
90 | + */ | |
91 | + public Integer getTemplate() { | |
92 | + return template; | |
93 | + } | |
94 | + | |
95 | + /** | |
96 | + * 设置 template | |
97 | + * | |
98 | + * @param template | |
99 | + */ | |
100 | + public void setTemplate(Integer template) { | |
101 | + this.template = template; | |
102 | + } | |
103 | + | |
104 | + /** | |
105 | + * 获取 status | |
106 | + * | |
107 | + * @return | |
108 | + */ | |
109 | + public Integer getStatus() { | |
110 | + return status; | |
111 | + } | |
112 | + | |
113 | + /** | |
114 | + * 设置 status | |
115 | + * | |
116 | + * @param status | |
117 | + */ | |
118 | + public void setStatus(Integer status) { | |
119 | + this.status = status; | |
120 | + } | |
121 | + | |
122 | + /** | |
123 | + * 获取 activate | |
124 | + * | |
125 | + * @return | |
126 | + */ | |
127 | + public Integer getActivate() { | |
128 | + return activate; | |
129 | + } | |
130 | + | |
131 | + /** | |
132 | + * 设置 activate | |
133 | + * | |
134 | + * @param activate | |
135 | + */ | |
136 | + public void setActivate(Integer activate) { | |
137 | + this.activate = activate; | |
138 | + } | |
139 | + | |
140 | + public Integer getId() { | |
141 | + return id; | |
142 | + } | |
143 | + | |
144 | + public void setId(Integer id) { | |
145 | + this.id = id; | |
146 | + } | |
147 | + | |
148 | + public Integer getOrder() { | |
149 | + return order; | |
150 | + } | |
151 | + | |
152 | + public void setOrder(Integer order) { | |
153 | + this.order = order; | |
154 | + } | |
155 | + | |
156 | + public String getIcon() { | |
157 | + return icon; | |
158 | + } | |
159 | + | |
160 | + public void setIcon(String icon) { | |
161 | + this.icon = icon; | |
162 | + } | |
163 | + | |
164 | + public Integer getDealType() { | |
165 | + return dealType; | |
166 | + } | |
167 | + | |
168 | + public void setDealType(Integer dealType) { | |
169 | + this.dealType = dealType; | |
170 | + } | |
171 | + | |
172 | + public String getJp() { | |
173 | + return jp; | |
174 | + } | |
175 | + | |
176 | + public void setJp(String jp) { | |
177 | + this.jp = jp; | |
178 | + } | |
179 | +} | |
0 | 180 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/CategoryAttr.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain; | |
6 | + | |
7 | + | |
8 | +/** | |
9 | + * categoryAttr | |
10 | + * | |
11 | + * @author dev-center | |
12 | + * @since 2014-05-10 | |
13 | + */ | |
14 | +public class CategoryAttr extends BaseQuery { | |
15 | + private static final long serialVersionUID = 1L; | |
16 | + private Long id; | |
17 | + private Integer catId; | |
18 | + private Long attrId; | |
19 | + private Integer searchable; | |
20 | + private Integer order; | |
21 | + private Integer dealType; | |
22 | + | |
23 | + public Integer getCatId() { | |
24 | + return catId; | |
25 | + } | |
26 | + | |
27 | + public void setCatId(Integer catId) { | |
28 | + this.catId = catId; | |
29 | + } | |
30 | + | |
31 | + public Long getAttrId() { | |
32 | + return attrId; | |
33 | + } | |
34 | + | |
35 | + public void setAttrId(Long attrId) { | |
36 | + this.attrId = attrId; | |
37 | + } | |
38 | + | |
39 | + public Integer getSearchable() { | |
40 | + return searchable; | |
41 | + } | |
42 | + | |
43 | + public void setSearchable(Integer searchable) { | |
44 | + this.searchable = searchable; | |
45 | + } | |
46 | + | |
47 | + public Integer getOrder() { | |
48 | + return order; | |
49 | + } | |
50 | + | |
51 | + public void setOrder(Integer order) { | |
52 | + this.order = order; | |
53 | + } | |
54 | + | |
55 | + public Long getId() { | |
56 | + return id; | |
57 | + } | |
58 | + | |
59 | + public void setId(Long id) { | |
60 | + this.id = id; | |
61 | + } | |
62 | + | |
63 | + public Integer getDealType() { | |
64 | + return dealType; | |
65 | + } | |
66 | + | |
67 | + public void setDealType(Integer dealType) { | |
68 | + this.dealType = dealType; | |
69 | + } | |
70 | +} | |
0 | 71 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/ProductImg.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain; | |
6 | + | |
7 | +import java.util.Date; | |
8 | + | |
9 | +/** | |
10 | + * productImg | |
11 | + * @author dev-center | |
12 | + * @since 2014-05-10 | |
13 | + */ | |
14 | +public class ProductImg extends BaseQuery { | |
15 | + | |
16 | + private static final long serialVersionUID = 1L; | |
17 | + private Long pid; | |
18 | + private String imgUrl; | |
19 | + private String imgTitle; | |
20 | + private Long order; | |
21 | + private String desc; | |
22 | + private Date ctime; | |
23 | + private Date utime; | |
24 | + | |
25 | + public ProductImg() { | |
26 | + // 默认无参构造方法 | |
27 | + } | |
28 | + | |
29 | + /** | |
30 | + * 获取 pid | |
31 | + * @return | |
32 | + */ | |
33 | + public Long getPid() { | |
34 | + return pid; | |
35 | + } | |
36 | + | |
37 | + /** | |
38 | + * 设置 pid | |
39 | + * @param pid | |
40 | + */ | |
41 | + public void setPid(Long pid) { | |
42 | + this.pid = pid; | |
43 | + } | |
44 | + | |
45 | + /** | |
46 | + * 获取 imgUrl | |
47 | + * @return | |
48 | + */ | |
49 | + public String getImgUrl() { | |
50 | + return imgUrl; | |
51 | + } | |
52 | + | |
53 | + /** | |
54 | + * 设置 imgUrl | |
55 | + * @param imgUrl | |
56 | + */ | |
57 | + public void setImgUrl(String imgUrl) { | |
58 | + this.imgUrl = imgUrl; | |
59 | + } | |
60 | + | |
61 | + /** | |
62 | + * 获取 imgTitle | |
63 | + * @return | |
64 | + */ | |
65 | + public String getImgTitle() { | |
66 | + return imgTitle; | |
67 | + } | |
68 | + | |
69 | + /** | |
70 | + * 设置 imgTitle | |
71 | + * @param imgTitle | |
72 | + */ | |
73 | + public void setImgTitle(String imgTitle) { | |
74 | + this.imgTitle = imgTitle; | |
75 | + } | |
76 | + | |
77 | + /** | |
78 | + * 获取 order | |
79 | + * @return | |
80 | + */ | |
81 | + public Long getOrder() { | |
82 | + return order; | |
83 | + } | |
84 | + | |
85 | + /** | |
86 | + * 设置 order | |
87 | + * @param order | |
88 | + */ | |
89 | + public void setOrder(Long order) { | |
90 | + this.order = order; | |
91 | + } | |
92 | + | |
93 | + /** | |
94 | + * 获取 desc | |
95 | + * @return | |
96 | + */ | |
97 | + public String getDesc() { | |
98 | + return desc; | |
99 | + } | |
100 | + | |
101 | + /** | |
102 | + * 设置 desc | |
103 | + * @param desc | |
104 | + */ | |
105 | + public void setDesc(String desc) { | |
106 | + this.desc = desc; | |
107 | + } | |
108 | + | |
109 | + /** | |
110 | + * 获取 ctime | |
111 | + * @return | |
112 | + */ | |
113 | + public Date getCtime() { | |
114 | + return ctime; | |
115 | + } | |
116 | + | |
117 | + /** | |
118 | + * 设置 ctime | |
119 | + * @param ctime | |
120 | + */ | |
121 | + public void setCtime(Date ctime) { | |
122 | + this.ctime = ctime; | |
123 | + } | |
124 | + | |
125 | + /** | |
126 | + * 获取 utime | |
127 | + * @return | |
128 | + */ | |
129 | + public Date getUtime() { | |
130 | + return utime; | |
131 | + } | |
132 | + | |
133 | + /** | |
134 | + * 设置 utime | |
135 | + * @param utime | |
136 | + */ | |
137 | + public void setUtime(Date utime) { | |
138 | + this.utime = utime; | |
139 | + } | |
140 | +} | |
0 | 141 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/ProductOffline.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain; | |
6 | + | |
7 | +import java.util.Date; | |
8 | +import java.util.List; | |
9 | + | |
10 | +/** | |
11 | + * productOffline | |
12 | + * @author dev-center | |
13 | + * @since 2014-11-14 | |
14 | + */ | |
15 | +public class ProductOffline extends BaseQuery { | |
16 | + private static final long serialVersionUID = 1L; | |
17 | + private Long pid; | |
18 | + private Integer cateId; | |
19 | + | |
20 | + //商品正常状态 | |
21 | + public static final Integer PRODUCT_NORMAL = 1; | |
22 | + //商品失效状态 | |
23 | + public static final Integer PRODUCT_INVALID = 2; | |
24 | + | |
25 | + /** | |
26 | + * 类目名 | |
27 | + */ | |
28 | + private String cateName; | |
29 | + /** | |
30 | + * 品规 | |
31 | + */ | |
32 | + private String offlineAttrValue; | |
33 | + private String sellerName; | |
34 | + private Long price; | |
35 | + private Integer status; | |
36 | + private String uniqueKey; | |
37 | + private Long sellerUserId; | |
38 | + private Date ctime; | |
39 | + private Date utime; | |
40 | + | |
41 | + /** 分类ID */ | |
42 | + private List<Integer> cateList; | |
43 | + | |
44 | + public ProductOffline(){ | |
45 | + //默认无参构造方法 | |
46 | + } | |
47 | + | |
48 | + public String getUniqueKey() { | |
49 | + return uniqueKey; | |
50 | + } | |
51 | + | |
52 | + | |
53 | + | |
54 | + public void setUniqueKey(String uniqueKey) { | |
55 | + this.uniqueKey = uniqueKey; | |
56 | + } | |
57 | + | |
58 | + | |
59 | + | |
60 | + public Long getSellerUserId() { | |
61 | + return sellerUserId; | |
62 | + } | |
63 | + | |
64 | + public void setSellerUserId(Long sellerUserId) { | |
65 | + this.sellerUserId = sellerUserId; | |
66 | + } | |
67 | + | |
68 | + | |
69 | + | |
70 | + public List<Integer> getCateList() { | |
71 | + return cateList; | |
72 | + } | |
73 | + | |
74 | + | |
75 | + | |
76 | + public void setCateList(List<Integer> cateList) { | |
77 | + this.cateList = cateList; | |
78 | + } | |
79 | + | |
80 | + | |
81 | + | |
82 | + /** | |
83 | + * 获取 pid | |
84 | + * @return | |
85 | + */ | |
86 | + public Long getPid(){ | |
87 | + return pid; | |
88 | + } | |
89 | + | |
90 | + /** | |
91 | + * 设置 pid | |
92 | + * @param pid | |
93 | + */ | |
94 | + public void setPid(Long pid){ | |
95 | + this.pid = pid; | |
96 | + } | |
97 | + | |
98 | + /** | |
99 | + * 获取 cateId | |
100 | + * @return | |
101 | + */ | |
102 | + public Integer getCateId(){ | |
103 | + return cateId; | |
104 | + } | |
105 | + | |
106 | + /** | |
107 | + * 设置 cateId | |
108 | + * @param cateId | |
109 | + */ | |
110 | + public void setCateId(Integer cateId){ | |
111 | + this.cateId = cateId; | |
112 | + } | |
113 | + | |
114 | + public String getCateName() { | |
115 | + return cateName; | |
116 | + } | |
117 | + | |
118 | + public void setCateName(String cateName) { | |
119 | + this.cateName = cateName; | |
120 | + } | |
121 | + | |
122 | + public String getOfflineAttrValue() { | |
123 | + return offlineAttrValue; | |
124 | + } | |
125 | + | |
126 | + public void setOfflineAttrValue(String offlineAttrValue) { | |
127 | + this.offlineAttrValue = offlineAttrValue; | |
128 | + } | |
129 | + | |
130 | + /** | |
131 | + * 获取 sellerName | |
132 | + * @return | |
133 | + */ | |
134 | + public String getSellerName(){ | |
135 | + return sellerName; | |
136 | + } | |
137 | + | |
138 | + /** | |
139 | + * 设置 sellerName | |
140 | + * @param sellerName | |
141 | + */ | |
142 | + public void setSellerName(String sellerName){ | |
143 | + this.sellerName = sellerName; | |
144 | + } | |
145 | + | |
146 | + /** | |
147 | + * 获取 price | |
148 | + * @return | |
149 | + */ | |
150 | + public Long getPrice(){ | |
151 | + return price; | |
152 | + } | |
153 | + | |
154 | + /** | |
155 | + * 设置 price | |
156 | + * @param price | |
157 | + */ | |
158 | + public void setPrice(Long price){ | |
159 | + this.price = price; | |
160 | + } | |
161 | + | |
162 | + /** | |
163 | + * 获取 status | |
164 | + * @return | |
165 | + */ | |
166 | + public Integer getStatus(){ | |
167 | + return status; | |
168 | + } | |
169 | + | |
170 | + /** | |
171 | + * 设置 status | |
172 | + * @param status | |
173 | + */ | |
174 | + public void setStatus(Integer status){ | |
175 | + this.status = status; | |
176 | + } | |
177 | + | |
178 | + /** | |
179 | + * 获取 ctime | |
180 | + * @return | |
181 | + */ | |
182 | + public Date getCtime(){ | |
183 | + return ctime; | |
184 | + } | |
185 | + | |
186 | + /** | |
187 | + * 设置 ctime | |
188 | + * @param ctime | |
189 | + */ | |
190 | + public void setCtime(Date ctime){ | |
191 | + this.ctime = ctime; | |
192 | + } | |
193 | + | |
194 | + public Date getUtime() { | |
195 | + return utime; | |
196 | + } | |
197 | + | |
198 | + public void setUtime(Date utime) { | |
199 | + this.utime = utime; | |
200 | + } | |
201 | + | |
202 | + | |
203 | +} | |
0 | 204 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/ProductPop.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +import java.util.Date; | |
4 | +import java.util.List; | |
5 | + | |
6 | + | |
7 | +public class ProductPop extends BaseQuery implements java.io.Serializable { | |
8 | + private static final long serialVersionUID = 1L; | |
9 | + | |
10 | + /**报价类型:规格报价 */ | |
11 | + public static final int QUOTATION_TYPE_GG = 1; | |
12 | + /**报价类型:区间报价 */ | |
13 | + public static final int QUOTATION_TYPE_QJ = 2; | |
14 | + /** | |
15 | + * 商品 | |
16 | + */ | |
17 | + private Long pid; | |
18 | + /** | |
19 | + * 商品名称 | |
20 | + */ | |
21 | + private String name; | |
22 | + /** | |
23 | + * 分类 | |
24 | + */ | |
25 | + private Integer cateId; | |
26 | + | |
27 | + /** | |
28 | + * 自定义分类ID | |
29 | + */ | |
30 | + private Integer userDefined; | |
31 | + /** | |
32 | + * 分类名称 | |
33 | + */ | |
34 | + private String cate; | |
35 | + /** | |
36 | + * 产地id | |
37 | + */ | |
38 | + private Long producingArea; | |
39 | + /** | |
40 | + * 卖家ID | |
41 | + */ | |
42 | + private Long seller; | |
43 | + /** | |
44 | + * 卖家名称 | |
45 | + */ | |
46 | + private String sellerName; | |
47 | + /** | |
48 | + * 店铺ID | |
49 | + */ | |
50 | + private Long shop; | |
51 | + /** | |
52 | + * 店铺名称 | |
53 | + */ | |
54 | + private String shopName; | |
55 | + /** | |
56 | + * 商品有效期 | |
57 | + */ | |
58 | + private Integer indate; | |
59 | + /** | |
60 | + * 上架模式, 放入仓库1,审核后立即上架2,指定上架时间3 | |
61 | + */ | |
62 | + private Integer publishMode; | |
63 | + /** | |
64 | + * 设置上架时间 | |
65 | + */ | |
66 | + private Date publishSettime; | |
67 | + /** | |
68 | + * 上架时间 | |
69 | + */ | |
70 | + private Date publishTime; | |
71 | + /** | |
72 | + * 下架时间 | |
73 | + */ | |
74 | + private Date dropsTime; | |
75 | + /** | |
76 | + * 商品状态 预览-2,删除-1,新建1,审核未通过2,强制下架3,待上架4,在架5,已下架6 | |
77 | + */ | |
78 | + private Integer status; | |
79 | + | |
80 | + /** | |
81 | + * 创建时间 | |
82 | + */ | |
83 | + private Date ctime; | |
84 | + /** | |
85 | + * 更新时间 | |
86 | + */ | |
87 | + private Date utime; | |
88 | + /** | |
89 | + * 商品描述 | |
90 | + */ | |
91 | + private String desc; | |
92 | + | |
93 | + /** | |
94 | + * 商品备货时长在数据字典中的 | |
95 | + */ | |
96 | + private Long prepareTime; | |
97 | + | |
98 | + /** | |
99 | + * 商品最低价格 | |
100 | + */ | |
101 | + private Integer minPrice; | |
102 | + /** | |
103 | + * 商品最高价格 | |
104 | + */ | |
105 | + private Integer maxPrice; | |
106 | + ///** | |
107 | + // * 商品交割地 | |
108 | + // */ | |
109 | + //private List<Delivery> deliveryArea; | |
110 | + | |
111 | + /** | |
112 | + * 商品默认图片 | |
113 | + */ | |
114 | + private String defaultPic; | |
115 | + /** | |
116 | + * 图片列表 | |
117 | + */ | |
118 | + private List<String> pictures; | |
119 | + | |
120 | + /** | |
121 | + * SKU列表信息 | |
122 | + */ | |
123 | +// private List<Sku> skus; | |
124 | + /** | |
125 | + * 按时间查询,开始时间 | |
126 | + */ | |
127 | + private Date startTime; | |
128 | + | |
129 | + /** | |
130 | + * 商品库存单位ID | |
131 | + */ | |
132 | + private Integer storeUnit; | |
133 | + private String unitName; | |
134 | + /** | |
135 | + * 按时间查询,结束时间 | |
136 | + */ | |
137 | + private Date endTime; | |
138 | + | |
139 | + //子分类附带其父分类 | |
140 | + private List<Category> subCateList; | |
141 | + | |
142 | + /** | |
143 | + * 所在地ID | |
144 | + */ | |
145 | + private Long localityArea; | |
146 | + /** 所在国家地*/ | |
147 | + private Long countryAreaId; | |
148 | + /** 自定义国家所在城市名(国外)*/ | |
149 | + private String foreignCityName; | |
150 | + /** 商品发布地ID*/ | |
151 | + private Long publishedLocationID; | |
152 | + | |
153 | + /*1:规格报价 & 2:区间报价类型*/ | |
154 | + private Integer quotationType; | |
155 | + | |
156 | + public Long getPid() { | |
157 | + return pid; | |
158 | + } | |
159 | + | |
160 | + public void setPid(Long pid) { | |
161 | + this.pid = pid; | |
162 | + } | |
163 | + | |
164 | + public String getName() { | |
165 | + return name; | |
166 | + } | |
167 | + | |
168 | + public void setName(String name) { | |
169 | + this.name = name; | |
170 | + } | |
171 | + | |
172 | + public Integer getCateId() { | |
173 | + return cateId; | |
174 | + } | |
175 | + | |
176 | + public void setCateId(Integer cateId) { | |
177 | + this.cateId = cateId; | |
178 | + } | |
179 | + | |
180 | + public Integer getUserDefined() { | |
181 | + return userDefined; | |
182 | + } | |
183 | + | |
184 | + public void setUserDefined(Integer userDefined) { | |
185 | + this.userDefined = userDefined; | |
186 | + } | |
187 | + | |
188 | + public String getCate() { | |
189 | + return cate; | |
190 | + } | |
191 | + | |
192 | + public void setCate(String cate) { | |
193 | + this.cate = cate; | |
194 | + } | |
195 | + | |
196 | + public Long getProducingArea() { | |
197 | + return producingArea; | |
198 | + } | |
199 | + | |
200 | + public void setProducingArea(Long producingArea) { | |
201 | + this.producingArea = producingArea; | |
202 | + } | |
203 | + | |
204 | + public Long getSeller() { | |
205 | + return seller; | |
206 | + } | |
207 | + | |
208 | + public void setSeller(Long seller) { | |
209 | + this.seller = seller; | |
210 | + } | |
211 | + | |
212 | + public String getSellerName() { | |
213 | + return sellerName; | |
214 | + } | |
215 | + | |
216 | + public void setSellerName(String sellerName) { | |
217 | + this.sellerName = sellerName; | |
218 | + } | |
219 | + | |
220 | + public Long getShop() { | |
221 | + return shop; | |
222 | + } | |
223 | + | |
224 | + public void setShop(Long shop) { | |
225 | + this.shop = shop; | |
226 | + } | |
227 | + | |
228 | + public String getShopName() { | |
229 | + return shopName; | |
230 | + } | |
231 | + | |
232 | + public void setShopName(String shopName) { | |
233 | + this.shopName = shopName; | |
234 | + } | |
235 | + | |
236 | + public Integer getIndate() { | |
237 | + return indate; | |
238 | + } | |
239 | + | |
240 | + public void setIndate(Integer indate) { | |
241 | + this.indate = indate; | |
242 | + } | |
243 | + | |
244 | + public Integer getPublishMode() { | |
245 | + return publishMode; | |
246 | + } | |
247 | + | |
248 | + public void setPublishMode(Integer publishMode) { | |
249 | + this.publishMode = publishMode; | |
250 | + } | |
251 | + | |
252 | + public Date getPublishSettime() { | |
253 | + return publishSettime; | |
254 | + } | |
255 | + | |
256 | + public void setPublishSettime(Date publishSettime) { | |
257 | + this.publishSettime = publishSettime; | |
258 | + } | |
259 | + | |
260 | + public Date getPublishTime() { | |
261 | + return publishTime; | |
262 | + } | |
263 | + | |
264 | + public void setPublishTime(Date publishTime) { | |
265 | + this.publishTime = publishTime; | |
266 | + } | |
267 | + | |
268 | + public Date getDropsTime() { | |
269 | + return dropsTime; | |
270 | + } | |
271 | + | |
272 | + public void setDropsTime(Date dropsTime) { | |
273 | + this.dropsTime = dropsTime; | |
274 | + } | |
275 | + | |
276 | + public Integer getStatus() { | |
277 | + return status; | |
278 | + } | |
279 | + | |
280 | + public void setStatus(Integer status) { | |
281 | + this.status = status; | |
282 | + } | |
283 | + | |
284 | + public Date getCtime() { | |
285 | + return ctime; | |
286 | + } | |
287 | + | |
288 | + public void setCtime(Date ctime) { | |
289 | + this.ctime = ctime; | |
290 | + } | |
291 | + | |
292 | + public Date getUtime() { | |
293 | + return utime; | |
294 | + } | |
295 | + | |
296 | + public void setUtime(Date utime) { | |
297 | + this.utime = utime; | |
298 | + } | |
299 | + | |
300 | + public String getDesc() { | |
301 | + return desc; | |
302 | + } | |
303 | + | |
304 | + public void setDesc(String desc) { | |
305 | + this.desc = desc; | |
306 | + } | |
307 | + | |
308 | + public Long getPrepareTime() { | |
309 | + return prepareTime; | |
310 | + } | |
311 | + | |
312 | + public void setPrepareTime(Long prepareTime) { | |
313 | + this.prepareTime = prepareTime; | |
314 | + } | |
315 | + | |
316 | + public Integer getMinPrice() { | |
317 | + return minPrice; | |
318 | + } | |
319 | + | |
320 | + public void setMinPrice(Integer minPrice) { | |
321 | + this.minPrice = minPrice; | |
322 | + } | |
323 | + | |
324 | + public Integer getMaxPrice() { | |
325 | + return maxPrice; | |
326 | + } | |
327 | + | |
328 | + public void setMaxPrice(Integer maxPrice) { | |
329 | + this.maxPrice = maxPrice; | |
330 | + } | |
331 | + | |
332 | + public String getDefaultPic() { | |
333 | + return defaultPic; | |
334 | + } | |
335 | + | |
336 | + public void setDefaultPic(String defaultPic) { | |
337 | + this.defaultPic = defaultPic; | |
338 | + } | |
339 | + | |
340 | + public List<String> getPictures() { | |
341 | + return pictures; | |
342 | + } | |
343 | + | |
344 | + public void setPictures(List<String> pictures) { | |
345 | + this.pictures = pictures; | |
346 | + } | |
347 | + | |
348 | + public Date getStartTime() { | |
349 | + return startTime; | |
350 | + } | |
351 | + | |
352 | + public void setStartTime(Date startTime) { | |
353 | + this.startTime = startTime; | |
354 | + } | |
355 | + | |
356 | + public Integer getStoreUnit() { | |
357 | + return storeUnit; | |
358 | + } | |
359 | + | |
360 | + public void setStoreUnit(Integer storeUnit) { | |
361 | + this.storeUnit = storeUnit; | |
362 | + } | |
363 | + | |
364 | + public String getUnitName() { | |
365 | + return unitName; | |
366 | + } | |
367 | + | |
368 | + public void setUnitName(String unitName) { | |
369 | + this.unitName = unitName; | |
370 | + } | |
371 | + | |
372 | + public Date getEndTime() { | |
373 | + return endTime; | |
374 | + } | |
375 | + | |
376 | + public void setEndTime(Date endTime) { | |
377 | + this.endTime = endTime; | |
378 | + } | |
379 | + | |
380 | + public List<Category> getSubCateList() { | |
381 | + return subCateList; | |
382 | + } | |
383 | + | |
384 | + public void setSubCateList(List<Category> subCateList) { | |
385 | + this.subCateList = subCateList; | |
386 | + } | |
387 | + | |
388 | + public Long getLocalityArea() { | |
389 | + return localityArea; | |
390 | + } | |
391 | + | |
392 | + public void setLocalityArea(Long localityArea) { | |
393 | + this.localityArea = localityArea; | |
394 | + } | |
395 | + | |
396 | + public Long getCountryAreaId() { | |
397 | + return countryAreaId; | |
398 | + } | |
399 | + | |
400 | + public void setCountryAreaId(Long countryAreaId) { | |
401 | + this.countryAreaId = countryAreaId; | |
402 | + } | |
403 | + | |
404 | + public String getForeignCityName() { | |
405 | + return foreignCityName; | |
406 | + } | |
407 | + | |
408 | + public void setForeignCityName(String foreignCityName) { | |
409 | + this.foreignCityName = foreignCityName; | |
410 | + } | |
411 | + | |
412 | + public Long getPublishedLocationID() { | |
413 | + return publishedLocationID; | |
414 | + } | |
415 | + | |
416 | + public void setPublishedLocationID(Long publishedLocationID) { | |
417 | + this.publishedLocationID = publishedLocationID; | |
418 | + } | |
419 | + | |
420 | + public Integer getQuotationType() { | |
421 | + return quotationType; | |
422 | + } | |
423 | + | |
424 | + public void setQuotationType(Integer quotationType) { | |
425 | + this.quotationType = quotationType; | |
426 | + } | |
427 | + | |
428 | + //private List<Delivery> deliveryList; | |
429 | +// private List<ProductSkuPop> skuList; | |
430 | +// private List<ProductPopAttr> attrList; | |
431 | +// private List<ProductImg> imgList; | |
432 | +// private List<ProductPopAttr> saleAttrList; | |
433 | +// private List<ProductPopAttr> descAttrList; | |
434 | +// private List<ProductPopPriceRange> productPopPriceRanges; | |
435 | +// private List<ProductAuth> productAuthList; | |
436 | +// private ProductVideo productVideo; | |
437 | + | |
438 | + | |
439 | + | |
440 | +} | |
0 | 441 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/RedisKeyConstant.java
0 → 100644
1 | +package com.dili.titan.domain; | |
2 | + | |
3 | +/** | |
4 | + * Created by gsz on 2015/6/4. | |
5 | + */ | |
6 | +public class RedisKeyConstant { | |
7 | + public static final String ATTRIBUTE = "Attribute";//属性 | |
8 | + public static final String ATTR_VALUE = "Attr_value";//属性值 | |
9 | + public static final String CATEGORY = "Category";//分类 | |
10 | + public static final String CATE_ATTR = "Cate_Attr";//分类属性 | |
11 | + public static final String CATE_SEARCH_ATTRA ="Cate_Search_Attr";//可搜索属性 | |
12 | + public static final String CATE_ALLPARENT = "Cate_AllParent_";//分类所有父分类 | |
13 | + public static final String CATE_CHILD = "Cate_Child_";//分类子节点 | |
14 | + public static final String PURCHASE = "Purchase";//求购信息 | |
15 | + public static final String NEW_SUPPLY_KEY = "New_Supply";//最新供应信息 | |
16 | + public static final String SUPPLY = "Supply";//供应信息 | |
17 | + public static final String PRESALE = "Presale";//预售信息 | |
18 | + public static final String PRODUCT_POP = "product_Pop";//第三方商品 | |
19 | + public static final String PICKUPINFO = "pickupinfo";//提货点 | |
20 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/gq/Presale.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2015 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain.gq; | |
6 | + | |
7 | + | |
8 | +import java.util.Date; | |
9 | + | |
10 | +/** | |
11 | + * presale | |
12 | + * @author dev-center | |
13 | + * @since 2015-07-24 | |
14 | + */ | |
15 | +public class Presale { | |
16 | + private Long id; | |
17 | + private String title; | |
18 | + private String userName; | |
19 | + private Long categoryId; | |
20 | + private Long localityAreaId; | |
21 | + private Integer count; | |
22 | + private Integer unitId; | |
23 | + private String phone; | |
24 | + private Integer status; | |
25 | + private Long userId; | |
26 | + private Integer source; | |
27 | + private String reason; | |
28 | + private Date startTime; | |
29 | + private Date endTime; | |
30 | + private Date ctime; | |
31 | + private String utime; | |
32 | + | |
33 | + public Presale(){ | |
34 | + //默认无参构造方法 | |
35 | + } | |
36 | + | |
37 | + public Long getId() { | |
38 | + return id; | |
39 | + } | |
40 | + | |
41 | + public void setId(Long id) { | |
42 | + this.id = id; | |
43 | + } | |
44 | + | |
45 | + public String getTitle() { | |
46 | + return title; | |
47 | + } | |
48 | + | |
49 | + public void setTitle(String title) { | |
50 | + this.title = title; | |
51 | + } | |
52 | + | |
53 | + public String getUserName() { | |
54 | + return userName; | |
55 | + } | |
56 | + | |
57 | + public void setUserName(String userName) { | |
58 | + this.userName = userName; | |
59 | + } | |
60 | + | |
61 | + public Long getCategoryId() { | |
62 | + return categoryId; | |
63 | + } | |
64 | + | |
65 | + public void setCategoryId(Long categoryId) { | |
66 | + this.categoryId = categoryId; | |
67 | + } | |
68 | + | |
69 | + public Long getLocalityAreaId() { | |
70 | + return localityAreaId; | |
71 | + } | |
72 | + | |
73 | + public void setLocalityAreaId(Long localityAreaId) { | |
74 | + this.localityAreaId = localityAreaId; | |
75 | + } | |
76 | + | |
77 | + public Integer getCount() { | |
78 | + return count; | |
79 | + } | |
80 | + | |
81 | + public void setCount(Integer count) { | |
82 | + this.count = count; | |
83 | + } | |
84 | + | |
85 | + public Integer getUnitId() { | |
86 | + return unitId; | |
87 | + } | |
88 | + | |
89 | + public void setUnitId(Integer unitId) { | |
90 | + this.unitId = unitId; | |
91 | + } | |
92 | + | |
93 | + public String getPhone() { | |
94 | + return phone; | |
95 | + } | |
96 | + | |
97 | + public void setPhone(String phone) { | |
98 | + this.phone = phone; | |
99 | + } | |
100 | + | |
101 | + public Integer getStatus() { | |
102 | + return status; | |
103 | + } | |
104 | + | |
105 | + public void setStatus(Integer status) { | |
106 | + this.status = status; | |
107 | + } | |
108 | + | |
109 | + public Long getUserId() { | |
110 | + return userId; | |
111 | + } | |
112 | + | |
113 | + public void setUserId(Long userId) { | |
114 | + this.userId = userId; | |
115 | + } | |
116 | + | |
117 | + public Integer getSource() { | |
118 | + return source; | |
119 | + } | |
120 | + | |
121 | + public void setSource(Integer source) { | |
122 | + this.source = source; | |
123 | + } | |
124 | + | |
125 | + public String getReason() { | |
126 | + return reason; | |
127 | + } | |
128 | + | |
129 | + public void setReason(String reason) { | |
130 | + this.reason = reason; | |
131 | + } | |
132 | + | |
133 | + public Date getStartTime() { | |
134 | + return startTime; | |
135 | + } | |
136 | + | |
137 | + public void setStartTime(Date startTime) { | |
138 | + this.startTime = startTime; | |
139 | + } | |
140 | + | |
141 | + public Date getEndTime() { | |
142 | + return endTime; | |
143 | + } | |
144 | + | |
145 | + public void setEndTime(Date endTime) { | |
146 | + this.endTime = endTime; | |
147 | + } | |
148 | + | |
149 | + public Date getCtime() { | |
150 | + return ctime; | |
151 | + } | |
152 | + | |
153 | + public void setCtime(Date ctime) { | |
154 | + this.ctime = ctime; | |
155 | + } | |
156 | + | |
157 | + public String getUtime() { | |
158 | + return utime; | |
159 | + } | |
160 | + | |
161 | + public void setUtime(String utime) { | |
162 | + this.utime = utime; | |
163 | + } | |
164 | +} | |
0 | 165 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/gq/Purchase.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2015 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain.gq; | |
6 | + | |
7 | +import java.util.Date; | |
8 | + | |
9 | +/** | |
10 | + * purchase | |
11 | + * @author dev-center | |
12 | + * @since 2015-07-24 | |
13 | + */ | |
14 | +public class Purchase { | |
15 | + private Long id; | |
16 | + private String title; | |
17 | + private String userName; | |
18 | + private Long categoryId; | |
19 | + private Long producingAreaId; | |
20 | + private Long localityAreaId; | |
21 | + private Integer count; | |
22 | + private Integer unitId; | |
23 | + private String phone; | |
24 | + private Date expireTime; | |
25 | + private Integer status; | |
26 | + private Long userId; | |
27 | + private Integer source; | |
28 | + private String reason; | |
29 | + private Date ctime; | |
30 | + private String utime; | |
31 | + | |
32 | + public Purchase(){ | |
33 | + //默认无参构造方法 | |
34 | + } | |
35 | + | |
36 | + public Long getId() { | |
37 | + return id; | |
38 | + } | |
39 | + | |
40 | + public void setId(Long id) { | |
41 | + this.id = id; | |
42 | + } | |
43 | + | |
44 | + public String getTitle() { | |
45 | + return title; | |
46 | + } | |
47 | + | |
48 | + public void setTitle(String title) { | |
49 | + this.title = title; | |
50 | + } | |
51 | + | |
52 | + public String getUserName() { | |
53 | + return userName; | |
54 | + } | |
55 | + | |
56 | + public void setUserName(String userName) { | |
57 | + this.userName = userName; | |
58 | + } | |
59 | + | |
60 | + public Long getCategoryId() { | |
61 | + return categoryId; | |
62 | + } | |
63 | + | |
64 | + public void setCategoryId(Long categoryId) { | |
65 | + this.categoryId = categoryId; | |
66 | + } | |
67 | + | |
68 | + public Long getLocalityAreaId() { | |
69 | + return localityAreaId; | |
70 | + } | |
71 | + | |
72 | + public void setLocalityAreaId(Long localityAreaId) { | |
73 | + this.localityAreaId = localityAreaId; | |
74 | + } | |
75 | + | |
76 | + public Integer getCount() { | |
77 | + return count; | |
78 | + } | |
79 | + | |
80 | + public void setCount(Integer count) { | |
81 | + this.count = count; | |
82 | + } | |
83 | + | |
84 | + public Integer getUnitId() { | |
85 | + return unitId; | |
86 | + } | |
87 | + | |
88 | + public void setUnitId(Integer unitId) { | |
89 | + this.unitId = unitId; | |
90 | + } | |
91 | + | |
92 | + public String getPhone() { | |
93 | + return phone; | |
94 | + } | |
95 | + | |
96 | + public void setPhone(String phone) { | |
97 | + this.phone = phone; | |
98 | + } | |
99 | + | |
100 | + public Date getExpireTime() { | |
101 | + return expireTime; | |
102 | + } | |
103 | + | |
104 | + public void setExpireTime(Date expireTime) { | |
105 | + this.expireTime = expireTime; | |
106 | + } | |
107 | + | |
108 | + public Integer getStatus() { | |
109 | + return status; | |
110 | + } | |
111 | + | |
112 | + public void setStatus(Integer status) { | |
113 | + this.status = status; | |
114 | + } | |
115 | + | |
116 | + public Long getUserId() { | |
117 | + return userId; | |
118 | + } | |
119 | + | |
120 | + public void setUserId(Long userId) { | |
121 | + this.userId = userId; | |
122 | + } | |
123 | + | |
124 | + public Integer getSource() { | |
125 | + return source; | |
126 | + } | |
127 | + | |
128 | + public void setSource(Integer source) { | |
129 | + this.source = source; | |
130 | + } | |
131 | + | |
132 | + public String getReason() { | |
133 | + return reason; | |
134 | + } | |
135 | + | |
136 | + public void setReason(String reason) { | |
137 | + this.reason = reason; | |
138 | + } | |
139 | + | |
140 | + public Date getCtime() { | |
141 | + return ctime; | |
142 | + } | |
143 | + | |
144 | + public void setCtime(Date ctime) { | |
145 | + this.ctime = ctime; | |
146 | + } | |
147 | + | |
148 | + public String getUtime() { | |
149 | + return utime; | |
150 | + } | |
151 | + | |
152 | + public void setUtime(String utime) { | |
153 | + this.utime = utime; | |
154 | + } | |
155 | + | |
156 | + public Long getProducingAreaId() { | |
157 | + return producingAreaId; | |
158 | + } | |
159 | + | |
160 | + public void setProducingAreaId(Long producingAreaId) { | |
161 | + this.producingAreaId = producingAreaId; | |
162 | + } | |
163 | +} | |
0 | 164 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/gq/Supply.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2015 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.domain.gq; | |
6 | + | |
7 | + | |
8 | +import java.util.Date; | |
9 | + | |
10 | +/** | |
11 | + * supply | |
12 | + * @author dev-center | |
13 | + * @since 2015-07-24 | |
14 | + */ | |
15 | +public class Supply { | |
16 | + private Long id; | |
17 | + private String title; | |
18 | + private String userName; | |
19 | + private Long categoryId; | |
20 | + private Long localityAreaId; | |
21 | + private Long producingAreaId; | |
22 | + private Long price; | |
23 | + private Integer count; | |
24 | + private Integer unitId; | |
25 | + private Long userId; | |
26 | + private String phone; | |
27 | + private Date expireTime; | |
28 | + private Integer status; | |
29 | + private Integer source; | |
30 | + private String reason; | |
31 | + private Date ctime; | |
32 | + private String utime; | |
33 | + | |
34 | + public Supply(){ | |
35 | + //默认无参构造方法 | |
36 | + } | |
37 | + | |
38 | + public Long getId() { | |
39 | + return id; | |
40 | + } | |
41 | + | |
42 | + public void setId(Long id) { | |
43 | + this.id = id; | |
44 | + } | |
45 | + | |
46 | + public String getTitle() { | |
47 | + return title; | |
48 | + } | |
49 | + | |
50 | + public void setTitle(String title) { | |
51 | + this.title = title; | |
52 | + } | |
53 | + | |
54 | + public String getUserName() { | |
55 | + return userName; | |
56 | + } | |
57 | + | |
58 | + public void setUserName(String userName) { | |
59 | + this.userName = userName; | |
60 | + } | |
61 | + | |
62 | + public Long getCategoryId() { | |
63 | + return categoryId; | |
64 | + } | |
65 | + | |
66 | + public void setCategoryId(Long categoryId) { | |
67 | + this.categoryId = categoryId; | |
68 | + } | |
69 | + | |
70 | + public Long getProducingAreaId() { | |
71 | + return producingAreaId; | |
72 | + } | |
73 | + | |
74 | + public void setProducingAreaId(Long producingAreaId) { | |
75 | + this.producingAreaId = producingAreaId; | |
76 | + } | |
77 | + | |
78 | + public Long getPrice() { | |
79 | + return price; | |
80 | + } | |
81 | + | |
82 | + public void setPrice(Long price) { | |
83 | + this.price = price; | |
84 | + } | |
85 | + | |
86 | + public Integer getCount() { | |
87 | + return count; | |
88 | + } | |
89 | + | |
90 | + public void setCount(Integer count) { | |
91 | + this.count = count; | |
92 | + } | |
93 | + | |
94 | + public Integer getUnitId() { | |
95 | + return unitId; | |
96 | + } | |
97 | + | |
98 | + public void setUnitId(Integer unitId) { | |
99 | + this.unitId = unitId; | |
100 | + } | |
101 | + | |
102 | + public Long getUserId() { | |
103 | + return userId; | |
104 | + } | |
105 | + | |
106 | + public void setUserId(Long userId) { | |
107 | + this.userId = userId; | |
108 | + } | |
109 | + | |
110 | + public String getPhone() { | |
111 | + return phone; | |
112 | + } | |
113 | + | |
114 | + public void setPhone(String phone) { | |
115 | + this.phone = phone; | |
116 | + } | |
117 | + | |
118 | + public Date getExpireTime() { | |
119 | + return expireTime; | |
120 | + } | |
121 | + | |
122 | + public void setExpireTime(Date expireTime) { | |
123 | + this.expireTime = expireTime; | |
124 | + } | |
125 | + | |
126 | + public Integer getStatus() { | |
127 | + return status; | |
128 | + } | |
129 | + | |
130 | + public void setStatus(Integer status) { | |
131 | + this.status = status; | |
132 | + } | |
133 | + | |
134 | + public Integer getSource() { | |
135 | + return source; | |
136 | + } | |
137 | + | |
138 | + public void setSource(Integer source) { | |
139 | + this.source = source; | |
140 | + } | |
141 | + | |
142 | + public String getReason() { | |
143 | + return reason; | |
144 | + } | |
145 | + | |
146 | + public void setReason(String reason) { | |
147 | + this.reason = reason; | |
148 | + } | |
149 | + | |
150 | + public Date getCtime() { | |
151 | + return ctime; | |
152 | + } | |
153 | + | |
154 | + public void setCtime(Date ctime) { | |
155 | + this.ctime = ctime; | |
156 | + } | |
157 | + | |
158 | + public String getUtime() { | |
159 | + return utime; | |
160 | + } | |
161 | + | |
162 | + public void setUtime(String utime) { | |
163 | + this.utime = utime; | |
164 | + } | |
165 | + | |
166 | + public Long getLocalityAreaId() { | |
167 | + return localityAreaId; | |
168 | + } | |
169 | + | |
170 | + public void setLocalityAreaId(Long localityAreaId) { | |
171 | + this.localityAreaId = localityAreaId; | |
172 | + } | |
173 | +} | |
0 | 174 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/log/LogBusinessIdUtils.java
0 → 100644
1 | +package com.dili.titan.domain.log; | |
2 | + | |
3 | +import org.apache.commons.lang.StringUtils; | |
4 | + | |
5 | +import java.util.UUID; | |
6 | + | |
7 | +/** | |
8 | + * 用于设置线程的UUID,用于打印日志 | |
9 | + * @author cdwangyong3 | |
10 | + * | |
11 | + */ | |
12 | +public class LogBusinessIdUtils { | |
13 | + private static final ThreadLocal<String> businessLocal = new ThreadLocal<String>(); | |
14 | + /** | |
15 | + * 返回当前线程对应的uuid | |
16 | + * @return | |
17 | + */ | |
18 | + public static String getCurBusinessId(){ | |
19 | + String uuid = businessLocal.get(); | |
20 | + if(StringUtils.isEmpty(uuid)){ | |
21 | + uuid = UUID.randomUUID().toString().replace("-", ""); | |
22 | + businessLocal.set(uuid); | |
23 | + } | |
24 | + return uuid; | |
25 | + } | |
26 | + | |
27 | + | |
28 | + /** | |
29 | + * 给当前线程重新设置 | |
30 | + */ | |
31 | + public static void clear(){ | |
32 | + businessLocal.set(null); | |
33 | + } | |
34 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/log/LogHelper.java
0 → 100644
1 | +package com.dili.titan.domain.log; | |
2 | + | |
3 | +import org.apache.commons.lang.StringUtils; | |
4 | +import org.apache.commons.logging.Log; | |
5 | +import org.apache.commons.logging.LogFactory; | |
6 | + | |
7 | +import java.io.PrintWriter; | |
8 | +import java.io.StringWriter; | |
9 | +import java.util.HashMap; | |
10 | +import java.util.Map; | |
11 | + | |
12 | +/** | |
13 | + * Describe: User: BjYangKai Date: 2011-4-21 Time: 12:00:33 | |
14 | + */ | |
15 | +public class LogHelper { | |
16 | + | |
17 | + /** | |
18 | + * stock相关重要日志 | |
19 | + */ | |
20 | + private static Map<LogTypeEnum, Log> logMap = new HashMap<LogTypeEnum, Log>(); | |
21 | + | |
22 | + static { | |
23 | + for (LogTypeEnum ft : LogTypeEnum.values()) { | |
24 | + logMap.put(ft, LogFactory.getLog(ft.getKey())); | |
25 | + } | |
26 | + } | |
27 | + | |
28 | + /** | |
29 | + * | |
30 | + * @param str | |
31 | + * @return | |
32 | + */ | |
33 | + public static String addLogbusinessId(String str) { | |
34 | + if (StringUtils.isEmpty(str)) { | |
35 | + return str; | |
36 | + } else { | |
37 | + return "业务标示ID[" + LogBusinessIdUtils.getCurBusinessId() + "]," | |
38 | + + str; | |
39 | + } | |
40 | + } | |
41 | + | |
42 | + /** | |
43 | + * 使用默认的文件记录debug信息 | |
44 | + * | |
45 | + * @param str 日志信息 | |
46 | + */ | |
47 | + public static void debug(String str, Object... args) { | |
48 | + debug(LogTypeEnum.DEFAULT, str, args); | |
49 | + } | |
50 | + | |
51 | + /** | |
52 | + * 使用默认的文件记录info信息 | |
53 | + * | |
54 | + * @param str 日志信息 | |
55 | + */ | |
56 | + public static void info(String str, Object... args) { | |
57 | + info(LogTypeEnum.DEFAULT, str, args); | |
58 | + } | |
59 | + | |
60 | + /** | |
61 | + * 使用默认的文件记录warn信息 | |
62 | + * | |
63 | + * @param str 日志信息 | |
64 | + */ | |
65 | + public static void warn(String str, Object... args) { | |
66 | + warn(LogTypeEnum.DEFAULT, str, args); | |
67 | + } | |
68 | + | |
69 | + /** | |
70 | + * 使用默认的文件记录error信息 | |
71 | + * | |
72 | + * @param str 日志信息 | |
73 | + */ | |
74 | + public static void error(Throwable e, String str, Object... args) { | |
75 | + error(LogTypeEnum.DEFAULT, e, str, args); | |
76 | + } | |
77 | + | |
78 | + /** | |
79 | + * 使用默认的文件记录fatal信息 | |
80 | + * | |
81 | + * @param str 日志信息 | |
82 | + */ | |
83 | + public static void fatal(Throwable e, String str, Object... args) { | |
84 | + fatal(LogTypeEnum.DEFAULT, e, str, args); | |
85 | + } | |
86 | + | |
87 | + /** | |
88 | + * 记录运行期错误信息 | |
89 | + * | |
90 | + * @param e | |
91 | + */ | |
92 | + public static void execption(Throwable e) { | |
93 | + error(LogTypeEnum.EXCEPTION, getExceptionTrace(e)); | |
94 | + } | |
95 | + | |
96 | + /** | |
97 | + * 打印错误信息 | |
98 | + * | |
99 | + * @param e | |
100 | + * @return | |
101 | + */ | |
102 | + public static String getExceptionTrace(Throwable e) { | |
103 | + if (e != null) { | |
104 | + StringWriter sw = new StringWriter(); | |
105 | + PrintWriter pw = new PrintWriter(sw); | |
106 | + e.printStackTrace(pw); | |
107 | + return sw.toString(); | |
108 | + } else | |
109 | + return null; | |
110 | + } | |
111 | + | |
112 | + public static Log getLog(LogTypeEnum type) { | |
113 | + if (logMap.get(type) == null) { | |
114 | + return LogFactory.getLog(LogHelper.class); | |
115 | + } else { | |
116 | + return logMap.get(type); | |
117 | + } | |
118 | + } | |
119 | + | |
120 | + /** | |
121 | + * 日志消息占位符形式的替换,按照传入参数依次替换"{}" | |
122 | + * | |
123 | + * @param str 带占位符的日志消息 | |
124 | + * @param args 需要被替换的参数,除了字符串和基本类型的对象形式外,其他类型需要自己实现toString方法 | |
125 | + * @return | |
126 | + */ | |
127 | + public static <T extends Object> String replace(String str, T... args) { | |
128 | + if (str == null) { | |
129 | + return str; | |
130 | + } | |
131 | + if (args == null || args.length < 1) { | |
132 | + return addLogbusinessId(str.replaceAll("\\{\\}", " null")); | |
133 | + } | |
134 | + StringBuilder builder = new StringBuilder(str); | |
135 | + int start = builder.indexOf("{"); | |
136 | + int end = builder.indexOf("}", start); | |
137 | + for (Object arg : args) { | |
138 | + if (start == -1) { | |
139 | + break; | |
140 | + } | |
141 | + if (arg == null) { | |
142 | + arg = "null"; | |
143 | + } | |
144 | + builder.replace(start, end + 1, arg.toString()); | |
145 | + start = start + arg.toString().length(); | |
146 | + start = builder.indexOf("{", start); | |
147 | + end = builder.indexOf("}", start); | |
148 | + } | |
149 | + return addLogbusinessId(builder.toString()); | |
150 | + } | |
151 | + | |
152 | + /** | |
153 | + * 记录DEBUG信息 | |
154 | + * | |
155 | + * @param type 日志业务类型 | |
156 | + * @param str | |
157 | + */ | |
158 | + public static void debug(LogTypeEnum type, String str, Object... args) { | |
159 | + Log log = getLog(type); | |
160 | + if (log.isDebugEnabled()) { | |
161 | + String msg = replace(str, args); | |
162 | + log.debug(msg); | |
163 | + } | |
164 | + } | |
165 | + | |
166 | + /** | |
167 | + * 记录INFO信息 | |
168 | + * | |
169 | + * @param type 日志业务类型 | |
170 | + * @param str | |
171 | + */ | |
172 | + public static void info(LogTypeEnum type, String str, Object... args) { | |
173 | + Log log = getLog(type); | |
174 | + if (log.isInfoEnabled()) { | |
175 | + String msg = replace(str, args); | |
176 | + log.info(msg); | |
177 | + } | |
178 | + } | |
179 | + | |
180 | + /** | |
181 | + * 记录warn信息 | |
182 | + * | |
183 | + * @param type 日志业务类型 | |
184 | + * @param str | |
185 | + */ | |
186 | + public static void warn(LogTypeEnum type, String str, Object... args) { | |
187 | + Log log = getLog(type); | |
188 | + if (log.isWarnEnabled()) { | |
189 | + String msg = replace(str, args); | |
190 | + log.warn(msg); | |
191 | + } | |
192 | + } | |
193 | + | |
194 | + /** | |
195 | + * 记录error信息 | |
196 | + * | |
197 | + * @param type 日志业务类型 | |
198 | + * @param str | |
199 | + */ | |
200 | + public static void error(LogTypeEnum type, String str, Object... args) { | |
201 | + Log log = getLog(type); | |
202 | + if (log.isErrorEnabled()) { | |
203 | + String msg = replace(str, args); | |
204 | + log.error(msg); | |
205 | + } | |
206 | + } | |
207 | + | |
208 | + /** | |
209 | + * 记录fatal信息 | |
210 | + * | |
211 | + * @param type 日志业务类型 | |
212 | + * @param str 日志信息 | |
213 | + */ | |
214 | + public static void fatal(LogTypeEnum type, String str, Object... args) { | |
215 | + Log log = getLog(type); | |
216 | + if (log.isFatalEnabled()) { | |
217 | + String msg = replace(str, args); | |
218 | + log.fatal(msg); | |
219 | + } | |
220 | + } | |
221 | + | |
222 | + /** | |
223 | + * 记录error信息 | |
224 | + * | |
225 | + * @param type 日志业务类型 | |
226 | + * @param str | |
227 | + */ | |
228 | + public static void error(LogTypeEnum type, Throwable e, String str, | |
229 | + Object... args) { | |
230 | + Log log = getLog(type); | |
231 | + if (log.isErrorEnabled()) { | |
232 | + String msg = replace(str, args); | |
233 | + log.error(msg, e); | |
234 | + } | |
235 | + } | |
236 | + | |
237 | + /** | |
238 | + * 记录fatal信息 | |
239 | + * | |
240 | + * @param type 日志业务类型 | |
241 | + * @param str 日志信息 | |
242 | + */ | |
243 | + public static void fatal(LogTypeEnum type, Throwable e, String str, | |
244 | + Object... args) { | |
245 | + Log log = getLog(type); | |
246 | + if (log.isFatalEnabled()) { | |
247 | + String msg = replace(str, args); | |
248 | + log.fatal(msg, e); | |
249 | + } | |
250 | + } | |
251 | + | |
252 | + public static void main(String[] args) { | |
253 | + LogHelper.debug(LogTypeEnum.DEFAULT, "aaaa"); | |
254 | + System.out.println(); | |
255 | + } | |
256 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/log/LogTypeEnum.java
0 → 100644
1 | +package com.dili.titan.domain.log; | |
2 | + | |
3 | +import org.apache.commons.lang.StringUtils; | |
4 | +import org.apache.commons.logging.Log; | |
5 | + | |
6 | +/** | |
7 | + * 日志的业务类型,对重要的业务日志需要在这里定义类型 | |
8 | + * | |
9 | + * @author dingjun | |
10 | + */ | |
11 | +public enum LogTypeEnum { | |
12 | + DEFAULT("DEFAULT", "默认"), | |
13 | + SUPPLY("TITAN_SUPPLY", "供应单"), | |
14 | + PRESALE("TITAN_PRESALE", "供应单"), | |
15 | + PURCHASE("TITAN_PURCHASE", "求购信息"), | |
16 | + CATEGORY("TITAN_CATEGORY", "类目"), | |
17 | + ATTRIBUTE("TITAN_ATTRIBUTE", "属性"), | |
18 | + PRODUCT("TITAN_PRODUCT", "线上商品"), | |
19 | + PRODUCT_OFFLINE("TITAN_PRODUCT_OFFLINE", "线下商品"), | |
20 | + PRODUCT_MQ("PRODUCT_MQ", "MQ消息"), | |
21 | + //AUTH("TITAN_AUTH", "商品认证"), | |
22 | + //STOCK("TITAN_STOCK", "库存"), | |
23 | + //PRODUCT_TP("TITAN_SUPPLIER", "供应商商品"), | |
24 | + EXCEPTION("EXCEPTION", "运行错误"); | |
25 | + | |
26 | + private String key; | |
27 | + private String value; | |
28 | + | |
29 | + LogTypeEnum() { | |
30 | + } | |
31 | + | |
32 | + LogTypeEnum(String key, String value) { | |
33 | + this.key = key; | |
34 | + this.value = value; | |
35 | + } | |
36 | + | |
37 | + public static String getValue(String key) { | |
38 | + for (LogTypeEnum ft : LogTypeEnum.values()) { | |
39 | + if (ft.getKey().equals(key)) { | |
40 | + return ft.getValue(); | |
41 | + } | |
42 | + } | |
43 | + return null; | |
44 | + } | |
45 | + | |
46 | + public String getKey() { | |
47 | + return key; | |
48 | + } | |
49 | + | |
50 | + public String getValue() { | |
51 | + return value; | |
52 | + } | |
53 | + | |
54 | + public Log getLog() { | |
55 | + return LogHelper.getLog(this); | |
56 | + } | |
57 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/domain/log/MarkConstant.java
0 → 100644
1 | +package com.dili.titan.domain.log; | |
2 | + | |
3 | +/** | |
4 | + * <p>Title: 〈标题〉</p> | |
5 | + * <p>Description: 〈描述〉</p> | |
6 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
7 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
8 | + * <B>Company</B> 地利集团 | |
9 | + * <p>CreateTime:2014/10/13</p> | |
10 | + * | |
11 | + * @author gongsz | |
12 | + */ | |
13 | +public class MarkConstant { | |
14 | + /** | |
15 | + * 分隔符 - | |
16 | + */ | |
17 | + public static final String SPLIT_CODE = "-"; | |
18 | + /** | |
19 | + * 冒号 | |
20 | + */ | |
21 | + public static final String COLON = ":"; | |
22 | + /** | |
23 | + * 逗号 | |
24 | + */ | |
25 | + public static final String COMMA = ","; | |
26 | + | |
27 | + /** | |
28 | + * 左方括号 | |
29 | + */ | |
30 | + public static final String LEFT_BRACKETS="["; | |
31 | + /** | |
32 | + * 右方括号 | |
33 | + */ | |
34 | + public static final String RIGHT_BRACKETS="]"; | |
35 | + /** | |
36 | + * 换行 | |
37 | + */ | |
38 | + public static final String NEW_LINE = "\n";; | |
39 | + | |
40 | + /** | |
41 | + * 符号:点 | |
42 | + */ | |
43 | + public static final String SYMBOL_POINT = "."; | |
44 | + | |
45 | + /** | |
46 | + * 符号:/ | |
47 | + */ | |
48 | + public static final String SPRIT = "/"; | |
49 | + /** | |
50 | + * 符号:下划线 | |
51 | + */ | |
52 | + public static final String UNDERLINE = "_"; | |
53 | + /** | |
54 | + * 符号:& | |
55 | + */ | |
56 | + public static final String AND = "&"; | |
57 | + /** | |
58 | + * 空格 | |
59 | + */ | |
60 | + public static final String BLANK= " "; | |
61 | + | |
62 | + /** | |
63 | + * 左括号 | |
64 | + */ | |
65 | + public static final String LEFT_BRACKET= "("; | |
66 | + | |
67 | + /** | |
68 | + * 右括号 | |
69 | + */ | |
70 | + public static final String RIGHT_BRACKET= ")"; | |
71 | + | |
72 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/exception/TitanException.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.exception; | |
6 | + | |
7 | +/** | |
8 | + * AppException | |
9 | + * @author dev-center | |
10 | + * @since 2014-05-10 | |
11 | + */ | |
12 | +public class TitanException extends RuntimeException{ | |
13 | + private static final long serialVersionUID = 1L; | |
14 | + public TitanException() { | |
15 | + super(); | |
16 | + } | |
17 | + | |
18 | + public TitanException(String message) { | |
19 | + super(message); | |
20 | + } | |
21 | + | |
22 | + public TitanException(String message, Throwable cause) { | |
23 | + super(message, cause); | |
24 | + } | |
25 | + | |
26 | + public TitanException(Throwable cause) { | |
27 | + super(cause); | |
28 | + } | |
29 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/AttributeHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.Attribute; | |
4 | +import com.dili.titan.domain.AttributeValue; | |
5 | +import com.dili.titan.domain.RedisKeyConstant; | |
6 | +import com.dili.titan.domain.log.LogHelper; | |
7 | +import com.dili.titan.domain.log.LogTypeEnum; | |
8 | +import com.dili.titan.mq.sender.TopicProducer; | |
9 | +import com.dili.titan.redis.JedisClient; | |
10 | +import com.dili.titan.service.impl.AttributeService; | |
11 | +import org.codehaus.jackson.JsonNode; | |
12 | +import org.codehaus.jackson.map.ObjectMapper; | |
13 | +import org.springframework.stereotype.Component; | |
14 | + | |
15 | +import javax.annotation.PostConstruct; | |
16 | +import javax.annotation.Resource; | |
17 | +import java.util.List; | |
18 | + | |
19 | +/** | |
20 | + * <B>Description</B> TODO 属性监控<br /> | |
21 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
22 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
23 | + * <B>Company</B> 地利集团 | |
24 | + * @createTime 2014年9月22日 下午2:49:22 | |
25 | + * @author yangjianjun | |
26 | + */ | |
27 | +@Component | |
28 | +public class AttributeHandler implements BaseHandler { | |
29 | + | |
30 | + private ObjectMapper mapper = new ObjectMapper(); | |
31 | + | |
32 | + @Resource(name = "attributeService") | |
33 | + private AttributeService attributeService; | |
34 | + | |
35 | + @Resource(name = "jedisClient") | |
36 | + private JedisClient jedisClient; | |
37 | + | |
38 | + @Resource(name = "topicProducer") | |
39 | + private TopicProducer topicProducer; | |
40 | + | |
41 | + @Override | |
42 | + public void handle(String message) throws Exception { | |
43 | + try { | |
44 | + JsonNode node = mapper.readTree(message); | |
45 | + long attrId = node.get("attrId").asLong(); | |
46 | + int operType = node.get("oper").asInt(); | |
47 | + | |
48 | + switch (operType) { | |
49 | + case 1: | |
50 | + add(attrId); | |
51 | + topicProducer.sendMQAttribute(attrId, operType); | |
52 | + break; | |
53 | + case 2: | |
54 | + update(attrId); | |
55 | + topicProducer.sendMQAttribute(attrId, operType); | |
56 | + break; | |
57 | + case 3: | |
58 | + delete(attrId); | |
59 | + topicProducer.sendMQAttribute(attrId, operType); | |
60 | + break; | |
61 | + default: | |
62 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, | |
63 | + "Attribute operType error"); | |
64 | + break; | |
65 | + } | |
66 | + } catch (Exception e) { | |
67 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, "handle error!", | |
68 | + e.getMessage()); | |
69 | + throw e; | |
70 | + } | |
71 | + } | |
72 | + | |
73 | + /** | |
74 | + * 新增属性 | |
75 | + * | |
76 | + * @param attrId | |
77 | + */ | |
78 | + private void add(long attrId) throws Exception { | |
79 | + putAddUpdateAttr(attrId); | |
80 | + putAddUpdateAttrValue(attrId); | |
81 | + } | |
82 | + | |
83 | + /** | |
84 | + * 修改属性 | |
85 | + * | |
86 | + */ | |
87 | + private void update(long attrId) throws Exception { | |
88 | + putAddUpdateAttr(attrId); | |
89 | + putAddUpdateAttrValue(attrId); | |
90 | + } | |
91 | + | |
92 | + private void delete(long attrId) throws Exception { | |
93 | + delAttr(attrId); | |
94 | + delAttrValue(attrId); | |
95 | + } | |
96 | + | |
97 | + private void putAddUpdateAttr(long attrId) throws Exception { | |
98 | + try { | |
99 | + Attribute attribute = attributeService.getAttributeById(attrId); | |
100 | + String json = mapper.writeValueAsString(attribute); | |
101 | + jedisClient.hput(RedisKeyConstant.ATTRIBUTE, | |
102 | + String.valueOf(attribute.getAttrId()), json,JedisClient.expireTime); | |
103 | + | |
104 | + List<Attribute> attributes = attributeService.getAllAttribute(); | |
105 | + for (Attribute a : attributes) { | |
106 | + try { | |
107 | + String jsons = mapper.writeValueAsString(a); | |
108 | + jedisClient.hput(RedisKeyConstant.ATTRIBUTE, | |
109 | + String.valueOf(a.getAttrId()), jsons,JedisClient.expireTime); | |
110 | + putAddUpdateAttrValue(a.getAttrId()); | |
111 | + } catch (Exception e) { | |
112 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
113 | + "load attribute error!attrId={}", attrId); | |
114 | + throw e; | |
115 | + } | |
116 | + } | |
117 | + | |
118 | + } catch (Exception e) { | |
119 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
120 | + "load addAttr error!attrId={}", attrId); | |
121 | + throw e; | |
122 | + } | |
123 | + } | |
124 | + | |
125 | + private void putAddUpdateAttrValue(long attrId) throws Exception { | |
126 | + try { | |
127 | + List<AttributeValue> values = attributeService | |
128 | + .getAttributeValues(attrId); | |
129 | + String json = mapper.writeValueAsString(values); | |
130 | + jedisClient.hput(RedisKeyConstant.ATTR_VALUE, String.valueOf(attrId), json,JedisClient.expireTime); | |
131 | + } catch (Exception e) { | |
132 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
133 | + "load addAttrValue error!attrId={}", attrId); | |
134 | + throw e; | |
135 | + } | |
136 | + } | |
137 | + | |
138 | + private void delAttr(long attrId) throws Exception { | |
139 | + try { | |
140 | + jedisClient.hdel(RedisKeyConstant.ATTRIBUTE, String.valueOf(attrId)); | |
141 | + putAddUpdateAttr(attrId); | |
142 | + } catch (Exception e) { | |
143 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
144 | + "load delAttr error!attrId={}", attrId); | |
145 | + throw e; | |
146 | + } | |
147 | + } | |
148 | + | |
149 | + private void delAttrValue(long attrId) throws Exception { | |
150 | + try { | |
151 | + jedisClient.hdel(RedisKeyConstant.ATTR_VALUE, String.valueOf(attrId)); | |
152 | + putAddUpdateAttrValue(attrId); | |
153 | + } catch (Exception e) { | |
154 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
155 | + "load delAttrValue error!attrId={}", attrId); | |
156 | + throw e; | |
157 | + } | |
158 | + } | |
159 | + | |
160 | + /** | |
161 | + * 应用启动时自动执行load方法,加载所有的属性信息 | |
162 | + * | |
163 | + */ | |
164 | + @PostConstruct | |
165 | + public void load() { | |
166 | + LogHelper.info(LogTypeEnum.ATTRIBUTE, "begin load attribute info"); | |
167 | + List<Attribute> attributes = attributeService.getAllAttribute(); | |
168 | + for (Attribute a : attributes) { | |
169 | + try { | |
170 | + String json = mapper.writeValueAsString(a); | |
171 | + jedisClient.hput(RedisKeyConstant.ATTRIBUTE, String.valueOf(a.getAttrId()), | |
172 | + json,JedisClient.expireTime); | |
173 | + putAddUpdateAttrValue(a.getAttrId()); | |
174 | + } catch (Exception e) { | |
175 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, | |
176 | + "load attribute error!attrId={}", a.getAttrId()); | |
177 | + } | |
178 | + } | |
179 | + LogHelper.info(LogTypeEnum.ATTRIBUTE, "load attribute info done"); | |
180 | + } | |
181 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/BaseHandler.java
0 → 100644
titan-cache/src/main/java/com/dili/titan/handler/CategoryHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.Category; | |
4 | +import com.dili.titan.domain.CategoryAttr; | |
5 | +import com.dili.titan.domain.RedisKeyConstant; | |
6 | +import com.dili.titan.domain.log.LogHelper; | |
7 | +import com.dili.titan.domain.log.LogTypeEnum; | |
8 | +import com.dili.titan.mq.sender.TopicProducer; | |
9 | +import com.dili.titan.redis.JedisClient; | |
10 | +import com.dili.titan.service.impl.CategoryService; | |
11 | + | |
12 | +import org.apache.commons.collections.CollectionUtils; | |
13 | +import org.apache.commons.lang.StringUtils; | |
14 | +import org.codehaus.jackson.JsonNode; | |
15 | +import org.codehaus.jackson.map.DeserializationConfig; | |
16 | +import org.codehaus.jackson.map.ObjectMapper; | |
17 | +import org.springframework.stereotype.Component; | |
18 | + | |
19 | +import javax.annotation.PostConstruct; | |
20 | +import javax.annotation.Resource; | |
21 | + | |
22 | +import java.util.ArrayList; | |
23 | +import java.util.List; | |
24 | +import java.util.Set; | |
25 | + | |
26 | +/** | |
27 | + * <B>Description</B> TODO 类目监控<br /> | |
28 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
29 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
30 | + * <B>Company</B> 地利集团 | |
31 | + * @createTime 2014年9月22日 下午2:49:30 | |
32 | + * @author yangjianjun | |
33 | + */ | |
34 | +@Component | |
35 | +public class CategoryHandler implements BaseHandler { | |
36 | + | |
37 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
38 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
39 | + | |
40 | + @Resource(name = "categoryService") | |
41 | + private CategoryService categoryService; | |
42 | + | |
43 | + @Resource(name = "jedisClient") | |
44 | + private JedisClient jedisClient; | |
45 | + | |
46 | + @Resource(name = "topicProducer") | |
47 | + private TopicProducer topicProducer; | |
48 | + | |
49 | + @Override | |
50 | + public void handle(String message) throws Exception { | |
51 | + try { | |
52 | + JsonNode node = mapper.readTree(message); | |
53 | + int cateId = node.get("cateId").asInt(); | |
54 | + int operType = node.get("oper").asInt(); | |
55 | + | |
56 | + switch (operType) { | |
57 | + case 1: | |
58 | + add(cateId); | |
59 | + topicProducer.sendMQCategory(cateId, operType); | |
60 | + break; | |
61 | + case 2: | |
62 | + update(cateId); | |
63 | + topicProducer.sendMQCategory(cateId, operType); | |
64 | + break; | |
65 | + case 3: | |
66 | + update(cateId); | |
67 | + topicProducer.sendMQCategory(cateId, operType); | |
68 | + break; | |
69 | + default: | |
70 | + LogHelper | |
71 | + .error(LogTypeEnum.CATEGORY, "Category operType error"); | |
72 | + break; | |
73 | + } | |
74 | + } catch (Exception e) { | |
75 | + LogHelper.error(LogTypeEnum.CATEGORY, e, e.getMessage()); | |
76 | + throw e; | |
77 | + } | |
78 | + } | |
79 | + | |
80 | + private void add(int cateId) throws Exception { | |
81 | + putCateParent(cateId); | |
82 | + putAddUpdateCate(cateId); | |
83 | + putAddUpdateCateAttr(cateId); | |
84 | + } | |
85 | + | |
86 | + /** | |
87 | + * 修改属性 | |
88 | + * | |
89 | + */ | |
90 | + private void update(int cateId) throws Exception { | |
91 | + putAddUpdateCate(cateId); | |
92 | + putAddUpdateCateAttr(cateId); | |
93 | + } | |
94 | + | |
95 | + private void putAddUpdateCate(int cateId) throws Exception { | |
96 | + try { | |
97 | + Category category = categoryService.getCategoryById(cateId); | |
98 | + String json = mapper.writeValueAsString(category); | |
99 | + jedisClient | |
100 | + .hput(RedisKeyConstant.CATEGORY, String.valueOf(category.getId()), json,JedisClient.expireTime); | |
101 | + setCateChildRedis(category); | |
102 | + } catch (Exception e) { | |
103 | + LogHelper.error(LogTypeEnum.CATEGORY, e, | |
104 | + "putAddUpdateCate error! cateId={}", cateId); | |
105 | + throw e; | |
106 | + } | |
107 | + } | |
108 | + | |
109 | + private void putAddUpdateCateAttr(int cateId) throws Exception { | |
110 | + try { | |
111 | + List<CategoryAttr> values = categoryService | |
112 | + .getCategoryAttrById(cateId); | |
113 | + String json = mapper.writeValueAsString(values); | |
114 | + jedisClient.hput(RedisKeyConstant.CATE_ATTR, String.valueOf(cateId), json,JedisClient.expireTime); | |
115 | + | |
116 | + List<CategoryAttr> seacherValues = categoryService | |
117 | + .getCategorySeacherAttrById(cateId); | |
118 | + String seacherAttrJson = mapper.writeValueAsString(seacherValues); | |
119 | + jedisClient.hput(RedisKeyConstant.CATE_SEARCH_ATTRA, String.valueOf(cateId), | |
120 | + seacherAttrJson,JedisClient.expireTime);// 可搜索属性 | |
121 | + } catch (Exception e) { | |
122 | + LogHelper.error(LogTypeEnum.CATEGORY, e, | |
123 | + "putAddUpdateCateAttr error! cateId={}", cateId); | |
124 | + throw e; | |
125 | + } | |
126 | + } | |
127 | + | |
128 | + private void putCateParent(int cateId) throws Exception { | |
129 | + try { | |
130 | + List<Integer> parents = categoryService.getAllParentCate(cateId); | |
131 | + if (CollectionUtils.isEmpty(parents)) { | |
132 | + return; | |
133 | + } | |
134 | + jedisClient.sadd(RedisKeyConstant.CATE_ALLPARENT + cateId,JedisClient.expireTime, mapper | |
135 | + .writeValueAsString(parents.toArray(new Integer[parents | |
136 | + .size()]))); | |
137 | + } catch (Exception e) { | |
138 | + LogHelper.error(LogTypeEnum.CATEGORY, e, | |
139 | + "putCateParent error! cateId={}", cateId); | |
140 | + throw e; | |
141 | + | |
142 | + } | |
143 | + } | |
144 | + | |
145 | + /** | |
146 | + * 应用启动时自动执行load方法,加载所有的类目信息 | |
147 | + * | |
148 | + */ | |
149 | + @PostConstruct | |
150 | + public void load() { | |
151 | + LogHelper.info(LogTypeEnum.CATEGORY, "begin load category info"); | |
152 | + List<Category> categorys = categoryService.getAllCategory(); | |
153 | + for (Category c : categorys) { | |
154 | + try { | |
155 | + String json = mapper.writeValueAsString(c); | |
156 | + jedisClient.hput(RedisKeyConstant.CATEGORY, String.valueOf(c.getId()), json,JedisClient.expireTime); | |
157 | + setCateChildRedis(c); | |
158 | + putAddUpdateCateAttr(c.getId()); | |
159 | + putCateParent(c.getId()); | |
160 | + } catch (Exception e) { | |
161 | + LogHelper.error(LogTypeEnum.CATEGORY, e, | |
162 | + "load category error!cateId={}", c.getId()); | |
163 | + } | |
164 | + } | |
165 | + LogHelper.info(LogTypeEnum.CATEGORY, "load category info done"); | |
166 | + } | |
167 | + | |
168 | + private void setCateChildRedis(Category c) { | |
169 | + List<Integer> cids = categoryService.getChildByCid(c.getParent()); | |
170 | + jedisClient.delKey(RedisKeyConstant.CATE_CHILD+ c.getParent()); | |
171 | + if(CollectionUtils.isNotEmpty(cids)){ | |
172 | + jedisClient.sadd(RedisKeyConstant.CATE_CHILD+ c.getParent(),JedisClient.expireTime, | |
173 | + StringUtils.join(cids.toArray(),",").split(",")); | |
174 | + } | |
175 | + } | |
176 | + | |
177 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/CloseShopHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.RedisKeyConstant; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.mq.sender.TopicProducer; | |
7 | +import com.dili.titan.redis.JedisClient; | |
8 | +import com.dili.titan.service.impl.ProductPopService; | |
9 | +import org.apache.commons.collections.CollectionUtils; | |
10 | +import org.codehaus.jackson.JsonNode; | |
11 | +import org.codehaus.jackson.map.DeserializationConfig; | |
12 | +import org.codehaus.jackson.map.ObjectMapper; | |
13 | +import org.springframework.stereotype.Component; | |
14 | + | |
15 | +import javax.annotation.Resource; | |
16 | +import java.util.List; | |
17 | + | |
18 | + | |
19 | +/** | |
20 | + * <B>Description</B> 求购信息 <br /> | |
21 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
22 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
23 | + * <B>Company</B> 地利集团 | |
24 | + * @createTime 2014年12月22日 下午6:24:00 | |
25 | + * @author ywd | |
26 | + */ | |
27 | +@Component | |
28 | +public class CloseShopHandler implements BaseHandler { | |
29 | + | |
30 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
31 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
32 | + | |
33 | + @Resource(name = "productPopService") | |
34 | + private ProductPopService productPopService; | |
35 | + | |
36 | + @Resource(name = "topicProducer") | |
37 | + private TopicProducer topicProducer; | |
38 | + | |
39 | + @Resource(name = "jedisClient") | |
40 | + private JedisClient client; | |
41 | + | |
42 | + @Override | |
43 | + public void handle(String message) throws Exception { | |
44 | + try { | |
45 | + JsonNode node = mapper.readTree(message); | |
46 | + long shopId = node.get("shopId").asLong(); | |
47 | + int shopState = node.get("shopState").asInt(); | |
48 | + if(shopState==4) { | |
49 | + update(shopId); | |
50 | + } | |
51 | + if(shopState==5) { | |
52 | + del(shopId); | |
53 | + } | |
54 | + } catch (Exception e) { | |
55 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
56 | + throw e; | |
57 | + } | |
58 | + } | |
59 | + | |
60 | + public void del(long shopId) throws Exception{ | |
61 | + List<Long> pids = productPopService.selectDelProduct(shopId); | |
62 | + if(CollectionUtils.isEmpty(pids)){ | |
63 | + return; | |
64 | + } | |
65 | + productPopService.delProduct(shopId); | |
66 | + for (Long pid: pids ) { | |
67 | + client.hdel(RedisKeyConstant.PRODUCT_POP, String.valueOf(pid)); | |
68 | + topicProducer.sendMQProduct(pid,1); | |
69 | + } | |
70 | + } | |
71 | + | |
72 | + public void update(long shopId) throws Exception{ | |
73 | + List<Long> pids = productPopService.selectDropsProduct(shopId); | |
74 | + if(CollectionUtils.isEmpty(pids)){ | |
75 | + return; | |
76 | + } | |
77 | + productPopService.dropsProduct(shopId); | |
78 | + for (Long pid: pids ) { | |
79 | + client.hdel(RedisKeyConstant.PRODUCT_POP, String.valueOf(pid)); | |
80 | + topicProducer.sendMQProduct(pid,1); | |
81 | + } | |
82 | + } | |
83 | + | |
84 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/PresaleHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.RedisKeyConstant; | |
4 | +import com.dili.titan.domain.gq.Presale; | |
5 | +import com.dili.titan.domain.log.LogHelper; | |
6 | +import com.dili.titan.domain.log.LogTypeEnum; | |
7 | +import com.dili.titan.mq.sender.TopicProducer; | |
8 | +import com.dili.titan.redis.JedisClient; | |
9 | +import com.dili.titan.service.impl.PresaleService; | |
10 | +import org.codehaus.jackson.JsonNode; | |
11 | +import org.codehaus.jackson.map.DeserializationConfig; | |
12 | +import org.codehaus.jackson.map.ObjectMapper; | |
13 | +import org.springframework.stereotype.Component; | |
14 | + | |
15 | +import javax.annotation.Resource; | |
16 | + | |
17 | + | |
18 | +/** | |
19 | + * <B>Description</B> 供应信息 <br /> | |
20 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
21 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
22 | + * <B>Company</B> 地利集团 | |
23 | + * @createTime 2014年12月23日 下午4:42:36 | |
24 | + * @author ywd | |
25 | + */ | |
26 | +@Component | |
27 | +public class PresaleHandler implements BaseHandler { | |
28 | + | |
29 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
30 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
31 | + | |
32 | + @Resource | |
33 | + private PresaleService presaleService; | |
34 | + | |
35 | + @Resource(name = "jedisClient") | |
36 | + private JedisClient jedisClient; | |
37 | + | |
38 | + @Resource(name = "topicProducer") | |
39 | + private TopicProducer topicProducer; | |
40 | + | |
41 | + @Override | |
42 | + public void handle(String message) throws Exception { | |
43 | + try { | |
44 | + JsonNode node = mapper.readTree(message); | |
45 | + int operType = node.get("oper").asInt(); | |
46 | + Long pid = node.get("pid").asLong(); | |
47 | + put(pid); | |
48 | + topicProducer.sendMQPresale(pid,operType); | |
49 | + } catch (Exception e) { | |
50 | + LogHelper.error(LogTypeEnum.PRESALE, e, e.getMessage()); | |
51 | + throw e; | |
52 | + } | |
53 | + } | |
54 | + | |
55 | + /** | |
56 | + * this method is 根据供应ID存储供应 | |
57 | + * @createTime 2014年12月22日 下午5:14:24 | |
58 | + * @author ywd | |
59 | + */ | |
60 | + private void put(Long pid)throws Exception{ | |
61 | + try { | |
62 | + Presale presale= presaleService.findByKey(pid); | |
63 | + if(presale == null){ | |
64 | + LogHelper.error(LogTypeEnum.PRESALE , | |
65 | + "can't find Presale by pid={}", pid); | |
66 | + return; | |
67 | + } | |
68 | + String json = mapper.writeValueAsString(presale); | |
69 | + jedisClient.hput(RedisKeyConstant.PRESALE,presale.getId().toString(), json,JedisClient.expireTime); | |
70 | + } catch (Exception e) { | |
71 | + LogHelper.error(LogTypeEnum.PRESALE, e, | |
72 | + "load putPresale error!pid={}", pid); | |
73 | + throw e; | |
74 | + } | |
75 | + } | |
76 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/ProductHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.mq.sender.TopicProducer; | |
4 | +import com.dili.titan.redis.JedisClient; | |
5 | +import org.apache.log4j.Logger; | |
6 | +import org.codehaus.jackson.JsonNode; | |
7 | +import org.codehaus.jackson.map.ObjectMapper; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | +/** | |
12 | + * <B>Description</B> TODO 商品监控 <br /> | |
13 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
14 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
15 | + * <B>Company</B> 地利集团 | |
16 | + * @createTime 2014年9月22日 下午2:49:15 | |
17 | + * @author yangjianjun | |
18 | + */ | |
19 | +@Component | |
20 | +public class ProductHandler implements BaseHandler { | |
21 | + private Logger logger = Logger.getLogger(ProductHandler.class); | |
22 | + private ObjectMapper mapper = new ObjectMapper(); | |
23 | + @Resource(name="topicProducer") | |
24 | + private TopicProducer topicProducer; | |
25 | + @Resource(name="jedisClient") | |
26 | + private JedisClient client; | |
27 | + /** | |
28 | + * 第三方销售 | |
29 | + */ | |
30 | + public static final String SALE_TYPE_POP = "30"; | |
31 | + | |
32 | + @Override | |
33 | + public void handle(String message) { | |
34 | + JsonNode node; | |
35 | + try { | |
36 | + node = mapper.readTree(message); | |
37 | + long pid = node.get("pid").asLong(); | |
38 | + int operType = node.get("oper").asInt(); | |
39 | + int sign = node.get("sign").asInt(); // 1:修改商品,2:修改商品价格或库存(实时 ), 3: 删除商品, 4: 修改商品认证信息, 5: 更新商品状态,6:批量设置第三方商品自定义分类 | |
40 | + switch (operType) { | |
41 | + case 1: | |
42 | + topicProducer.sendMQProduct(pid, operType); | |
43 | + break; | |
44 | + case 2: | |
45 | + if(sign == 1){ //1:修改商品 | |
46 | + deleteProductAllInfo(pid); | |
47 | + }else if(sign == 4){ // 4: 修改商品认证信息 | |
48 | + client.hdel("product_Auth", String.valueOf(pid)); | |
49 | + }else if(sign == 5 || sign == 7){ //5: 更新商品状态 | |
50 | + String saleType = getSaleType(pid); | |
51 | + if (SALE_TYPE_POP.equals(saleType)) { | |
52 | + client.hdel("product_Pop", String.valueOf(pid)); | |
53 | + } | |
54 | + }else if(sign == 6){ //6:批量设置第三方商品自定义分类 | |
55 | + client.hdel("product_Subcate_Id", String.valueOf(pid)); | |
56 | + }else if(sign == 7){ //7:清除视频缓存 | |
57 | + client.hdel("product_Video", String.valueOf(pid)); | |
58 | + } | |
59 | + topicProducer.sendMQProduct(pid, operType); | |
60 | + break; | |
61 | + case 3: | |
62 | + if(sign == 3){ //3: 删除商品 | |
63 | + deleteProductAllInfo(pid); | |
64 | + } | |
65 | + topicProducer.sendMQProduct(pid, operType); | |
66 | + break; | |
67 | + default: | |
68 | + break; | |
69 | + } | |
70 | + } catch (Exception e) { | |
71 | + logger.error("handle error", e); | |
72 | + } | |
73 | + } | |
74 | + | |
75 | + /** | |
76 | + * this method is 删除商品所有缓存 | |
77 | + * @param pid | |
78 | + * @createTime 2015年6月4日 下午2:06:23 | |
79 | + * @author yangwd | |
80 | + */ | |
81 | + private void deleteProductAllInfo(long pid){ | |
82 | + String saleType = getSaleType(pid); | |
83 | + if (SALE_TYPE_POP.equals(saleType)) { | |
84 | + client.hdel("product_Pop", String.valueOf(pid)); | |
85 | + client.hdel("product_Pop_Attr", String.valueOf(pid)); | |
86 | + } | |
87 | + client.hdel("product_Img", String.valueOf(pid)); | |
88 | + client.hdel("product_Auth", String.valueOf(pid)); | |
89 | + client.hdel("product_Video", String.valueOf(pid)); | |
90 | + } | |
91 | + | |
92 | + public String getSaleType(Long pid) { | |
93 | + if (pid >= 1000000000l && pid < 5000000000l) { | |
94 | + return SALE_TYPE_POP; | |
95 | + } else { | |
96 | + return null; | |
97 | + } | |
98 | + } | |
99 | + | |
100 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/ProductSearchHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.log.LogHelper; | |
4 | +import com.dili.titan.domain.log.LogTypeEnum; | |
5 | +import com.dili.titan.mq.sender.TopicProducer; | |
6 | +import org.codehaus.jackson.JsonNode; | |
7 | +import org.codehaus.jackson.map.ObjectMapper; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | + | |
12 | +/** | |
13 | + * <B>Description</B> TODO 商品监控 <br /> | |
14 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
15 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
16 | + * <B>Company</B> 地利集团 | |
17 | + * | |
18 | + * @author yangjianjun | |
19 | + * @createTime 2014年9月22日 下午2:49:15 | |
20 | + */ | |
21 | +@Component | |
22 | +public class ProductSearchHandler implements BaseHandler { | |
23 | + private ObjectMapper mapper = new ObjectMapper(); | |
24 | + @Resource(name = "topicProducer") | |
25 | + private TopicProducer topicProducer; | |
26 | + | |
27 | + @Override | |
28 | + public void handle(String message) { | |
29 | + JsonNode node; | |
30 | + try { | |
31 | + node = mapper.readTree(message); | |
32 | + long pid = node.get("cid").asLong(); | |
33 | + int type = node.get("type").asInt(); | |
34 | + int operType = node.get("oper").asInt(); | |
35 | + topicProducer.sendMQProductSearch(pid,type, operType); | |
36 | + } catch (Exception e) { | |
37 | + LogHelper.error(LogTypeEnum.PRODUCT, e, "ProductSearchHandler error", e); | |
38 | + } | |
39 | + } | |
40 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/PurchaseHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.RedisKeyConstant; | |
4 | +import com.dili.titan.domain.gq.Purchase; | |
5 | +import com.dili.titan.domain.log.LogHelper; | |
6 | +import com.dili.titan.domain.log.LogTypeEnum; | |
7 | +import com.dili.titan.mq.sender.TopicProducer; | |
8 | +import com.dili.titan.redis.JedisClient; | |
9 | +import com.dili.titan.service.impl.PurchaseService; | |
10 | +import org.apache.commons.collections.CollectionUtils; | |
11 | +import org.codehaus.jackson.JsonNode; | |
12 | +import org.codehaus.jackson.map.DeserializationConfig; | |
13 | +import org.codehaus.jackson.map.ObjectMapper; | |
14 | +import org.springframework.stereotype.Component; | |
15 | + | |
16 | +import javax.annotation.PostConstruct; | |
17 | +import javax.annotation.Resource; | |
18 | +import java.util.ArrayList; | |
19 | +import java.util.List; | |
20 | + | |
21 | + | |
22 | +/** | |
23 | + * <B>Description</B> 求购信息 <br /> | |
24 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
25 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
26 | + * <B>Company</B> 地利集团 | |
27 | + * @createTime 2014年12月22日 下午6:24:00 | |
28 | + * @author ywd | |
29 | + */ | |
30 | +@Component | |
31 | +public class PurchaseHandler implements BaseHandler { | |
32 | + | |
33 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
34 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
35 | + | |
36 | + @Resource | |
37 | + private PurchaseService purchaseService; | |
38 | + | |
39 | + @Resource(name = "jedisClient") | |
40 | + private JedisClient jedisClient; | |
41 | + | |
42 | + @Resource(name = "topicProducer") | |
43 | + private TopicProducer topicProducer; | |
44 | + | |
45 | + @Override | |
46 | + public void handle(String message) throws Exception { | |
47 | + try { | |
48 | + JsonNode node = mapper.readTree(message); | |
49 | + int operType = node.get("oper").asInt(); | |
50 | + Long pid = node.get("pid").asLong(); | |
51 | + put(pid); | |
52 | + topicProducer.sendMQPurchase(pid,operType); | |
53 | + } catch (Exception e) { | |
54 | + LogHelper.error(LogTypeEnum.PURCHASE, e, e.getMessage()); | |
55 | + throw e; | |
56 | + } | |
57 | + } | |
58 | + | |
59 | + /** | |
60 | + * this method is 根据供应ID存储供应 | |
61 | + * @createTime 2014年12月22日 下午5:14:24 | |
62 | + * @author ywd | |
63 | + */ | |
64 | + private void put(Long pid)throws Exception{ | |
65 | + try { | |
66 | + Purchase purchase= purchaseService.findByKey(pid); | |
67 | + if(purchase == null){ | |
68 | + LogHelper.error(LogTypeEnum.PURCHASE , | |
69 | + "can't find Purchase by pid={}", pid); | |
70 | + return; | |
71 | + } | |
72 | + String json = mapper.writeValueAsString(purchase); | |
73 | + jedisClient.hput(RedisKeyConstant.PURCHASE,purchase.getId().toString(), json,JedisClient.expireTime); | |
74 | + } catch (Exception e) { | |
75 | + LogHelper.error(LogTypeEnum.PURCHASE, e, | |
76 | + "load putPurchase error!pid={}", pid); | |
77 | + throw e; | |
78 | + } | |
79 | + } | |
80 | + | |
81 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/ShopAddressHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.log.LogHelper; | |
4 | +import com.dili.titan.domain.log.LogTypeEnum; | |
5 | +import com.dili.titan.service.impl.ProductPopService; | |
6 | +import org.codehaus.jackson.JsonNode; | |
7 | +import org.codehaus.jackson.map.DeserializationConfig; | |
8 | +import org.codehaus.jackson.map.ObjectMapper; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | + | |
14 | +/** | |
15 | + * <B>Description</B> 求购信息 <br /> | |
16 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
17 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
18 | + * <B>Company</B> 地利集团 | |
19 | + * @createTime 2014年12月22日 下午6:24:00 | |
20 | + * @author ywd | |
21 | + */ | |
22 | +@Component | |
23 | +public class ShopAddressHandler implements BaseHandler { | |
24 | + | |
25 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
26 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
27 | + | |
28 | + @Resource(name = "productPopService") | |
29 | + private ProductPopService productPopService; | |
30 | + | |
31 | + @Override | |
32 | + public void handle(String message) throws Exception { | |
33 | + try { | |
34 | + JsonNode node = mapper.readTree(message); | |
35 | + long shopId = node.get("shopId").asLong(); | |
36 | + int cityId = node.get("cityId").asInt(); | |
37 | + update(shopId, cityId); | |
38 | + } catch (Exception e) { | |
39 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
40 | + throw e; | |
41 | + } | |
42 | + } | |
43 | + | |
44 | + public void update(long shopId,int cityId) throws Exception{ | |
45 | + productPopService.updateCityId(shopId, cityId); | |
46 | + } | |
47 | + | |
48 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/ShopMarketHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.alibaba.fastjson.JSONObject; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.rpc.ConfigRPC; | |
7 | +import com.dili.titan.service.impl.ProductPopService; | |
8 | +import com.diligrp.website.web.interfaces.domain.output.PickUpPointResp; | |
9 | +import org.springframework.stereotype.Component; | |
10 | +import org.springframework.transaction.annotation.Transactional; | |
11 | + | |
12 | +import javax.annotation.Resource; | |
13 | + | |
14 | + | |
15 | +/** | |
16 | + * <B>Description</B> 求购信息 <br /> | |
17 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
18 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
19 | + * <B>Company</B> 地利集团 | |
20 | + * | |
21 | + * @author ywd | |
22 | + * @createTime 2014年12月22日 下午6:24:00 | |
23 | + */ | |
24 | +@Component | |
25 | +public class ShopMarketHandler implements BaseHandler { | |
26 | + | |
27 | + @Resource | |
28 | + private ProductPopService productPopService; | |
29 | + @Resource | |
30 | + ConfigRPC configRPC; | |
31 | + | |
32 | + @Override | |
33 | + public void handle(String message) throws Exception { | |
34 | + try { | |
35 | + JSONObject node = JSONObject.parseObject(message); | |
36 | + Long shopId = node.getLong("shopId"); | |
37 | + Long marketId = node.getLong("statisticsMarket"); | |
38 | + update(shopId, marketId); | |
39 | + } catch (Exception e) { | |
40 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
41 | + throw e; | |
42 | + } | |
43 | + } | |
44 | + | |
45 | + @Transactional | |
46 | + public void update(Long shopId,Long marketId) throws Exception { | |
47 | + if(marketId==0){ | |
48 | + productPopService.updateMarket(shopId,marketId,""); | |
49 | + return; | |
50 | + } | |
51 | + PickUpPointResp resp = configRPC.getPickUpInfoById(marketId); | |
52 | + if(resp==null){ | |
53 | + throw new Exception("市场ID不存在!"); | |
54 | + } | |
55 | + productPopService.updateMarket(shopId,marketId,resp.getPickName()); | |
56 | + } | |
57 | + | |
58 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/ShopNameHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.alibaba.fastjson.JSONObject; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.service.impl.ProductPopService; | |
7 | +import org.codehaus.jackson.JsonNode; | |
8 | +import org.codehaus.jackson.map.DeserializationConfig; | |
9 | +import org.codehaus.jackson.map.ObjectMapper; | |
10 | +import org.springframework.stereotype.Component; | |
11 | + | |
12 | +import javax.annotation.Resource; | |
13 | + | |
14 | + | |
15 | +/** | |
16 | + * <B>Description</B> 求购信息 <br /> | |
17 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
18 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
19 | + * <B>Company</B> 地利集团 | |
20 | + * @createTime 2014年12月22日 下午6:24:00 | |
21 | + * @author ywd | |
22 | + */ | |
23 | +@Component | |
24 | +public class ShopNameHandler implements BaseHandler { | |
25 | + | |
26 | + @Resource(name = "productPopService") | |
27 | + private ProductPopService productPopService; | |
28 | + | |
29 | + @Override | |
30 | + public void handle(String message) throws Exception { | |
31 | + try { | |
32 | + JSONObject node = JSONObject.parseObject(message); | |
33 | + long shopId = node.getLong("shopId"); | |
34 | + String shopName = node.getString("shopName"); | |
35 | + update(shopId, shopName); | |
36 | + } catch (Exception e) { | |
37 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
38 | + throw e; | |
39 | + } | |
40 | + } | |
41 | + | |
42 | + public void update(long shopId,String shopName) throws Exception{ | |
43 | + productPopService.updateShopName(shopId, shopName); | |
44 | + } | |
45 | + | |
46 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/SupplyHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.RedisKeyConstant; | |
4 | +import com.dili.titan.domain.gq.Supply; | |
5 | +import com.dili.titan.domain.log.LogHelper; | |
6 | +import com.dili.titan.domain.log.LogTypeEnum; | |
7 | +import com.dili.titan.mq.sender.TopicProducer; | |
8 | +import com.dili.titan.redis.JedisClient; | |
9 | +import com.dili.titan.service.impl.SupplyService; | |
10 | +import org.codehaus.jackson.JsonNode; | |
11 | +import org.codehaus.jackson.map.DeserializationConfig; | |
12 | +import org.codehaus.jackson.map.ObjectMapper; | |
13 | +import org.springframework.stereotype.Component; | |
14 | + | |
15 | +import javax.annotation.Resource; | |
16 | + | |
17 | + | |
18 | +/** | |
19 | + * <B>Description</B> 供应信息 <br /> | |
20 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
21 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
22 | + * <B>Company</B> 地利集团 | |
23 | + * @createTime 2014年12月23日 下午4:42:36 | |
24 | + * @author ywd | |
25 | + */ | |
26 | +@Component | |
27 | +public class SupplyHandler implements BaseHandler { | |
28 | + | |
29 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
30 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
31 | + | |
32 | + @Resource(name = "supplyService") | |
33 | + private SupplyService supplyService; | |
34 | + | |
35 | + @Resource(name = "jedisClient") | |
36 | + private JedisClient jedisClient; | |
37 | + | |
38 | + @Resource(name = "topicProducer") | |
39 | + private TopicProducer topicProducer; | |
40 | + | |
41 | + @Override | |
42 | + public void handle(String message) throws Exception { | |
43 | + try { | |
44 | + JsonNode node = mapper.readTree(message); | |
45 | + int operType = node.get("oper").asInt(); | |
46 | + Long pid = node.get("pid").asLong(); | |
47 | + put(pid); | |
48 | + topicProducer.sendMQSupply(pid,operType); | |
49 | + } catch (Exception e) { | |
50 | + LogHelper.error(LogTypeEnum.SUPPLY, e, e.getMessage()); | |
51 | + throw e; | |
52 | + } | |
53 | + } | |
54 | + | |
55 | + /** | |
56 | + * this method is 根据供应ID存储供应 | |
57 | + * @createTime 2014年12月22日 下午5:14:24 | |
58 | + * @author ywd | |
59 | + */ | |
60 | + private void put(Long pid)throws Exception{ | |
61 | + try { | |
62 | + Supply supply= supplyService.findByKey(pid); | |
63 | + if(supply == null){ | |
64 | + LogHelper.error(LogTypeEnum.SUPPLY , | |
65 | + "can't find Supply by pid={}", pid); | |
66 | + return; | |
67 | + } | |
68 | + String json = mapper.writeValueAsString(supply); | |
69 | + jedisClient.hput(RedisKeyConstant.SUPPLY,supply.getId().toString(), json,JedisClient.expireTime); | |
70 | + } catch (Exception e) { | |
71 | + LogHelper.error(LogTypeEnum.SUPPLY, e, | |
72 | + "load putSupply error!pid={}", pid); | |
73 | + throw e; | |
74 | + } | |
75 | + } | |
76 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/UserHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.alibaba.fastjson.JSONObject; | |
4 | +import com.dili.titan.domain.RedisKeyConstant; | |
5 | +import com.dili.titan.domain.gq.Presale; | |
6 | +import com.dili.titan.domain.gq.Purchase; | |
7 | +import com.dili.titan.domain.gq.Supply; | |
8 | +import com.dili.titan.domain.log.LogHelper; | |
9 | +import com.dili.titan.domain.log.LogTypeEnum; | |
10 | +import com.dili.titan.redis.JedisClient; | |
11 | +import com.dili.titan.service.impl.PresaleService; | |
12 | +import com.dili.titan.service.impl.ProductPopService; | |
13 | +import com.dili.titan.service.impl.PurchaseService; | |
14 | +import com.dili.titan.service.impl.SupplyService; | |
15 | +import org.apache.commons.collections.CollectionUtils; | |
16 | +import org.springframework.stereotype.Component; | |
17 | +import org.springframework.transaction.annotation.Transactional; | |
18 | + | |
19 | +import javax.annotation.Resource; | |
20 | +import java.util.List; | |
21 | + | |
22 | + | |
23 | +/** | |
24 | + * <B>Description</B> 求购信息 <br /> | |
25 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
26 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
27 | + * <B>Company</B> 地利集团 | |
28 | + * | |
29 | + * @author ywd | |
30 | + * @createTime 2014年12月22日 下午6:24:00 | |
31 | + */ | |
32 | +@Component | |
33 | +public class UserHandler implements BaseHandler { | |
34 | + | |
35 | + @Resource | |
36 | + private ProductPopService productPopService; | |
37 | + | |
38 | + @Override | |
39 | + public void handle(String message) throws Exception { | |
40 | + try { | |
41 | + JSONObject node = JSONObject.parseObject(message); | |
42 | + Long userId = node.getLong("id"); | |
43 | + String userName = node.getString("accountName"); | |
44 | + update(userId, userName); | |
45 | + } catch (Exception e) { | |
46 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
47 | + throw e; | |
48 | + } | |
49 | + } | |
50 | + | |
51 | + @Transactional | |
52 | + public void update(Long userId, String userName) throws Exception { | |
53 | + productPopService.updateUserName(userId,userName); | |
54 | + } | |
55 | + | |
56 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/handler/UserShopHandler.java
0 → 100644
1 | +package com.dili.titan.handler; | |
2 | + | |
3 | +import com.dili.titan.domain.RedisKeyConstant; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.mq.sender.TopicProducer; | |
7 | +import com.dili.titan.redis.JedisClient; | |
8 | +import com.dili.titan.service.impl.ProductPopService; | |
9 | +import org.codehaus.jackson.JsonNode; | |
10 | +import org.codehaus.jackson.map.DeserializationConfig; | |
11 | +import org.codehaus.jackson.map.ObjectMapper; | |
12 | +import org.springframework.stereotype.Component; | |
13 | + | |
14 | +import javax.annotation.Resource; | |
15 | + | |
16 | +import java.util.List; | |
17 | + | |
18 | + | |
19 | +/** | |
20 | + * <B>Description</B> 求购信息 <br /> | |
21 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
22 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
23 | + * <B>Company</B> 地利集团 | |
24 | + * @createTime 2014年12月22日 下午6:24:00 | |
25 | + * @author ywd | |
26 | + */ | |
27 | +@Component | |
28 | +public class UserShopHandler implements BaseHandler { | |
29 | + | |
30 | + private ObjectMapper mapper = new ObjectMapper().configure( | |
31 | + DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false); | |
32 | + | |
33 | + @Resource(name = "productPopService") | |
34 | + private ProductPopService productPopService; | |
35 | + | |
36 | + @Resource(name = "topicProducer") | |
37 | + private TopicProducer topicProducer; | |
38 | + | |
39 | + @Resource(name = "jedisClient") | |
40 | + private JedisClient client; | |
41 | + | |
42 | + @Override | |
43 | + public void handle(String message) throws Exception { | |
44 | + try { | |
45 | + JsonNode node = mapper.readTree(message); | |
46 | + boolean provinceChange = node.get("provinceChange").asBoolean(); | |
47 | + long shopId = node.get("shopId").asLong(); | |
48 | + long cityId = node.get("cityId").asLong(); | |
49 | + update(provinceChange, shopId, cityId); | |
50 | + } catch (Exception e) { | |
51 | + LogHelper.error(LogTypeEnum.PRODUCT, e, e.getMessage()); | |
52 | + throw e; | |
53 | + } | |
54 | + } | |
55 | + | |
56 | + public void update(boolean provinceChange,long shopId,long cityId) throws Exception{ | |
57 | + int result = productPopService.update(shopId, cityId); | |
58 | + if(result >0){ | |
59 | + List<Long> listPro = productPopService.getProductPopList(shopId); | |
60 | + for (int i = 0; i < listPro.size(); i++) { | |
61 | + client.hdel(RedisKeyConstant.PRODUCT_POP, String.valueOf(listPro.get(i))); | |
62 | + if(provinceChange){ | |
63 | + topicProducer.sendMQProduct(listPro.get(i),1); | |
64 | + } | |
65 | + } | |
66 | + } | |
67 | + } | |
68 | + | |
69 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/AttributeMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.AttributeHandler; | |
7 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | +/** | |
12 | + * <B>Description</B> 属性消息监听 <br /> | |
13 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
14 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
15 | + * <B>Company</B> 地利集团 | |
16 | + * @createTime 2014年7月24日 下午3:16:34 | |
17 | + * @author yangjianjun | |
18 | + */ | |
19 | +@Component | |
20 | +public class AttributeMessageHandler implements DiliMQListener { | |
21 | + @Resource | |
22 | + private AttributeHandler attributeHandler; | |
23 | + private String topic = "Titan_Cache_Attribute"; | |
24 | + private String tags="pnr"; | |
25 | + | |
26 | + @Override | |
27 | + public String getTags() { | |
28 | + return tags; | |
29 | + } | |
30 | + | |
31 | + @Override | |
32 | + public String getTopic() { | |
33 | + return topic; | |
34 | + } | |
35 | + | |
36 | + @Override | |
37 | + public void operate(MessageExt messageExt) { | |
38 | + if (messageExt == null) { | |
39 | + LogHelper.warn(LogTypeEnum.ATTRIBUTE, | |
40 | + "listener AttributeMessageHandler content is null"); | |
41 | + return; | |
42 | + } | |
43 | + try { | |
44 | + byte[] bytesMessage = messageExt.getBody(); | |
45 | + String json = new String(bytesMessage,"UTF-8"); | |
46 | + LogHelper.info(LogTypeEnum.ATTRIBUTE, "listener AttributeMessageHandler context={}", json); | |
47 | + attributeHandler.handle(json); | |
48 | + } catch (Exception e) { | |
49 | + LogHelper.error(LogTypeEnum.ATTRIBUTE, e, "listener AttributeMessageHandler Exception:", | |
50 | + e.getMessage()); | |
51 | + throw new RuntimeException(e); | |
52 | + } | |
53 | + } | |
54 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/CategoryMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.CategoryHandler; | |
7 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | + | |
12 | +/** | |
13 | + * <B>Description</B>类目消息监听 <br /> | |
14 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
15 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
16 | + * <B>Company</B> 地利集团 | |
17 | + * @createTime 2014年7月24日 下午3:15:25 | |
18 | + * @author yangjianjun | |
19 | + */ | |
20 | +@Component | |
21 | +public class CategoryMessageHandler implements DiliMQListener { | |
22 | + @Resource | |
23 | + private CategoryHandler categoryHandler; | |
24 | + private String topic = "Titan_Cache_Category"; | |
25 | + private String tags = "pnr"; | |
26 | + | |
27 | + @Override | |
28 | + public String getTags() { | |
29 | + return tags; | |
30 | + } | |
31 | + | |
32 | + @Override | |
33 | + public String getTopic() { | |
34 | + return topic; | |
35 | + } | |
36 | + | |
37 | + @Override | |
38 | + public void operate(MessageExt message) { | |
39 | + if (message == null) { | |
40 | + LogHelper.warn(LogTypeEnum.CATEGORY, | |
41 | + "listener CategoryMessageHandler content is null"); | |
42 | + return; | |
43 | + } | |
44 | + try { | |
45 | + byte[] bytesMessage = message.getBody(); | |
46 | + String json = new String(bytesMessage,"UTF-8"); | |
47 | + LogHelper.info(LogTypeEnum.CATEGORY, "listener CategoryMessageHandler context={}", json); | |
48 | + categoryHandler.handle(json); | |
49 | + } catch (Exception e) { | |
50 | + LogHelper.error(LogTypeEnum.CATEGORY, e, "listener CategoryMessageHandler EXCEPTION!", | |
51 | + e.getMessage()); | |
52 | + throw new RuntimeException(e); | |
53 | + } | |
54 | + } | |
55 | + | |
56 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/CloseShopMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.CloseShopHandler; | |
7 | +import com.dili.titan.handler.UserHandler; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | + | |
14 | +/** | |
15 | + * <B>Description</B> TODO <br /> | |
16 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
17 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
18 | + * <B>Company</B> 地利集团 | |
19 | + * @createTime 2014年11月25日 上午11:48:14 | |
20 | + * @author ywd | |
21 | + */ | |
22 | +@Component | |
23 | +public class CloseShopMessageHandler implements DiliMQListener { | |
24 | + @Resource | |
25 | + private CloseShopHandler closeShopHandler; | |
26 | + private String topic = "user_shop_state"; | |
27 | + private String tags = "change"; | |
28 | + | |
29 | + @Override | |
30 | + public String getTags() { | |
31 | + return tags; | |
32 | + } | |
33 | + | |
34 | + @Override | |
35 | + public String getTopic() { | |
36 | + return topic; | |
37 | + } | |
38 | + | |
39 | + @Override | |
40 | + public void operate(MessageExt message) { | |
41 | + if (message == null) { | |
42 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
43 | + "listener UserMessageHandler content is null"); | |
44 | + return; | |
45 | + } | |
46 | + try { | |
47 | + byte[] bytesMessage = message.getBody(); | |
48 | + String json = new String(bytesMessage,"UTF-8"); | |
49 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
50 | + "listener UserMessageHandler context={}", json); | |
51 | + closeShopHandler.handle(json); | |
52 | + } catch (Exception e) { | |
53 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
54 | + "listener UserMessageHandler EXCEPTION!", | |
55 | + e.getMessage()); | |
56 | + throw new RuntimeException(e); | |
57 | + } | |
58 | + } | |
59 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/MessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.ProductHandler; | |
7 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | + | |
12 | +@Component | |
13 | +public class MessageHandler implements DiliMQListener { | |
14 | + | |
15 | + @Resource | |
16 | + private ProductHandler productHandler; | |
17 | + private String topic = "Titan_Cache_Product"; | |
18 | + private String tags = "pnr"; | |
19 | + | |
20 | + @Override | |
21 | + public String getTags() { | |
22 | + return tags; | |
23 | + } | |
24 | + | |
25 | + @Override | |
26 | + public String getTopic() { | |
27 | + return topic; | |
28 | + } | |
29 | + | |
30 | + @Override | |
31 | + public void operate(MessageExt message) { | |
32 | + if (message == null) { | |
33 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
34 | + "listener MessageHandler content is null"); | |
35 | + return; | |
36 | + } | |
37 | + try { | |
38 | + byte[] bytesMessage = message.getBody(); | |
39 | + String json = new String(bytesMessage,"UTF-8"); | |
40 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
41 | + "listener MessageHandler context={}", json); | |
42 | + productHandler.handle(json); | |
43 | + } catch (Exception e) { | |
44 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
45 | + "listener MessageHandler EXCEPTION!", | |
46 | + e.getMessage()); | |
47 | + throw new RuntimeException(e); | |
48 | + } | |
49 | + } | |
50 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/PresaleMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.PresaleHandler; | |
7 | +import com.dili.titan.handler.SupplyHandler; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | +/** | |
14 | + * <B>Description</B> 供应信息监听器 <br /> | |
15 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
16 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
17 | + * <B>Company</B> 地利集团 | |
18 | + * @createTime 2014年11月25日 上午11:48:14 | |
19 | + * @author ywd | |
20 | + */ | |
21 | +@Component | |
22 | +public class PresaleMessageHandler implements DiliMQListener { | |
23 | + @Resource | |
24 | + private PresaleHandler presaleHandler; | |
25 | + private String topic = "Titan_Cache_Presale"; | |
26 | + private String tags = "pnr"; | |
27 | + | |
28 | + @Override | |
29 | + public String getTags() { | |
30 | + return tags; | |
31 | + } | |
32 | + | |
33 | + @Override | |
34 | + public String getTopic() { | |
35 | + return topic; | |
36 | + } | |
37 | + | |
38 | + @Override | |
39 | + public void operate(MessageExt message) { | |
40 | + if (message == null) { | |
41 | + LogHelper.warn(LogTypeEnum.SUPPLY, | |
42 | + "listener PresaleMessageHandler content is null"); | |
43 | + return; | |
44 | + } | |
45 | + try { | |
46 | + byte[] bytesMessage = message.getBody(); | |
47 | + String json = new String(bytesMessage,"UTF-8"); | |
48 | + LogHelper.info(LogTypeEnum.SUPPLY, | |
49 | + "listener PresaleMessageHandler context={}", json); | |
50 | + presaleHandler.handle(json); | |
51 | + } catch (Exception e) { | |
52 | + LogHelper.error(LogTypeEnum.SUPPLY, e, | |
53 | + "listener PresaleMessageHandler EXCEPTION!", | |
54 | + e.getMessage()); | |
55 | + throw new RuntimeException(e); | |
56 | + } | |
57 | + } | |
58 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/ProductSearchMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.ProductHandler; | |
7 | +import com.dili.titan.handler.ProductSearchHandler; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | +@Component | |
14 | +public class ProductSearchMessageHandler implements DiliMQListener { | |
15 | + | |
16 | + @Resource | |
17 | + private ProductSearchHandler productSearchHandler; | |
18 | + private String topic = "Titan_Cache_Product_Search_Cate"; | |
19 | + private String tags = "pnr"; | |
20 | + | |
21 | + @Override | |
22 | + public String getTags() { | |
23 | + return tags; | |
24 | + } | |
25 | + | |
26 | + @Override | |
27 | + public String getTopic() { | |
28 | + return topic; | |
29 | + } | |
30 | + | |
31 | + @Override | |
32 | + public void operate(MessageExt message) { | |
33 | + if (message == null) { | |
34 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
35 | + "listener ProductSearchMessageHandler content is null"); | |
36 | + return; | |
37 | + } | |
38 | + try { | |
39 | + byte[] bytesMessage = message.getBody(); | |
40 | + String json = new String(bytesMessage,"UTF-8"); | |
41 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
42 | + "listener ProductSearchMessageHandler context={}", json); | |
43 | + productSearchHandler.handle(json); | |
44 | + } catch (Exception e) { | |
45 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
46 | + "listener ProductSearchMessageHandler EXCEPTION!", | |
47 | + e.getMessage()); | |
48 | + throw new RuntimeException(e); | |
49 | + } | |
50 | + } | |
51 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/PurchaseMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.PurchaseHandler; | |
7 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | + | |
12 | +/** | |
13 | + * <B>Description</B> 求购信息 监听器<br /> | |
14 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
15 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
16 | + * <B>Company</B> 地利集团 | |
17 | + * @createTime 2014年11月25日 上午11:48:14 | |
18 | + * @author ywd | |
19 | + */ | |
20 | +@Component | |
21 | +public class PurchaseMessageHandler implements DiliMQListener { | |
22 | + @Resource | |
23 | + private PurchaseHandler purchaseHandler; | |
24 | + private String topic = "Titan_Cache_Purchase"; | |
25 | + private String tags = "pnr"; | |
26 | + | |
27 | + @Override | |
28 | + public String getTags() { | |
29 | + return tags; | |
30 | + } | |
31 | + | |
32 | + @Override | |
33 | + public String getTopic() { | |
34 | + return topic; | |
35 | + } | |
36 | + | |
37 | + @Override | |
38 | + public void operate(MessageExt message) { | |
39 | + if (message == null) { | |
40 | + LogHelper.warn(LogTypeEnum.PURCHASE, | |
41 | + "listener PurchaseMessageHandler content is null"); | |
42 | + return; | |
43 | + } | |
44 | + try { | |
45 | + byte[] bytesMessage = message.getBody(); | |
46 | + String json = new String(bytesMessage,"UTF-8"); | |
47 | + LogHelper.info(LogTypeEnum.PURCHASE, | |
48 | + "listener PurchaseMessageHandler context={}", json); | |
49 | + purchaseHandler.handle(json); | |
50 | + } catch (Exception e) { | |
51 | + LogHelper.error(LogTypeEnum.PURCHASE, e, | |
52 | + "listener PurchaseMessageHandler EXCEPTION!", | |
53 | + e.getMessage()); | |
54 | + throw new RuntimeException(e); | |
55 | + } | |
56 | + } | |
57 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/ShopMarketMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.ShopMarketHandler; | |
7 | +import com.dili.titan.handler.UserHandler; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | + | |
14 | +/** | |
15 | + * <B>Description</B> TODO <br /> | |
16 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
17 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
18 | + * <B>Company</B> 地利集团 | |
19 | + * @createTime 2014年11月25日 上午11:48:14 | |
20 | + * @author ywd | |
21 | + */ | |
22 | +@Component | |
23 | +public class ShopMarketMessageHandler implements DiliMQListener { | |
24 | + @Resource | |
25 | + private ShopMarketHandler shopMarketHandler; | |
26 | + private String topic = "user_shop_market"; | |
27 | + private String tags = "change"; | |
28 | + | |
29 | + @Override | |
30 | + public String getTags() { | |
31 | + return tags; | |
32 | + } | |
33 | + | |
34 | + @Override | |
35 | + public String getTopic() { | |
36 | + return topic; | |
37 | + } | |
38 | + | |
39 | + @Override | |
40 | + public void operate(MessageExt message) { | |
41 | + if (message == null) { | |
42 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
43 | + "listener ShopMarketMessageHandler content is null"); | |
44 | + return; | |
45 | + } | |
46 | + try { | |
47 | + byte[] bytesMessage = message.getBody(); | |
48 | + String json = new String(bytesMessage,"UTF-8"); | |
49 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
50 | + "listener ShopMarketMessageHandler context={}", json); | |
51 | + shopMarketHandler.handle(json); | |
52 | + } catch (Exception e) { | |
53 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
54 | + "listener ShopMarketMessageHandler EXCEPTION!", | |
55 | + e.getMessage()); | |
56 | + throw new RuntimeException(e); | |
57 | + } | |
58 | + } | |
59 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/SupplyMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.SupplyHandler; | |
7 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
8 | +import org.springframework.stereotype.Component; | |
9 | + | |
10 | +import javax.annotation.Resource; | |
11 | + | |
12 | +/** | |
13 | + * <B>Description</B> 供应信息监听器 <br /> | |
14 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
15 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
16 | + * <B>Company</B> 地利集团 | |
17 | + * @createTime 2014年11月25日 上午11:48:14 | |
18 | + * @author ywd | |
19 | + */ | |
20 | +@Component | |
21 | +public class SupplyMessageHandler implements DiliMQListener { | |
22 | + @Resource | |
23 | + private SupplyHandler supplyHandler; | |
24 | + private String topic = "Titan_Cache_Supply"; | |
25 | + private String tags = "pnr"; | |
26 | + | |
27 | + @Override | |
28 | + public String getTags() { | |
29 | + return tags; | |
30 | + } | |
31 | + | |
32 | + @Override | |
33 | + public String getTopic() { | |
34 | + return topic; | |
35 | + } | |
36 | + | |
37 | + @Override | |
38 | + public void operate(MessageExt message) { | |
39 | + if (message == null) { | |
40 | + LogHelper.warn(LogTypeEnum.SUPPLY, | |
41 | + "listener SupplyMessageHandler content is null"); | |
42 | + return; | |
43 | + } | |
44 | + try { | |
45 | + byte[] bytesMessage = message.getBody(); | |
46 | + String json = new String(bytesMessage,"UTF-8"); | |
47 | + LogHelper.info(LogTypeEnum.SUPPLY, | |
48 | + "listener SupplyMessageHandler context={}", json); | |
49 | + supplyHandler.handle(json); | |
50 | + } catch (Exception e) { | |
51 | + LogHelper.error(LogTypeEnum.SUPPLY, e, | |
52 | + "listener SupplyMessageHandler EXCEPTION!", | |
53 | + e.getMessage()); | |
54 | + throw new RuntimeException(e); | |
55 | + } | |
56 | + } | |
57 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/UserMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.UserHandler; | |
7 | +import com.dili.titan.handler.UserShopHandler; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
9 | +import org.springframework.stereotype.Component; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | + | |
13 | + | |
14 | +/** | |
15 | + * <B>Description</B> TODO <br /> | |
16 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
17 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
18 | + * <B>Company</B> 地利集团 | |
19 | + * @createTime 2014年11月25日 上午11:48:14 | |
20 | + * @author ywd | |
21 | + */ | |
22 | +@Component | |
23 | +public class UserMessageHandler implements DiliMQListener { | |
24 | + @Resource | |
25 | + private UserHandler userHandler; | |
26 | + private String topic = "account_info_change"; | |
27 | + private String tags = "PNR"; | |
28 | + | |
29 | + @Override | |
30 | + public String getTags() { | |
31 | + return tags; | |
32 | + } | |
33 | + | |
34 | + @Override | |
35 | + public String getTopic() { | |
36 | + return topic; | |
37 | + } | |
38 | + | |
39 | + @Override | |
40 | + public void operate(MessageExt message) { | |
41 | + if (message == null) { | |
42 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
43 | + "listener UserMessageHandler content is null"); | |
44 | + return; | |
45 | + } | |
46 | + try { | |
47 | + byte[] bytesMessage = message.getBody(); | |
48 | + String json = new String(bytesMessage,"UTF-8"); | |
49 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
50 | + "listener UserMessageHandler context={}", json); | |
51 | + userHandler.handle(json); | |
52 | + } catch (Exception e) { | |
53 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
54 | + "listener UserMessageHandler EXCEPTION!", | |
55 | + e.getMessage()); | |
56 | + throw new RuntimeException(e); | |
57 | + } | |
58 | + } | |
59 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/listener/UserShopMessageHandler.java
0 → 100644
1 | +package com.dili.titan.mq.listener; | |
2 | + | |
3 | +import com.alibaba.rocketmq.common.message.MessageExt; | |
4 | +import com.dili.titan.domain.log.LogHelper; | |
5 | +import com.dili.titan.domain.log.LogTypeEnum; | |
6 | +import com.dili.titan.handler.ShopAddressHandler; | |
7 | +import com.dili.titan.handler.ShopNameHandler; | |
8 | +import com.dili.titan.handler.UserShopHandler; | |
9 | +import com.diligrp.util.rocketMQUtil.DiliMQListener; | |
10 | +import org.apache.commons.lang.StringUtils; | |
11 | +import org.springframework.stereotype.Component; | |
12 | + | |
13 | +import javax.annotation.Resource; | |
14 | +import javax.security.auth.callback.CallbackHandler; | |
15 | + | |
16 | + | |
17 | +/** | |
18 | + * <B>Description</B> TODO <br /> | |
19 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
20 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
21 | + * <B>Company</B> 地利集团 | |
22 | + * @createTime 2014年11月25日 上午11:48:14 | |
23 | + * @author ywd | |
24 | + */ | |
25 | +@Component | |
26 | +public class UserShopMessageHandler implements DiliMQListener { | |
27 | + @Resource | |
28 | + private UserShopHandler userShopHandler; | |
29 | + @Resource | |
30 | + private ShopAddressHandler shopAddressHandler; | |
31 | + @Resource | |
32 | + private ShopNameHandler shopNameHandler; | |
33 | + private String topic = "user_shop"; | |
34 | + private String tags = "shop_edit||shop_address_edit||shop_name_edit"; | |
35 | + | |
36 | + | |
37 | + @Override | |
38 | + public String getTags() { | |
39 | + return tags; | |
40 | + } | |
41 | + | |
42 | + @Override | |
43 | + public String getTopic() { | |
44 | + return topic; | |
45 | + } | |
46 | + | |
47 | + @Override | |
48 | + public void operate(MessageExt message) { | |
49 | + if (message == null) { | |
50 | + LogHelper.warn(LogTypeEnum.PRODUCT, | |
51 | + "listener UserShopMessageHandler content is null"); | |
52 | + return; | |
53 | + } | |
54 | + try { | |
55 | + String tags = message.getTags(); | |
56 | + if(StringUtils.isEmpty(tags)){ | |
57 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
58 | + "listener UserShopMessageHandler tags is NULL"); | |
59 | + return; | |
60 | + } | |
61 | + byte[] bytesMessage = message.getBody(); | |
62 | + message.getTags(); | |
63 | + String json = new String(bytesMessage,"UTF-8"); | |
64 | + LogHelper.info(LogTypeEnum.PRODUCT, | |
65 | + "listener UserShopMessageHandler context={}", json); | |
66 | + if("shop_edit".equals(tags)) { | |
67 | + userShopHandler.handle(json); | |
68 | + } | |
69 | + if("shop_address_edit".equals(tags)){ | |
70 | + shopAddressHandler.handle(json); | |
71 | + } | |
72 | + if("shop_name_edit".equals(tags)){ | |
73 | + shopNameHandler.handle(json); | |
74 | + } | |
75 | + } catch (Exception e) { | |
76 | + LogHelper.error(LogTypeEnum.PRODUCT, e, | |
77 | + "listener UserShopMessageHandler EXCEPTION!", | |
78 | + e.getMessage()); | |
79 | + throw new RuntimeException(e); | |
80 | + } | |
81 | + } | |
82 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/mq/sender/TopicProducer.java
0 → 100644
1 | +package com.dili.titan.mq.sender; | |
2 | + | |
3 | +import com.alibaba.fastjson.JSONArray; | |
4 | +import com.alibaba.rocketmq.common.message.Message; | |
5 | +import com.dili.titan.domain.log.LogHelper; | |
6 | +import com.dili.titan.domain.log.LogTypeEnum; | |
7 | +import com.diligrp.util.exception.DiliUtilException; | |
8 | +import com.diligrp.util.rocketMQUtil.DiliMQProducer; | |
9 | +import org.springframework.beans.factory.annotation.Autowired; | |
10 | +import org.springframework.stereotype.Component; | |
11 | + | |
12 | +import java.nio.charset.Charset; | |
13 | +import java.util.HashMap; | |
14 | +import java.util.Map; | |
15 | + | |
16 | +@Component("topicProducer") | |
17 | +public class TopicProducer { | |
18 | + | |
19 | + @Autowired | |
20 | + private DiliMQProducer diliMQProducer; | |
21 | + | |
22 | + /** | |
23 | + * 发送消息 | |
24 | + * | |
25 | + * @param destination | |
26 | + * @param message | |
27 | + */ | |
28 | + public void send(final String destination, final String message) { | |
29 | + Message mesg = new Message(destination, "pnr", message.getBytes(Charset.forName("UTF-8"))); | |
30 | + try { | |
31 | + Thread.sleep(500); | |
32 | + diliMQProducer.sendMsg(mesg); | |
33 | + } catch (Exception e) { | |
34 | + LogHelper.error(LogTypeEnum.PRODUCT_MQ, e,"发送MQ异常!KEY={},内容={}", destination, | |
35 | + message); | |
36 | + } | |
37 | + LogHelper.info(LogTypeEnum.PRODUCT_MQ, "发送MQ!KEY={},内容={}", destination, | |
38 | + message); | |
39 | + } | |
40 | + | |
41 | + /** | |
42 | + * this method is 发送属性mq消息 | |
43 | + * | |
44 | + * @param attrId | |
45 | + * @param oper | |
46 | + * @createTime 2014年7月10日 下午8:12:21 | |
47 | + * @author yangjianjun | |
48 | + */ | |
49 | + public void sendMQAttribute(Object attrId, int oper) { | |
50 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
51 | + mapMQ.put("attrId", attrId); | |
52 | + mapMQ.put("oper", oper); | |
53 | + this.send("Titan_Attribute", JSONArray.toJSON(mapMQ).toString()); | |
54 | + } | |
55 | + | |
56 | + /** | |
57 | + * this method is 发送类目mq消息 | |
58 | + * | |
59 | + * @param oper | |
60 | + * @createTime 2014年7月10日 下午8:12:29 | |
61 | + * @author yangjianjun | |
62 | + */ | |
63 | + public void sendMQCategory(Object cateId, int oper) { | |
64 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
65 | + mapMQ.put("cateId", cateId); | |
66 | + mapMQ.put("oper", oper); | |
67 | + this.send("Titan_Category", JSONArray.toJSON(mapMQ).toString()); | |
68 | + } | |
69 | + | |
70 | + /** | |
71 | + * this method is 发送产品mq消息 | |
72 | + * | |
73 | + * @param pid | |
74 | + * @param oper | |
75 | + * @createTime 2014年7月10日 下午8:13:11 | |
76 | + * @author yangjianjun | |
77 | + */ | |
78 | + public void sendMQProduct(Object pid, int oper) { | |
79 | + if (pid.toString().startsWith("1") || pid.toString().startsWith("8")) { | |
80 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
81 | + mapMQ.put("pid", pid); | |
82 | + mapMQ.put("oper", oper); | |
83 | + this.send("Titan_Product", JSONArray.toJSON(mapMQ).toString()); | |
84 | + } | |
85 | + } | |
86 | + | |
87 | + /** | |
88 | + * this method is 供应信息MQ | |
89 | + * @param pid | |
90 | + * @param oper | |
91 | + * @createTime 2014年12月25日 上午10:28:47 | |
92 | + * @author yangwd | |
93 | + */ | |
94 | + public void sendMQSupply(Object pid, int oper) { | |
95 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
96 | + mapMQ.put("pid", pid); | |
97 | + mapMQ.put("oper", oper); | |
98 | + this.send("Titan_Supply", JSONArray.toJSON(mapMQ).toString()); | |
99 | + } | |
100 | + | |
101 | + /** | |
102 | + * this method is 求购信息MQ | |
103 | + * @param pid | |
104 | + * @param oper | |
105 | + * @createTime 2014年12月25日 上午10:29:13 | |
106 | + * @author yangwd | |
107 | + */ | |
108 | + public void sendMQPurchase(Object pid, int oper) { | |
109 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
110 | + mapMQ.put("pid", pid); | |
111 | + mapMQ.put("oper", oper); | |
112 | + this.send("Titan_Purchase", JSONArray.toJSON(mapMQ).toString()); | |
113 | + } | |
114 | + | |
115 | + /** | |
116 | + * this method is 预售信息MQ | |
117 | + * @param pid | |
118 | + * @param oper | |
119 | + * @createTime 2014年12月25日 上午10:29:13 | |
120 | + * @author yangwd | |
121 | + */ | |
122 | + public void sendMQPresale(Object pid, int oper) { | |
123 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
124 | + mapMQ.put("pid", pid); | |
125 | + mapMQ.put("oper", oper); | |
126 | + this.send("Titan_Presale", JSONArray.toJSON(mapMQ).toString()); | |
127 | + } | |
128 | + | |
129 | + /** | |
130 | + * this method is 商品分类置顶排序信息MQ | |
131 | + * @param cid | |
132 | + * @param oper | |
133 | + * @createTime 2014年12月25日 上午10:29:13 | |
134 | + * @author yangwd | |
135 | + */ | |
136 | + public void sendMQProductSearch(Object cid, int type,int oper) { | |
137 | + Map<String, Object> mapMQ = new HashMap<String, Object>(); | |
138 | + mapMQ.put("cid", cid); | |
139 | + mapMQ.put("type", type); | |
140 | + mapMQ.put("oper", oper); | |
141 | + this.send("Titan_Product_Search_Cate", JSONArray.toJSON(mapMQ).toString()); | |
142 | + } | |
143 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/redis/JedisClient.java
0 → 100644
1 | +package com.dili.titan.redis; | |
2 | + | |
3 | +import org.springframework.data.redis.core.BoundListOperations; | |
4 | +import org.springframework.data.redis.core.BoundSetOperations; | |
5 | +import org.springframework.data.redis.core.HashOperations; | |
6 | +import org.springframework.data.redis.core.RedisTemplate; | |
7 | +import org.springframework.stereotype.Component; | |
8 | + | |
9 | +import javax.annotation.Resource; | |
10 | +import java.util.Collection; | |
11 | +import java.util.List; | |
12 | +import java.util.Set; | |
13 | +import java.util.concurrent.TimeUnit; | |
14 | + | |
15 | +@Component("jedisClient") | |
16 | +public class JedisClient { | |
17 | + | |
18 | + @Resource(name = "jedisTemplate") | |
19 | + private RedisTemplate<String, String> template; | |
20 | + private static final String titan_Index = "titan_"; | |
21 | + public static final long expireTime = 3; //小时 | |
22 | + | |
23 | + /** | |
24 | + * Redis Key exists or not | |
25 | + * @param redisKey | |
26 | + * @return | |
27 | + * @createTime 2014年5月29日 下午2:56:52 | |
28 | + * @author celine | |
29 | + */ | |
30 | + public boolean exists(String redisKey) { | |
31 | + redisKey = titan_Index + redisKey; | |
32 | + return template.hasKey(redisKey); | |
33 | + } | |
34 | + | |
35 | + /** | |
36 | + * | |
37 | + * | |
38 | + * @param key | |
39 | + * @param hashKey | |
40 | + * @return | |
41 | + */ | |
42 | + public boolean hasKey(String key, String hashKey) { | |
43 | + key = titan_Index + key; | |
44 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
45 | + return hashOps.hasKey(key, hashKey); | |
46 | + } | |
47 | + | |
48 | + /** | |
49 | + * map put | |
50 | + * | |
51 | + * @param key | |
52 | + * @param hashKey | |
53 | + * @param value | |
54 | + */ | |
55 | +// public void hput(String key, String hashKey, String value) { | |
56 | +// HashOperations<String, String, String> hashOps = template.opsForHash(); | |
57 | +// hashOps.put(key, hashKey, value); | |
58 | +// } | |
59 | + | |
60 | + public void hput(String key, String hashKey, String value, long expireTime) { | |
61 | + key = titan_Index + key; | |
62 | + template.expire(key, expireTime, TimeUnit.HOURS); | |
63 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
64 | + hashOps.put(key, hashKey, value); | |
65 | + } | |
66 | + /** | |
67 | + * map get | |
68 | + * | |
69 | + * @param key the map name(new HashMap("name")) | |
70 | + * @param hashKey the field key | |
71 | + * @return | |
72 | + */ | |
73 | + public String hget(String key, String hashKey) { | |
74 | + key = titan_Index + key; | |
75 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
76 | + return hashOps.get(key, hashKey); | |
77 | + } | |
78 | + | |
79 | + /** | |
80 | + * map del | |
81 | + * | |
82 | + * @param key | |
83 | + * @param hashKey | |
84 | + */ | |
85 | + public void hdel(String key, String hashKey) { | |
86 | + key = titan_Index + key; | |
87 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
88 | + hashOps.delete(key, hashKey); | |
89 | + } | |
90 | + | |
91 | + /** | |
92 | + * 根据多个key查询values | |
93 | + * | |
94 | + * @param key | |
95 | + * @param hashKeys | |
96 | + */ | |
97 | + public List<String> hmultiget(String key, Collection<String> hashKeys) { | |
98 | + key = titan_Index + key; | |
99 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
100 | + return hashOps.multiGet(key, hashKeys); | |
101 | + } | |
102 | + | |
103 | + /** | |
104 | + * map size | |
105 | + * | |
106 | + * @param key | |
107 | + * @return | |
108 | + */ | |
109 | + public long hlen(String key) { | |
110 | + key = titan_Index + key; | |
111 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
112 | + return hashOps.size(key); | |
113 | + } | |
114 | + | |
115 | + /** | |
116 | + * all keys in the map | |
117 | + * | |
118 | + * @param key | |
119 | + * @return | |
120 | + */ | |
121 | + public Set<String> hkeys(String key) { | |
122 | + key = titan_Index + key; | |
123 | + HashOperations<String, String, String> hashOps = template.opsForHash(); | |
124 | + return hashOps.keys(key); | |
125 | + } | |
126 | + | |
127 | +// /** | |
128 | +// * set add | |
129 | +// * | |
130 | +// * @param key | |
131 | +// * @param values | |
132 | +// */ | |
133 | +// public void sadd(String key, String... values) { | |
134 | +// BoundSetOperations<String, String> setOps = template.boundSetOps(key); | |
135 | +// setOps.add(values); | |
136 | +// } | |
137 | + public void sadd(String key,long expireTime, String... values) { | |
138 | + key = titan_Index + key; | |
139 | + template.expire(key, expireTime, TimeUnit.HOURS); | |
140 | + BoundSetOperations<String, String> setOps = template.boundSetOps(key); | |
141 | + setOps.add(values); | |
142 | + } | |
143 | + | |
144 | + /** | |
145 | + * set all values | |
146 | + * | |
147 | + * @param key | |
148 | + * @return | |
149 | + */ | |
150 | + public Set<String> smembers(String key) { | |
151 | + key = titan_Index + key; | |
152 | + BoundSetOperations<String, String> setOps = template.boundSetOps(key); | |
153 | + return setOps.members(); | |
154 | + } | |
155 | + | |
156 | + /** | |
157 | + * remove object from set | |
158 | + * | |
159 | + * | |
160 | + * @param key | |
161 | + * @param values | |
162 | + * @return | |
163 | + */ | |
164 | + public Long sremove(String key, Object... values) { | |
165 | + key = titan_Index + key; | |
166 | + BoundSetOperations<String, String> setOps = template.boundSetOps(key); | |
167 | + return setOps.remove(values); | |
168 | + }; | |
169 | + | |
170 | + /** | |
171 | + * set size | |
172 | + * | |
173 | + * @param key | |
174 | + * @param values | |
175 | + * @return | |
176 | + */ | |
177 | + public Long slen(String key, Object... values) { | |
178 | + key = titan_Index + key; | |
179 | + BoundSetOperations<String, String> setOps = template.boundSetOps(key); | |
180 | + return setOps.size(); | |
181 | + }; | |
182 | + | |
183 | + /** | |
184 | + * 删除redis中的key及所有数据(谨慎使用) | |
185 | + * | |
186 | + * @param key | |
187 | + */ | |
188 | + public void delKey(String key) { | |
189 | + key = titan_Index + key; | |
190 | + template.delete(key); | |
191 | + } | |
192 | + /** | |
193 | + * 移除并返回列表 key 的尾元素。 | |
194 | + * | |
195 | + * @param key | |
196 | + * @return | |
197 | + */ | |
198 | + public String lrpop(String key) { | |
199 | + BoundListOperations<String, String> listOps = template.boundListOps(key); | |
200 | + return listOps.rightPop(); | |
201 | + }; | |
202 | + /** | |
203 | + * list left push | |
204 | + * | |
205 | + * @param key | |
206 | + * @param value | |
207 | + * @return | |
208 | + */ | |
209 | + public Long llpush(String key, String value) { | |
210 | + key = titan_Index + key; | |
211 | + BoundListOperations<String, String> listOps = template.boundListOps(key); | |
212 | + return listOps.leftPush(value); | |
213 | + }; | |
214 | + | |
215 | + /** | |
216 | + * list left push all | |
217 | + * | |
218 | + * @param key | |
219 | + * @param values | |
220 | + * @return | |
221 | + */ | |
222 | + public Long llpush(String key, String... values) { | |
223 | + key = titan_Index + key; | |
224 | + BoundListOperations<String, String> listOps = template.boundListOps(key); | |
225 | + return listOps.leftPushAll(values); | |
226 | + }; | |
227 | + | |
228 | + public List<String> lrange(String key,long start, long end) { | |
229 | + key = titan_Index + key; | |
230 | + BoundListOperations<String, String> listOps = template.boundListOps(key); | |
231 | + return listOps.range(start, end); | |
232 | + }; | |
233 | + | |
234 | + /** | |
235 | + * 返回列表 key 的长度。 | |
236 | + * | |
237 | + * @param key | |
238 | + * @return | |
239 | + */ | |
240 | + public Long lsize(String key) { | |
241 | + key = titan_Index + key; | |
242 | + BoundListOperations<String, String> listOps = template.boundListOps(key); | |
243 | + return listOps.size(); | |
244 | + }; | |
245 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/rpc/ConfigRPC.java
0 → 100644
1 | +package com.dili.titan.rpc; | |
2 | + | |
3 | +import com.alibaba.fastjson.JSON; | |
4 | +import com.dili.titan.domain.RedisKeyConstant; | |
5 | +import com.dili.titan.redis.JedisClient; | |
6 | +import com.diligrp.website.web.interfaces.WebsiteClient; | |
7 | +import com.diligrp.website.web.interfaces.domain.output.BaseResp; | |
8 | +import com.diligrp.website.web.interfaces.domain.output.DataDictionaryValueResp; | |
9 | +import com.diligrp.website.web.interfaces.domain.output.PickUpPointResp; | |
10 | +import org.apache.commons.lang.StringUtils; | |
11 | +import org.springframework.stereotype.Component; | |
12 | + | |
13 | +import javax.annotation.Resource; | |
14 | + | |
15 | +/** | |
16 | + * <p>Title: 〈标题〉</p> | |
17 | + * <p>Description: 〈描述〉</p> | |
18 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
19 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
20 | + * <B>Company</B> 地利集团 | |
21 | + * <p>CreateTime:2014/6/10</p> | |
22 | + * | |
23 | + * @author chenzhiwei | |
24 | + */ | |
25 | +@Component | |
26 | +public class ConfigRPC { | |
27 | + @Resource | |
28 | + private WebsiteClient websiteClient; | |
29 | + @Resource(name = "jedisClient") | |
30 | + private JedisClient client; | |
31 | + | |
32 | + /** | |
33 | + * 根据 市场ID获取市场 | |
34 | + * @param id | |
35 | + * @return | |
36 | + */ | |
37 | + public PickUpPointResp getPickUpInfoById(Long id){ | |
38 | + PickUpPointResp resp = null; | |
39 | + String rs = client.hget(RedisKeyConstant.PICKUPINFO,id.toString()); | |
40 | + if(StringUtils.isEmpty(rs)){ | |
41 | + resp = websiteClient.getPickUpApiService().getPickupById(id); | |
42 | + if(resp!=null){ | |
43 | + client.hput(RedisKeyConstant.PICKUPINFO,id.toString(), JSON.toJSONString(resp),1); | |
44 | + } | |
45 | + }else{ | |
46 | + resp = JSON.parseObject(rs, PickUpPointResp.class); | |
47 | + } | |
48 | + return resp; | |
49 | + } | |
50 | + | |
51 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/AttributeService.java
0 → 100644
1 | +package com.dili.titan.service.impl; | |
2 | + | |
3 | +import com.dili.titan.dao.impl.AttributeDao; | |
4 | +import com.dili.titan.domain.Attribute; | |
5 | +import com.dili.titan.domain.AttributeValue; | |
6 | +import org.springframework.stereotype.Service; | |
7 | + | |
8 | +import javax.annotation.Resource; | |
9 | +import java.util.List; | |
10 | + | |
11 | +@Service("attributeService") | |
12 | +public class AttributeService { | |
13 | + @Resource(name = "attributeDao") | |
14 | + private AttributeDao attributeDao; | |
15 | + | |
16 | + /** | |
17 | + * 根据属性ID获取属性信息 | |
18 | + * | |
19 | + * @param id | |
20 | + * @return | |
21 | + */ | |
22 | + public Attribute getAttributeById(Long id) { | |
23 | + return attributeDao.selectEntry(id); | |
24 | + } | |
25 | + | |
26 | + /** | |
27 | + * 查询属性的所有属性值 | |
28 | + * | |
29 | + * @return | |
30 | + */ | |
31 | + public List<Attribute> getAllAttribute() { | |
32 | + return attributeDao.getAllAttribute(); | |
33 | + } | |
34 | + | |
35 | + /** | |
36 | + * 查询属性的所有属性值 | |
37 | + * | |
38 | + * @param attrId | |
39 | + * @return | |
40 | + */ | |
41 | + public List<AttributeValue> getAttributeValues(long attrId) { | |
42 | + return attributeDao.getAttributeValues(attrId); | |
43 | + } | |
44 | + | |
45 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/CategoryService.java
0 → 100644
1 | +package com.dili.titan.service.impl; | |
2 | + | |
3 | +import com.dili.titan.dao.impl.CategoryDao; | |
4 | +import com.dili.titan.domain.Category; | |
5 | +import com.dili.titan.domain.CategoryAttr; | |
6 | +import org.springframework.stereotype.Service; | |
7 | + | |
8 | +import javax.annotation.Resource; | |
9 | +import java.util.ArrayList; | |
10 | +import java.util.Collections; | |
11 | +import java.util.List; | |
12 | + | |
13 | +@Service("categoryService") | |
14 | +public class CategoryService { | |
15 | + @Resource(name = "categoryDao") | |
16 | + private CategoryDao categoryDao; | |
17 | + | |
18 | + public List<Category> getAllCategory() { | |
19 | + return categoryDao.selectAllCategory(); | |
20 | + } | |
21 | + | |
22 | + public Category getCategoryById(int id) { | |
23 | + return categoryDao.selectEntry(id); | |
24 | + } | |
25 | + | |
26 | + public List<CategoryAttr> getCategoryAttrById(int cateId) { | |
27 | + return categoryDao.getCategoryAttrById(cateId); | |
28 | + } | |
29 | + | |
30 | + /** | |
31 | + * this method is 可搜索属性 | |
32 | + * @param cateId | |
33 | + * @return | |
34 | + * @createTime 2014年9月30日 上午11:15:52 | |
35 | + * @author yangjianjun | |
36 | + */ | |
37 | + public List<CategoryAttr> getCategorySeacherAttrById(int cateId) { | |
38 | + return categoryDao.getCategorySeacherAttrById(cateId); | |
39 | + } | |
40 | + | |
41 | + | |
42 | + public List<Integer> getChildByCid(int cateId) { | |
43 | + return categoryDao.getChildByCid(cateId); | |
44 | + } | |
45 | + | |
46 | + /** | |
47 | + * 根据分类ID获取当前分类的父分类 | |
48 | + * @param cateId | |
49 | + * @return | |
50 | + */ | |
51 | + public List<Integer> getAllParentCate(Integer cateId){ | |
52 | + List<Integer> list = getAllParent(cateId,null); | |
53 | + list.remove(cateId); | |
54 | + Collections.sort(list); | |
55 | + return list; | |
56 | + } | |
57 | + | |
58 | + private List<Integer> getAllParent(int cateId,List<Integer> list){ | |
59 | + if(list==null){ | |
60 | + list = new ArrayList<Integer>(); | |
61 | + } | |
62 | + Category category = this.getCategoryById(cateId); | |
63 | + if(category==null){ | |
64 | + return list; | |
65 | + } | |
66 | + if (category.getParent()>0) { | |
67 | + list.add(category.getId()); | |
68 | + getAllParent(category.getParent().intValue(), list); | |
69 | + }else{ | |
70 | + list.add(category.getId()); | |
71 | + } | |
72 | + return list; | |
73 | + } | |
74 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/PresaleService.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.service.impl; | |
6 | + | |
7 | +import com.alibaba.fastjson.JSON; | |
8 | +import com.dili.titan.dao.gq.PresaleDao; | |
9 | +import com.dili.titan.dao.gq.SupplyDao; | |
10 | +import com.dili.titan.domain.Category; | |
11 | +import com.dili.titan.domain.gq.Presale; | |
12 | +import com.dili.titan.domain.gq.Supply; | |
13 | +import com.dili.titan.redis.JedisClient; | |
14 | +import org.apache.commons.collections.CollectionUtils; | |
15 | +import org.apache.log4j.Logger; | |
16 | +import org.springframework.stereotype.Service; | |
17 | +import org.springframework.util.StringUtils; | |
18 | + | |
19 | +import javax.annotation.Resource; | |
20 | +import java.util.ArrayList; | |
21 | +import java.util.List; | |
22 | + | |
23 | +/** | |
24 | + * <B>Description</B> 供应信息 <br /> | |
25 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
26 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
27 | + * <B>Company</B> 地利集团 | |
28 | + * | |
29 | + * @createTime 2014年12月17日 下午4:31:29 | |
30 | + * @author ywd | |
31 | + */ | |
32 | +@Service | |
33 | +public class PresaleService { | |
34 | + | |
35 | + @Resource | |
36 | + private PresaleDao presaleDao; | |
37 | + /** | |
38 | + * this method is 查看第三方供应信息 | |
39 | + * @param pid | |
40 | + * @return | |
41 | + * @createTime 2014年12月17日 下午4:38:31 | |
42 | + * @author ywd | |
43 | + */ | |
44 | + public Presale findByKey(Long pid) { | |
45 | + return presaleDao.selectEntry(pid); | |
46 | + } | |
47 | + | |
48 | + /** | |
49 | + * 更新用户手机号 | |
50 | + * @param userId | |
51 | + * @param phone | |
52 | + */ | |
53 | + public void updatePhone(Long userId,String phone){ | |
54 | + presaleDao.updatePhone(userId, phone); | |
55 | + } | |
56 | + | |
57 | + /** | |
58 | + * 获取用户发布的所有信息 | |
59 | + * @param userId | |
60 | + * @return | |
61 | + */ | |
62 | + public List<Presale> findByUserId(Long userId){ | |
63 | + Presale query = new Presale(); | |
64 | + query.setUserId(userId); | |
65 | + return presaleDao.selectEntryList(query); | |
66 | + } | |
67 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/ProductPopService.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.service.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.BaseDao; | |
8 | +import com.dili.titan.dao.impl.ProductPopDao; | |
9 | +import com.dili.titan.domain.ProductPop; | |
10 | +import org.springframework.stereotype.Service; | |
11 | + | |
12 | +import javax.annotation.Resource; | |
13 | +import java.util.List; | |
14 | + | |
15 | + | |
16 | +/** | |
17 | + * <B>Description</B> TODO <br /> | |
18 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
19 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
20 | + * <B>Company</B> 地利集团 | |
21 | + * @createTime 2014年11月25日 上午11:47:59 | |
22 | + * @author ywd | |
23 | + */ | |
24 | +@Service("productPopService") | |
25 | +public class ProductPopService{ | |
26 | + | |
27 | + @Resource | |
28 | + private ProductPopDao productPopDao; | |
29 | + | |
30 | + public BaseDao<ProductPop,Long> getDao() { | |
31 | + return productPopDao; | |
32 | + } | |
33 | + public int update(long shopId,long cityId){ | |
34 | + return productPopDao.update(shopId, cityId); | |
35 | + } | |
36 | + | |
37 | + public int updateCityId(long shopId,int cityId){ | |
38 | + return productPopDao.updateCityId(shopId, cityId); | |
39 | + } | |
40 | + | |
41 | + public List<Long> getProductPopList(long shopId){ | |
42 | + return productPopDao.getProductPopList(shopId); | |
43 | + } | |
44 | + | |
45 | + public int updateShopName(long shopId,String shopName){ | |
46 | + return productPopDao.updateShopName(shopId, shopName); | |
47 | + } | |
48 | + | |
49 | + public int updateUserName(long userId,String userName){ | |
50 | + return productPopDao.updateUserName(userId, userName); | |
51 | + } | |
52 | + | |
53 | + public int updateMarket(long shopId,long marketId,String marketName){ | |
54 | + return productPopDao.updateMarket(shopId, marketId,marketName); | |
55 | + } | |
56 | + | |
57 | + public List<Long> selectDropsProduct(Long shopId){ | |
58 | + return productPopDao.selectDropsProduct(shopId); | |
59 | + } | |
60 | + | |
61 | + public int dropsProduct(Long shopId){ | |
62 | + return productPopDao.dropsProduct(shopId); | |
63 | + } | |
64 | + | |
65 | + public List<Long> selectDelProduct(Long shopId){ | |
66 | + return productPopDao.selectDelProduct(shopId); | |
67 | + } | |
68 | + | |
69 | + public int delProduct(Long shopId){ | |
70 | + return productPopDao.delProduct(shopId); | |
71 | + } | |
72 | + | |
73 | +} | |
0 | 74 | \ No newline at end of file | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/PurchaseService.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.service.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.gq.PurchaseDao; | |
8 | +import com.dili.titan.domain.gq.Presale; | |
9 | +import com.dili.titan.domain.gq.Purchase; | |
10 | +import org.apache.log4j.Logger; | |
11 | +import org.springframework.stereotype.Service; | |
12 | + | |
13 | +import javax.annotation.Resource; | |
14 | +import java.util.List; | |
15 | + | |
16 | + | |
17 | +/** | |
18 | + * <B>Description</B> 求购信息 <br /> | |
19 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
20 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
21 | + * <B>Company</B> 地利集团 | |
22 | + * @createTime 2014年12月18日 下午5:00:00 | |
23 | + * @author ywd | |
24 | + */ | |
25 | +@Service("purchaseService") | |
26 | +public class PurchaseService{ | |
27 | + | |
28 | + @Resource | |
29 | + private PurchaseDao purchaseDao; | |
30 | + /** | |
31 | + * this method is 查看第三方供应信息 | |
32 | + * @param pid | |
33 | + * @return | |
34 | + * @createTime 2014年12月17日 下午4:38:31 | |
35 | + * @author ywd | |
36 | + */ | |
37 | + public Purchase findByKey(Long pid) { | |
38 | + return purchaseDao.selectEntry(pid); | |
39 | + } | |
40 | + | |
41 | + /** | |
42 | + * 更新用户手机号 | |
43 | + * @param userId | |
44 | + * @param phone | |
45 | + */ | |
46 | + public void updatePhone(Long userId,String phone){ | |
47 | + purchaseDao.updatePhone(userId,phone); | |
48 | + } | |
49 | + | |
50 | + /** | |
51 | + * 获取用户发布的所有信息 | |
52 | + * @param userId | |
53 | + * @return | |
54 | + */ | |
55 | + public List<Purchase> findByUserId(Long userId){ | |
56 | + Purchase query = new Purchase(); | |
57 | + query.setUserId(userId); | |
58 | + return purchaseDao.selectEntryList(query); | |
59 | + } | |
60 | +} | ... | ... |
titan-cache/src/main/java/com/dili/titan/service/impl/SupplyService.java
0 → 100644
1 | +/* | |
2 | + * Copyright (c) 2014 www.diligrp.com All rights reserved. | |
3 | + * 本软件源代码版权归----所有,未经许可不得任意复制与传播. | |
4 | + */ | |
5 | +package com.dili.titan.service.impl; | |
6 | + | |
7 | +import com.dili.titan.dao.gq.SupplyDao; | |
8 | +import com.dili.titan.domain.gq.Supply; | |
9 | +import org.springframework.stereotype.Service; | |
10 | + | |
11 | +import javax.annotation.Resource; | |
12 | +import java.util.List; | |
13 | + | |
14 | +/** | |
15 | + * <B>Description</B> 供应信息 <br /> | |
16 | + * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br /> | |
17 | + * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br /> | |
18 | + * <B>Company</B> 地利集团 | |
19 | + * | |
20 | + * @createTime 2014年12月17日 下午4:31:29 | |
21 | + * @author ywd | |
22 | + */ | |
23 | +@Service("supplyService") | |
24 | +public class SupplyService { | |
25 | + @Resource | |
26 | + private SupplyDao supplyDao; | |
27 | + public Supply findByKey(Long pid) { | |
28 | + return supplyDao.selectEntry(pid); | |
29 | + } | |
30 | + /** | |
31 | + * 更新用户手机号 | |
32 | + * @param userId | |
33 | + * @param phone | |
34 | + */ | |
35 | + public void updatePhone(Long userId,String phone){ | |
36 | + supplyDao.updatePhone(userId,phone); | |
37 | + } | |
38 | + /** | |
39 | + * 获取用户发布的所有信息 | |
40 | + * @param userId | |
41 | + * @return | |
42 | + */ | |
43 | + public List<Supply> findByUserId(Long userId){ | |
44 | + Supply query = new Supply(); | |
45 | + query.setUserId(userId); | |
46 | + return supplyDao.selectEntryList(query); | |
47 | + } | |
48 | + | |
49 | +} | ... | ... |
titan-cache/src/main/resources/important.properties
0 → 100644
1 | +#数据库连接池信息 | |
2 | +jdbc.driverClass=${titan.jdbc.driver} | |
3 | +jdbc.maxActive=10 | |
4 | +jdbc.initialSize=1 | |
5 | +jdbc.maxWait=60000 | |
6 | +jdbc.minIdle=1 | |
7 | +jdbc.timeBetweenEvictionRunsMillis=60000 | |
8 | +jdbc.minEvictableIdleTimeMillis=300000 | |
9 | +jdbc.poolPreparedStatements=true | |
10 | +jdbc.maxOpenPreparedStatements=20 | |
11 | +#jdbc.maxConnectionsPerPartition=3 | |
12 | +#jdbc.minConnectionsPerPartition=1 | |
13 | +#jdbc.idleConnectionTestPeriod=10 | |
14 | +#jdbc.idleMaxAge=240 | |
15 | +#jdbc.partitionCount=2 | |
16 | +#jdbc.acquireIncrement=5 | |
17 | +#jdbc.statementsCacheSize=20 | |
18 | +#jdbc.releaseHelperThreads=3 | |
19 | + | |
20 | +#数据库信息 | |
21 | +jdbc.jdbcUrl=${titan.jdbc.url} | |
22 | +jdbc.username=${titan.jdbc.username} | |
23 | +jdbc.password=${titan.jdbc.password} | |
24 | + | |
25 | +mq.attribute.topic=Titan.Cache.Attribute | |
26 | +mq.category.topic=Titan.Cache.Category | |
27 | +mq.product.topic=Titan.Cache.Product | |
28 | +mq.supply.topic=Titan.Cache.Supply | |
29 | +mq.purchase.topic=Titan.Cache.Purchase | |
30 | + | |
31 | +mq.pnr.tag=pnr | |
32 | +#MQ\u540d\u79f0\u7a7a\u95f4\u5730\u5740 | |
33 | +mq.namesrvAddr=${conf.mq.namesrvAddr} | |
34 | +#MQ\u751f\u4ea7\u8005\u7ec4 | |
35 | +mq.producerGroup=${conf.mq.producerGroup} | |
0 | 36 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/log4j.xml
0 → 100644
1 | +<?xml version='1.0' encoding='UTF-8' ?> | |
2 | +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> | |
3 | +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> | |
4 | + <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> | |
5 | + <layout class="org.apache.log4j.PatternLayout"> | |
6 | + <param name="ConversionPattern" | |
7 | + value="[%5p] [%d{yyyy-MM-dd HH:mm:ss SSS}] [%t] (%F:%L) %m%n"/> | |
8 | + </layout> | |
9 | + </appender> | |
10 | + | |
11 | + <!--默认日志 --> | |
12 | + <appender name="FILE_ALL" class="org.apache.log4j.DailyRollingFileAppender"> | |
13 | + <param name="Encoding" value="UTF-8"/> | |
14 | + <param name="File" | |
15 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/all.log"/> | |
16 | + <layout class="org.apache.log4j.PatternLayout"> | |
17 | + <param name="ConversionPattern" | |
18 | + value="[%5p] [%d{yyyy-MM-dd HH:mm:ss SSS}] [%t] (%F:%L) %m%n"/> | |
19 | + </layout> | |
20 | + </appender> | |
21 | + | |
22 | + <category name="DEFALUT" additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
23 | + <priority value="${dili_titan.log.level}"/> | |
24 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
25 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
26 | + </category> | |
27 | + | |
28 | + <!--商品日志 --> | |
29 | + <appender name="PRODUCT" class="org.apache.log4j.DailyRollingFileAppender"> | |
30 | + <param name="Encoding" value="UTF-8"/> | |
31 | + <param name="File" | |
32 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/product.log"/> | |
33 | + <layout class="org.apache.log4j.PatternLayout"> | |
34 | + <param name="ConversionPattern" | |
35 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
36 | + </layout> | |
37 | + </appender> | |
38 | + | |
39 | + <category name="TITAN_PRODUCT" | |
40 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
41 | + <priority value="${dili_titan.log.level}"/> | |
42 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
43 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
44 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
45 | + <appender-ref ref="PRODUCT"/> | |
46 | + </category> | |
47 | + | |
48 | + <!--类目日志 --> | |
49 | + <appender name="CATEGORY" class="org.apache.log4j.DailyRollingFileAppender"> | |
50 | + <param name="Encoding" value="UTF-8"/> | |
51 | + <param name="File" | |
52 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/category.log"/> | |
53 | + <layout class="org.apache.log4j.PatternLayout"> | |
54 | + <param name="ConversionPattern" | |
55 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
56 | + </layout> | |
57 | + </appender> | |
58 | + | |
59 | + <category name="TITAN_CATEGORY" | |
60 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
61 | + <priority value="${dili_titan.log.level}"/> | |
62 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
63 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
64 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
65 | + <appender-ref ref="CATEGORY"/> | |
66 | + </category> | |
67 | + | |
68 | + <!--属性日志 --> | |
69 | + <appender name="ATTRIBUTE" class="org.apache.log4j.DailyRollingFileAppender"> | |
70 | + <param name="Encoding" value="UTF-8"/> | |
71 | + <param name="File" | |
72 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/attribute.log"/> | |
73 | + <layout class="org.apache.log4j.PatternLayout"> | |
74 | + <param name="ConversionPattern" | |
75 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
76 | + </layout> | |
77 | + </appender> | |
78 | + | |
79 | + <category name="TITAN_ATTRIBUTE" | |
80 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
81 | + <priority value="${dili_titan.log.level}"/> | |
82 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
83 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
84 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
85 | + <appender-ref ref="CATEGORY"/> | |
86 | + </category> | |
87 | + | |
88 | + <!--线下商品日志 --> | |
89 | + <appender name="PRODUCT_OFFLINE" class="org.apache.log4j.DailyRollingFileAppender"> | |
90 | + <param name="Encoding" value="UTF-8"/> | |
91 | + <param name="File" | |
92 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/productOffline.log"/> | |
93 | + <layout class="org.apache.log4j.PatternLayout"> | |
94 | + <param name="ConversionPattern" | |
95 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
96 | + </layout> | |
97 | + </appender> | |
98 | + | |
99 | + <category name="TITAN_PRODUCT_OFFLINE" | |
100 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
101 | + <priority value="${dili_titan.log.level}"/> | |
102 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
103 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
104 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
105 | + <appender-ref ref="PRODUCT_OFFLINE"/> | |
106 | + </category> | |
107 | + | |
108 | + <!--供应信息日志 --> | |
109 | + <appender name="SUPPLY" | |
110 | + class="org.apache.log4j.DailyRollingFileAppender"> | |
111 | + <param name="Encoding" value="UTF-8"/> | |
112 | + <param name="File" | |
113 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/supply.log"/> | |
114 | + <layout class="org.apache.log4j.PatternLayout"> | |
115 | + <param name="ConversionPattern" | |
116 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
117 | + </layout> | |
118 | + </appender> | |
119 | + | |
120 | + <category name="TITAN_SUPPLY" | |
121 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
122 | + <priority value="${dili_titan.log.level}"/> | |
123 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
124 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
125 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
126 | + <appender-ref ref="SUPPLY"/> | |
127 | + </category> | |
128 | + | |
129 | + <!--预售信息日志 --> | |
130 | + <appender name="PRESALE" | |
131 | + class="org.apache.log4j.DailyRollingFileAppender"> | |
132 | + <param name="Encoding" value="UTF-8"/> | |
133 | + <param name="File" | |
134 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/presale.log"/> | |
135 | + <layout class="org.apache.log4j.PatternLayout"> | |
136 | + <param name="ConversionPattern" | |
137 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
138 | + </layout> | |
139 | + </appender> | |
140 | + | |
141 | + <category name="TITAN_PRESALE" | |
142 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
143 | + <priority value="${dili_titan.log.level}"/> | |
144 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
145 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
146 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
147 | + <appender-ref ref="PRESALE"/> | |
148 | + </category> | |
149 | + | |
150 | + <!--求购信息日志 --> | |
151 | + <appender name="PURCHASE" | |
152 | + class="org.apache.log4j.DailyRollingFileAppender"> | |
153 | + <param name="Encoding" value="UTF-8"/> | |
154 | + <param name="File" | |
155 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/purchase.log"/> | |
156 | + <layout class="org.apache.log4j.PatternLayout"> | |
157 | + <param name="ConversionPattern" | |
158 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
159 | + </layout> | |
160 | + </appender> | |
161 | + | |
162 | + <category name="TITAN_PURCHASE" | |
163 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
164 | + <priority value="${dili_titan.log.level}"/> | |
165 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
166 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
167 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
168 | + <appender-ref ref="SUPPLY"/> | |
169 | + </category> | |
170 | + | |
171 | + <!--MQ信息 --> | |
172 | + <appender name="PRODUCT_MQ_FILE" | |
173 | + class="org.apache.log4j.DailyRollingFileAppender"> | |
174 | + <param name="Encoding" value="UTF-8"/> | |
175 | + <param name="File" | |
176 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/mq.log"/> | |
177 | + <layout class="org.apache.log4j.PatternLayout"> | |
178 | + <param name="ConversionPattern" | |
179 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
180 | + </layout> | |
181 | + </appender> | |
182 | + | |
183 | + <category name="PRODUCT_MQ" | |
184 | + additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
185 | + <priority value="${dili_titan.log.level}"/> | |
186 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
187 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
188 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
189 | + <appender-ref ref="PRODUCT_MQ_FILE"/> | |
190 | + </category> | |
191 | + | |
192 | + <!--运行时异常 --> | |
193 | + <appender name="EXCEPTION" | |
194 | + class="org.apache.log4j.DailyRollingFileAppender"> | |
195 | + <param name="Encoding" value="UTF-8"/> | |
196 | + <param name="File" | |
197 | + value="${dili_titan.log.path}/titan.cache.1n4j.com/exception.log"/> | |
198 | + <layout class="org.apache.log4j.PatternLayout"> | |
199 | + <param name="ConversionPattern" | |
200 | + value="[%p] [%d] [%r] [%c] - %m %n"/> | |
201 | + </layout> | |
202 | + </appender> | |
203 | + | |
204 | + <category name="EXCEPTION" additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
205 | + <priority value="${dili_titan.log.level}"/> | |
206 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
207 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
208 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
209 | + <appender-ref ref="EXCEPTION"/> | |
210 | + </category> | |
211 | + | |
212 | + <category name="com.dili" additivity="false"> <!-- 自定义的日志分类,请根据实际情况调整 --> | |
213 | + <priority value="${dili_titan.log.level}"/> | |
214 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
215 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
216 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
217 | + </category> | |
218 | + | |
219 | + | |
220 | + <root> | |
221 | + <priority value="${dili_titan.log.level}"/> | |
222 | + <!-- 根据实际情况修改日志级别,一般线上是INFO以上 --> | |
223 | + <appender-ref ref="${dili_titan.log.root.appender}"/> | |
224 | + <!-- 该appender需要在上线时删除,以免输出重复的日志到catalina.out文件 --> | |
225 | + <!--<appender-ref ref="FILE"/>--> | |
226 | + </root> | |
227 | +</log4j:configuration> | |
0 | 228 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config-dao.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:context="http://www.springframework.org/schema/context" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans.xsd | |
6 | + http://www.springframework.org/schema/context | |
7 | + http://www.springframework.org/schema/context/spring-context.xsd" | |
8 | + default-autowire="byName"> | |
9 | + | |
10 | + <context:component-scan base-package="com.dili.titan.dao" /> | |
11 | + | |
12 | + <!--<bean id="abstractDataSource" abstract="true" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">--> | |
13 | + <!--<property name="driverClass" value="${jdbc.driverClass}" />--> | |
14 | + <!--<property name="idleConnectionTestPeriodInMinutes" value="${jdbc.idleConnectionTestPeriod}" />--> | |
15 | + <!--<property name="idleMaxAgeInMinutes" value="${jdbc.idleMaxAge}" />--> | |
16 | + <!--<property name="maxConnectionsPerPartition" value="${jdbc.maxConnectionsPerPartition}" />--> | |
17 | + <!--<property name="minConnectionsPerPartition" value="${jdbc.minConnectionsPerPartition}" />--> | |
18 | + <!--<property name="partitionCount" value="${jdbc.partitionCount}" />--> | |
19 | + <!--<property name="acquireIncrement" value="${jdbc.acquireIncrement}" />--> | |
20 | + <!--<property name="statementsCacheSize" value="${jdbc.statementsCacheSize}" />--> | |
21 | + <!--<property name="releaseHelperThreads" value="${jdbc.releaseHelperThreads}" />--> | |
22 | + <!--</bean>--> | |
23 | + <!--<bean id="masterDataSource" parent="abstractDataSource">--> | |
24 | + <!--<property name="jdbcUrl" value="${jdbc.jdbcUrl}" />--> | |
25 | + <!--<property name="username" value="${jdbc.username}" />--> | |
26 | + <!--<property name="password" value="${jdbc.password}" />--> | |
27 | + <!--</bean>--> | |
28 | + | |
29 | + <bean id="masterDataSource" class="com.alibaba.druid.pool.DruidDataSource" | |
30 | + init-method="init" destroy-method="close"> | |
31 | + <property name="driverClassName" value="${jdbc.driverClass}"/> | |
32 | + <property name="url" value="${jdbc.jdbcUrl}"/> | |
33 | + <property name="username" value="${jdbc.username}"/> | |
34 | + <property name="password" value="${jdbc.password}"/> | |
35 | + <property name="filters" value="stat"/> | |
36 | + <property name="maxActive" value="${jdbc.maxActive}"/> | |
37 | + <property name="initialSize" value="${jdbc.initialSize}"/> | |
38 | + <property name="maxWait" value="${jdbc.maxWait}"/> | |
39 | + <property name="minIdle" value="${jdbc.minIdle}"/> | |
40 | + <property name="timeBetweenEvictionRunsMillis" | |
41 | + value="${jdbc.timeBetweenEvictionRunsMillis}"/> | |
42 | + <property name="minEvictableIdleTimeMillis" | |
43 | + value="${jdbc.minEvictableIdleTimeMillis}"/> | |
44 | + <property name="validationQuery" value="SELECT now()"/> | |
45 | + <property name="testWhileIdle" value="true"/> | |
46 | + <property name="testOnBorrow" value="false"/> | |
47 | + <property name="testOnReturn" value="false"/> | |
48 | + <property name="poolPreparedStatements" | |
49 | + value="${jdbc.poolPreparedStatements}"/> | |
50 | + <property name="maxOpenPreparedStatements" | |
51 | + value="${jdbc.maxOpenPreparedStatements}"/> | |
52 | + </bean> | |
53 | + | |
54 | + <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> | |
55 | + <property name="dataSource" ref="masterDataSource" /> | |
56 | + <property name="configLocation" value="classpath:sqlmap/sqlmap-config.xml" /> | |
57 | + </bean> | |
58 | + | |
59 | + <bean id="sqlTemplate" class="org.mybatis.spring.SqlSessionTemplate"> | |
60 | + <constructor-arg index="0" ref="sessionFactory" /> | |
61 | + </bean> | |
62 | + | |
63 | + <!-- 配置事务管理器 --> | |
64 | + <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> | |
65 | + <property name="dataSource" ref="masterDataSource" /> | |
66 | + </bean> | |
67 | +</beans> | |
0 | 68 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config-handler.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans.xsd | |
6 | + http://www.springframework.org/schema/context | |
7 | + http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd" | |
8 | + default-autowire="byName"> | |
9 | + | |
10 | + <context:component-scan base-package="com.dili.titan.handler" /> | |
11 | + <!-- 启用对事务的注解支持 --> | |
12 | + <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> | |
13 | +</beans> | |
0 | 14 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config-mq.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:context="http://www.springframework.org/schema/context" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans-3.2.xsd | |
6 | + http://www.springframework.org/schema/context | |
7 | + http://www.springframework.org/schema/context/spring-context-3.2.xsd"> | |
8 | + | |
9 | + <context:component-scan base-package="com.dili.titan.mq" /> | |
10 | + <!-- 发送消息 --> | |
11 | + <bean id="diliMQProducer" | |
12 | + class="com.diligrp.util.rocketMQUtil.impl.DiliMQProducerImpl"/> | |
13 | + <!-- 接收 --> | |
14 | + <bean id="diliMQLauncher" | |
15 | + class="com.diligrp.util.rocketMQUtil.DiliMQLauncher"/> | |
16 | +</beans> | |
0 | 17 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config-redis.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:context="http://www.springframework.org/schema/context" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans.xsd | |
6 | + http://www.springframework.org/schema/context | |
7 | + http://www.springframework.org/schema/context/spring-context.xsd" | |
8 | + default-autowire="byName"> | |
9 | + | |
10 | + <context:component-scan base-package="com.dili.titan.redis" /> | |
11 | + | |
12 | + <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> | |
13 | + <property name="maxIdle" value="6"></property> | |
14 | + <property name="minEvictableIdleTimeMillis" value="300000"></property> | |
15 | + <property name="numTestsPerEvictionRun" value="3"></property> | |
16 | + <property name="timeBetweenEvictionRunsMillis" value="60000"></property> | |
17 | + </bean> | |
18 | + | |
19 | + <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" | |
20 | + destroy-method="destroy"> | |
21 | + <property name="poolConfig" ref="jedisPoolConfig"></property> | |
22 | + <property name="hostName" value="${cache.redis.url}"></property> | |
23 | + <property name="port" value="${cache.redis.port}"></property> | |
24 | + <property name="timeout" value="15000"></property> | |
25 | + <property name="usePool" value="true"></property> | |
26 | + </bean> | |
27 | + | |
28 | + <bean id="jedisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> | |
29 | + <property name="connectionFactory" ref="jedisConnectionFactory"></property> | |
30 | + <property name="keySerializer"> | |
31 | + <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> | |
32 | + </property> | |
33 | + <property name="valueSerializer"> | |
34 | + <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> | |
35 | + </property> | |
36 | + </bean> | |
37 | +</beans> | |
0 | 38 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config-rpc.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" | |
3 | + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
4 | + xmlns:context="http://www.springframework.org/schema/context" | |
5 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
6 | + http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" | |
7 | + default-autowire="byName"> | |
8 | + <context:component-scan base-package="com.dili.titan.rpc" /> | |
9 | + <bean id="websiteClient" class="com.diligrp.website.web.interfaces.WebsiteClient"> | |
10 | + <constructor-arg name="token" value="aaa"></constructor-arg> | |
11 | + <constructor-arg name="baseUrl" value="http://${dili_titan.website.url}/"></constructor-arg> | |
12 | + </bean> | |
13 | +</beans> | ... | ... |
titan-cache/src/main/resources/spring-config-service.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:context="http://www.springframework.org/schema/context" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans.xsd | |
6 | + http://www.springframework.org/schema/context | |
7 | + http://www.springframework.org/schema/context/spring-context.xsd" | |
8 | + default-autowire="byName"> | |
9 | + | |
10 | + <context:component-scan base-package="com.dili.titan.service" /> | |
11 | + | |
12 | +</beans> | |
0 | 13 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/spring-config.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
3 | + xmlns:mvc="http://www.springframework.org/schema/mvc" | |
4 | + xsi:schemaLocation="http://www.springframework.org/schema/beans | |
5 | + http://www.springframework.org/schema/beans/spring-beans.xsd | |
6 | + | |
7 | + | |
8 | + | |
9 | + | |
10 | + http://www.springframework.org/schema/mvc | |
11 | + http://www.springframework.org/schema/mvc/spring-mvc.xsd" | |
12 | + default-autowire="byName"> | |
13 | + | |
14 | + <mvc:annotation-driven /> | |
15 | + | |
16 | + <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
17 | + <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> | |
18 | + <property name="ignoreResourceNotFound" value="true" /> | |
19 | + <property name="locations"> | |
20 | + <list> | |
21 | + <value>classpath:important.properties</value> | |
22 | + </list> | |
23 | + </property> | |
24 | + </bean> | |
25 | + | |
26 | + <import resource="classpath:spring-config-dao.xml" /> | |
27 | + <import resource="classpath:spring-config-service.xml" /> | |
28 | + <import resource="classpath:spring-config-handler.xml" /> | |
29 | + <import resource="classpath:spring-config-mq.xml" /> | |
30 | + <import resource="classpath:spring-config-redis.xml" /> | |
31 | + <import resource="classpath:spring-config-rpc.xml" /> | |
32 | +</beans> | |
0 | 33 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/Attribute.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.AttributeDao"> | |
5 | + | |
6 | + <sql id="QUERY_WHERE_CLAUSE"> | |
7 | + <where> | |
8 | + <if test="attrId != null and attrId != ''"><![CDATA[AND id = #{id}]]></if> | |
9 | + <if test="name != null and name != ''"><![CDATA[AND name = #{name}]]></if> | |
10 | + <if test="alias != null and alias != ''"><![CDATA[AND alias = #{alias}]]></if> | |
11 | + <if test="dealType != null"><![CDATA[deal_type = #{dealType},]]></if> | |
12 | + <if test="inputtype != null and inputtype != ''"><![CDATA[AND inputtype = #{inputtype}]]></if> | |
13 | + <if test="type != null and type != ''"><![CDATA[AND type = #{type}]]></if> | |
14 | + <if test="required != null and required != ''"><![CDATA[AND required = #{required}]]></if> | |
15 | + <if test="status != null and status != ''"><![CDATA[AND status = #{status}]]></if> | |
16 | + <if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if> | |
17 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
18 | + </where> | |
19 | + </sql> | |
20 | + | |
21 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
22 | + <if test="orderField != null and orderField != '' and orderType != null and orderType != ''"><![CDATA[ORDER BY ${orderField} ${orderType}]]></if> | |
23 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
24 | + </sql> | |
25 | + | |
26 | + <!-- 查询,通过主键IN(array) --> | |
27 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="attribute"> | |
28 | + <![CDATA[ SELECT id AS attrId,name,alias,deal_type AS dealType,inputtype ,type,required,status,ctime,utime FROM attribute ]]> | |
29 | + <![CDATA[WHERE id IN]]> | |
30 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
31 | + <![CDATA[#{id}]]> | |
32 | + </foreach> | |
33 | + </select> | |
34 | + <select id="selectEntry" parameterType="long" resultType="attribute"> | |
35 | + <![CDATA[SELECT id AS attrId,name,alias,deal_type AS dealType,inputtype ,type,required,status,ctime,utime FROM attribute WHERE id = #{id}]]> | |
36 | + </select> | |
37 | + | |
38 | + <select id="selectAllEntry" resultType="attribute"> | |
39 | + <![CDATA[SELECT id AS attrId,name,alias,deal_type AS dealType,inputtype ,type,required,status,ctime,utime FROM attribute]]> | |
40 | + </select> | |
41 | + | |
42 | + <select id="selectEntryList" parameterType="attribute" resultType="attribute"> | |
43 | + <![CDATA[SELECT id AS attrId,name,alias,deal_type AS dealType,inputtype,type,required,status,ctime,utime FROM attribute]]> | |
44 | + <include refid="QUERY_WHERE_CLAUSE" /> | |
45 | + <include refid="QUERY_ORDER_LIMIT_CONDTION" /> | |
46 | + </select> | |
47 | + | |
48 | + <select id="selectEntryListCount" parameterType="attribute" resultType="int"> | |
49 | + <![CDATA[SELECT COUNT(id) AS dataCount FROM attribute]]> | |
50 | + <include refid="QUERY_WHERE_CLAUSE" /> | |
51 | + </select> | |
52 | + | |
53 | + <select id="selectAttributeValue" parameterType="long" resultType="attributeValue"> | |
54 | + <![CDATA[SELECT id AS valueId,attr_id AS attrId,value,`order`,`show`,status FROM attribute_value WHERE attr_id = #{attrId} order by `order`]]> | |
55 | + </select> | |
56 | + | |
57 | +</mapper> | |
0 | 58 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/Category.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.CategoryDao"> | |
5 | + <sql id="QUERY_WHERE_CLAUSE"> | |
6 | + <where> | |
7 | + <if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if> | |
8 | + <if test="name != null and name != ''"><![CDATA[AND name = #{name}]]></if> | |
9 | + <if test="jp != null and jp != ''"><![CDATA[AND jp = #{jp}]]></if> | |
10 | + <if test="parent != null and parent != ''"><![CDATA[AND parent = #{parent}]]></if> | |
11 | + <if test="dealType != null and dealType != ''"><![CDATA[AND deal_type = #{dealType}]]></if> | |
12 | + <if test="template != null and template != ''"><![CDATA[AND template = #{template}]]></if> | |
13 | + <if test="status != null and status != ''"><![CDATA[AND status = #{status}]]></if> | |
14 | + <if test="activate != null and activate != ''"><![CDATA[AND activate = #{activate}]]></if> | |
15 | + </where> | |
16 | + </sql> | |
17 | + | |
18 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
19 | + <if test="orderField != null and orderField != '' and orderType != null and orderType != ''"><![CDATA[ORDER BY ${orderField} ${orderType}]]></if> | |
20 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
21 | + </sql> | |
22 | + <!-- 查询,通过主键IN(array) --> | |
23 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="category"> | |
24 | + <![CDATA[ SELECT id,name, jp ,alias,deal_type AS dealType,icon,parent,template,status,activate,`order` FROM category]]> | |
25 | + <![CDATA[WHERE id IN]]> | |
26 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
27 | + <![CDATA[#{id}]]> | |
28 | + </foreach> | |
29 | + </select> | |
30 | + <select id="selectEntry" parameterType="int" resultType="category"> | |
31 | + <![CDATA[SELECT id,name, jp ,alias,deal_type AS dealType,icon,parent,template,status,activate,`order` FROM category WHERE id = #{id} order by `order`]]> | |
32 | + </select> | |
33 | + | |
34 | + <select id="selectEntryList" parameterType="category" resultType="category"> | |
35 | + <![CDATA[SELECT id,name,jp ,alias,deal_type AS dealType,icon,parent,template,status,activate,`order` FROM category ]]> | |
36 | + <include refid="QUERY_WHERE_CLAUSE" /> | |
37 | + <include refid="QUERY_ORDER_LIMIT_CONDTION" /> | |
38 | + order by `order` | |
39 | + </select> | |
40 | + | |
41 | + <select id="selectAllEntry" resultType="category"> | |
42 | + <![CDATA[SELECT id,name,jp ,alias,deal_type AS dealType,icon,parent,template,status,activate,`order` FROM category order by `order`]]> | |
43 | + </select> | |
44 | + | |
45 | + <select id="selectEntryListCount" parameterType="category" resultType="int"> | |
46 | + <![CDATA[SELECT COUNT(id) AS dataCount FROM category]]> | |
47 | + <include refid="QUERY_WHERE_CLAUSE" /> | |
48 | + </select> | |
49 | + | |
50 | + <select id="selectChildById" parameterType="int" resultType="int"> | |
51 | + <![CDATA[SELECT id FROM category WHERE parent = #{id} AND status=1]]> | |
52 | + </select> | |
53 | + | |
54 | + <select id="selectCateAttrById" parameterType="int" resultType="categoryAttr"> | |
55 | + <![CDATA[SELECT id,cate_id AS catId,deal_type AS dealType,attr_id AS attrId,searchable,`order` from category_attr where cate_id = #{catId} order by `order`]]> | |
56 | + </select> | |
57 | + | |
58 | + <select id="selectCateSeacherAttrById" parameterType="int" resultType="categoryAttr"> | |
59 | + <![CDATA[SELECT id,cate_id AS catId,attr_id AS attrId,`order` FROM category_search_attr WHERE cate_id = #{catId} order by `order`]]> | |
60 | + </select> | |
61 | + | |
62 | +</mapper> | |
0 | 63 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/ProductImg.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.ProductImgDao"> | |
5 | + | |
6 | + <!-- product_img 所有查询列 --> | |
7 | + <sql id="QUERY_COLUMN_LIST"> | |
8 | + <![CDATA[id,pid,img_url AS imgUrl,img_title AS imgTitle,`order`,`desc`,ctime,utime]]> | |
9 | + </sql> | |
10 | + | |
11 | + <!-- product_img 插入 --> | |
12 | + <sql id="INSERT"> | |
13 | + <![CDATA[INSERT INTO product_img (pid,img_url,img_title,`order`,`desc`,ctime,utime)]]> | |
14 | + </sql> | |
15 | + | |
16 | + <!-- product_img 查询列来源表--> | |
17 | + <sql id="QUERY_FROM_TABLE"><![CDATA[FROM product_img]]></sql> | |
18 | + | |
19 | + <!-- 全部条件(更多功能可以通过queryData扩展实现) --> | |
20 | + <sql id="QUERY_WHERE_CLAUSE"> | |
21 | + <where> | |
22 | + <if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if> | |
23 | + <if test="pid != null and pid != ''"><![CDATA[AND pid = #{pid}]]></if> | |
24 | + <if test="imgUrl != null and imgUrl != ''"><![CDATA[AND img_url = #{imgUrl}]]></if> | |
25 | + <if test="imgTitle != null and imgTitle != ''"><![CDATA[AND imgTitle = #{imgTitle}]]></if> | |
26 | + <if test="order != null and order != ''"><![CDATA[AND `order` = #{order}]]></if> | |
27 | + <if test="desc != null and desc != ''"><![CDATA[AND desc = #{desc}]]></if> | |
28 | + <if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if> | |
29 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
30 | + </where> | |
31 | + </sql> | |
32 | + | |
33 | + <!-- 智能排序与分页 --> | |
34 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
35 | + <if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if> | |
36 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
37 | + </sql> | |
38 | + | |
39 | + <!-- 更新列字段,只要不为NULL则更新,除开主键列 --> | |
40 | + <sql id="UPDATE_COLUMN_SET"> | |
41 | + <set> | |
42 | + <if test="pid != null"><![CDATA[pid = #{pid},]]></if> | |
43 | + <if test="imgUrl != null"><![CDATA[img_url = #{imgUrl},]]></if> | |
44 | + <if test="imgTitle != null"><![CDATA[img_title = #{imgTitle,]]></if> | |
45 | + <if test="order != null"><![CDATA[`order` = #{order},]]></if> | |
46 | + <if test="desc != null"><![CDATA[desc = #{desc},]]></if> | |
47 | + <if test="ctime != null"><![CDATA[ctime = #{ctime},]]></if> | |
48 | + <if test="utime != null"><![CDATA[utime = #{utime},]]></if> | |
49 | + </set> | |
50 | + </sql> | |
51 | + | |
52 | + <!-- 插入product_img记录 --> | |
53 | + <insert id="insertEntry" parameterType="productImg" > | |
54 | + <![CDATA[ | |
55 | + INSERT INTO product_img (id,pid,img_url,img_title,`order`,desc,ctime,utime) | |
56 | + VALUES (#{id},#{pid},#{imgUrl},#{imgTitle},#{order},#{desc},now(),#{utime}) | |
57 | + ]]> | |
58 | + </insert> | |
59 | + | |
60 | + <!-- 返回插入的编号,在事务开启状态下有效 --> | |
61 | + <select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select> | |
62 | + | |
63 | + <!-- 删除记录,主键IN(array) --> | |
64 | + <delete id="deleteByArrayKey" parameterType="java.lang.reflect.Array" > | |
65 | + <![CDATA[DELETE FROM product_img WHERE id IN]]> | |
66 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
67 | + <![CDATA[#{id}]]> | |
68 | + </foreach> | |
69 | + </delete> | |
70 | + | |
71 | + <!-- 删除,通过条件 --> | |
72 | + <update id="deleteByCondtion" parameterType="productImg" > | |
73 | + <![CDATA[DELETE FROM product_img]]> | |
74 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
75 | + </update> | |
76 | + | |
77 | + <!-- 修改记录通过主键 --> | |
78 | + <update id="updateByKey" parameterType="productImg" > | |
79 | + <![CDATA[UPDATE product_img]]> | |
80 | + <include refid="UPDATE_COLUMN_SET"/> | |
81 | + <![CDATA[WHERE id = #{id}]]> | |
82 | + </update> | |
83 | + | |
84 | + <!-- 查询,通过主键IN(array) --> | |
85 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="productImg"> | |
86 | + <![CDATA[SELECT]]> | |
87 | + <include refid="QUERY_COLUMN_LIST"/> | |
88 | + <include refid="QUERY_FROM_TABLE"/> | |
89 | + <![CDATA[WHERE id IN]]> | |
90 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
91 | + <![CDATA[#{id}]]> | |
92 | + </foreach> | |
93 | + </select> | |
94 | + | |
95 | + <!-- 查询,通过条件 --> | |
96 | + <select id="selectEntryList" parameterType="productImg" resultType="productImg"> | |
97 | + <![CDATA[SELECT]]> | |
98 | + <include refid="QUERY_COLUMN_LIST"/> | |
99 | + <include refid="QUERY_FROM_TABLE"/> | |
100 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
101 | + <include refid="QUERY_ORDER_LIMIT_CONDTION"/> | |
102 | + </select> | |
103 | + | |
104 | + <!-- 总数查询,通过条件 --> | |
105 | + <select id="selectEntryListCount" parameterType="productImg" resultType="int"> | |
106 | + <![CDATA[SELECT COUNT(id) AS dataCount]]> | |
107 | + <include refid="QUERY_FROM_TABLE"/> | |
108 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
109 | + </select> | |
110 | + | |
111 | + <!-- 其它SQL语句 --> | |
112 | + <!-- 批量添加图片 --> | |
113 | + <insert id="batchInsert" parameterType="productImg"> | |
114 | + <include refid="INSERT"/> | |
115 | + VALUES | |
116 | + <foreach collection="list" item="item" index="index" separator=","> | |
117 | + <![CDATA[(#{item.pid},#{item.imgUrl},#{item.imgTitle},#{item.order},#{item.desc},now(),#{item.utime})]]> | |
118 | + </foreach> | |
119 | + </insert> | |
120 | + | |
121 | + <!-- 通过pid,查询图片 --> | |
122 | + <select id="selectByPid" parameterType="Long" resultType="productImg"> | |
123 | + <![CDATA[SELECT]]> | |
124 | + <include refid="QUERY_COLUMN_LIST"/> | |
125 | + <include refid="QUERY_FROM_TABLE"/> | |
126 | + <![CDATA[WHERE pid=#{pid}]]> | |
127 | + <![CDATA[ORDER BY `order` asc]]> | |
128 | + </select> | |
129 | + | |
130 | + <!-- 通过id,删除图片 --> | |
131 | + <delete id="deleteById" parameterType="Long"> | |
132 | + <![CDATA[DELETE FROM product_img WHERE id=#{id}]]> | |
133 | + </delete> | |
134 | + | |
135 | + <!-- 通过pid,删除图片 --> | |
136 | + <delete id="deleteByPid" parameterType="Long"> | |
137 | + <![CDATA[DELETE FROM product_img WHERE pid=#{pid}]]> | |
138 | + </delete> | |
139 | + | |
140 | + <select id="getBySupplyId" parameterType="Long" resultType="productImg"> | |
141 | + <![CDATA[SELECT]]> | |
142 | + <include refid="QUERY_COLUMN_LIST"/> | |
143 | + <include refid="QUERY_FROM_TABLE"/> | |
144 | + <![CDATA[WHERE pid=#{supplyId} order by 'order']]> | |
145 | + </select> | |
146 | + | |
147 | + <select id="getByPurchaseId" parameterType="Long" resultType="productImg"> | |
148 | + <![CDATA[SELECT]]> | |
149 | + <include refid="QUERY_COLUMN_LIST"/> | |
150 | + <include refid="QUERY_FROM_TABLE"/> | |
151 | + <![CDATA[WHERE pid=#{purchaseId} order by 'order']]> | |
152 | + </select> | |
153 | + | |
154 | +</mapper> | |
0 | 155 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/ProductPop.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.ProductPopDao"> | |
5 | + | |
6 | + <resultMap type="productPop" id="productPop"> | |
7 | + <result property="pid" javaType="Long" column="pid"/> | |
8 | + <result property="name" javaType="String" column="name"/> | |
9 | + <result property="quotationType" javaType="Integer" column="quotation_type"/> | |
10 | + <result property="cateId" javaType="Integer" column="cate_id"/> | |
11 | + <result property="userDefined" javaType="Integer" column="user_defined"/> | |
12 | + <result property="cate" javaType="String" column="cate"/> | |
13 | + <result property="status" javaType="Integer" column="status"/> | |
14 | + <result property="publishSettime" javaType="Date" column="publish_settime"/> | |
15 | + <result property="publishTime" javaType="Date" column="publish_time"/> | |
16 | + <result property="publishMode" javaType="Integer" column="publish_mode"/> | |
17 | + <result property="prepareTime" javaType="Long" column="prepare_time"/> | |
18 | + <result property="dropsTime" javaType="Date" column="drops_time"/> | |
19 | + <result property="ctime" javaType="Date" column="ctime"/> | |
20 | + <result property="utime" javaType="Date" column="utime"/> | |
21 | + <result property="desc" javaType="String" column="desc"/> | |
22 | + <result property="minPrice" javaType="Integer" column="minPrice"/> | |
23 | + <result property="maxPrice" javaType="Integer" column="maxPrice"/> | |
24 | + <result property="producingArea" javaType="Long" column="producing_area"/> | |
25 | + <result property="localityArea" javaType="Long" column="locality_area"/> | |
26 | + <result property="sellerName" javaType="String" column="seller_name"/> | |
27 | + <result property="seller" javaType="Long" column="seller"/> | |
28 | + <result property="shop" javaType="Long" column="shop"/> | |
29 | + <result property="shopName" javaType="String" column="shop_name"/> | |
30 | + <result property="indate" javaType="Integer" column="indate"/> | |
31 | + <result property="defaultPic" javaType="String" column="img_url"/> | |
32 | + <result property="storeUnit" javaType="Integer" column="store_unit"/> | |
33 | +<!-- <collection property="deliveryArea" javaType="ArrayList" ofType="delivery"> | |
34 | + <result property="deliId" column="deli_id" javaType="Integer"/> | |
35 | + <result property="deliName" column="deli_name" javaType="String"/> | |
36 | + <result property="deliType" column="deli_type" javaType="Integer"/> | |
37 | + </collection> --> | |
38 | + <collection property="subCateList" javaType="ArrayList" ofType="category"> | |
39 | + <result property="id" column="id" javaType="Integer"/> | |
40 | + </collection> | |
41 | +<!-- <collection property="skus" javaType="ArrayList" ofType="sku"> --> | |
42 | +<!-- <result property="sku" column="sku" javaType="String" /> --> | |
43 | +<!-- <result property="remark" column="title" javaType="String" /> --> | |
44 | +<!-- <result property="stockNum" column="store" javaType="Integer" /> --> | |
45 | +<!-- <result property="minNum" column="mini_purchase" javaType="Integer"/> --> | |
46 | +<!-- <result property="price" column="price" javaType="Integer"/> --> | |
47 | +<!-- </collection> --> | |
48 | + </resultMap> | |
49 | + | |
50 | + <!-- 全部条件(更多功能可以通过queryData扩展实现) 为防止column名重复,查询时将product_pop表取别名为a--> | |
51 | + <sql id="QUERY_WHERE_CLAUSE"> | |
52 | + <where> | |
53 | + <if test="pid != null and pid != ''"><![CDATA[AND pid = #{pid}]]></if> | |
54 | + <if test="name != null and name != ''"><![CDATA[AND a.name = #{name}]]></if> | |
55 | + <if test="cateId != null and cateId != ''"><![CDATA[AND cate_id = #{cateId}]]></if> | |
56 | + <if test="userDefined != null and userDefined != ''"><![CDATA[AND user_defined = #{userDefined}]]></if> | |
57 | + <if test="producingArea != null and producingArea != ''"><![CDATA[AND producing_area = #{producingArea}]]></if> | |
58 | + <if test="seller != null and seller != ''"><![CDATA[AND seller = #{seller}]]></if> | |
59 | + <if test="sellerName != null and sellerName != ''"><![CDATA[AND seller_name = #{sellerName}]]></if> | |
60 | + <if test="shop != null and shop != ''"><![CDATA[AND shop = #{shop}]]></if> | |
61 | + <if test="publishMode != null and publishMode != ''"><![CDATA[AND publish_mode = #{publishMode}]]></if> | |
62 | + <if test="publishTime != null and publishTime != ''"><![CDATA[AND publish_time = #{publishTime}]]></if> | |
63 | + <if test="status != null and status != '' and status < 4"><![CDATA[AND a.status = #{status}]]></if> | |
64 | + <if test="userDefined !=null and userDefined !='' "><![CDATA[AND user_defined = #{userDefined}]]></if> | |
65 | + <if test="status != null and status != '' and status>=4"><![CDATA[AND a.status >3]]></if> | |
66 | + <if test="startTime != null and endTime == null "><![CDATA[AND ctime > #{startTime}]]></if> | |
67 | + <if test="startTime == null and endTime != null "><![CDATA[AND ctime < DATE_ADD(#{endTime},INTERVAL 1 DAY)]]></if> | |
68 | + <if test="startTime != null and endTime != null and startTime != '' and endTime!= '' "><![CDATA[AND ctime between #{startTime} and DATE_ADD(#{endTime},INTERVAL 1 DAY)]]></if> | |
69 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
70 | + <![CDATA[AND a.status > 0]]> | |
71 | + </where> | |
72 | + </sql> | |
73 | + | |
74 | + <!-- 智能排序与分页 --> | |
75 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
76 | + <if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if> | |
77 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
78 | + </sql> | |
79 | + | |
80 | + <sql id="UPDATE_COLUMN_SET"> | |
81 | + <set> | |
82 | + <if test="name != null and name != ''"><![CDATA[ name = #{name},]]></if> | |
83 | + <if test="cateId != null and cateId != ''"><![CDATA[cate_id = #{cateId},]]></if> | |
84 | + <if test="producingArea != null and producingArea != ''"><![CDATA[ producing_area = #{producingArea},]]></if> | |
85 | + <if test="seller != null and seller != ''"><![CDATA[ seller = #{seller},]]></if> | |
86 | + <if test="shop != null and shop != ''"><![CDATA[ shop = #{shop},]]></if> | |
87 | + <if test="publishMode != null and publishMode != '' and publishMode > 0 "><![CDATA[ publish_mode = #{publishMode},]]></if> | |
88 | + <if test="publishTime != null and publishTime != ''"><![CDATA[ publish_time = #{publishTime},]]></if> | |
89 | + <if test="publishSettime != null and publishSettime != ''"><![CDATA[ publish_settime = #{publishSettime},]]></if> | |
90 | + <if test="prepareTime != null and prepareTime != ''"><![CDATA[ prepare_time = #{prepareTime},]]></if> | |
91 | + <if test="dropsTime != null and dropsTime != ''"><![CDATA[ drops_time = #{dropsTime},]]></if> | |
92 | + <if test="status != null and status != ''"><![CDATA[`status` = #{status},]]></if> | |
93 | + <if test="foreignPid != null and foreignPid != ''"><![CDATA[ foreign_pid = #{foreignPid},]]></if> | |
94 | + <if test="ctime != null and ctime != ''"><![CDATA[ ctime = #{ctime},]]></if> | |
95 | + <![CDATA[ utime = now()]]> | |
96 | + </set> | |
97 | + </sql> | |
98 | + | |
99 | + | |
100 | + | |
101 | + <!-- 插入product_pop记录 --> | |
102 | + <insert id="insertEntry" parameterType="productPop"> | |
103 | + <![CDATA[ | |
104 | + INSERT INTO product_pop (pid,name,quotation_type,cate_id,producing_area,seller,seller_name,shop,shop_name,indate,publish_mode,publish_settime,status,ctime,prepare_time,foreign_pid,store_unit) | |
105 | + VALUES (#{pid},#{quotationType},#{name},#{cateId},#{producingArea},#{seller},#{sellerName},#{shop},#{shopName},#{indate},#{publishMode},#{publishSettime},#{status},now(),#{prepareTime},#{foreignPid},#{storeUnit}) | |
106 | + ]]> | |
107 | + </insert> | |
108 | + | |
109 | + <!-- 删除,通过条件 --> | |
110 | + <update id="deleteByCondtion" parameterType="productPop"> | |
111 | + <![CDATA[DELETE FROM product_pop a]]> | |
112 | + <include refid="QUERY_WHERE_CLAUSE" /> | |
113 | + </update> | |
114 | + | |
115 | + <!-- 修改记录通过主键 --> | |
116 | + <update id="updateByKey" parameterType="productPop"> | |
117 | + <![CDATA[UPDATE product_pop]]> | |
118 | + <include refid="UPDATE_COLUMN_SET"/> | |
119 | + <![CDATA[WHERE pid = #{pid}]]> | |
120 | + </update> | |
121 | + | |
122 | + <update id="setProductLocalityArea" parameterType="java.util.Map"> | |
123 | + <![CDATA[UPDATE product_pop SET locality_area = #{cityId}]]> | |
124 | + <![CDATA[ WHERE shop = #{shopId}]]> | |
125 | + </update> | |
126 | + <update id="setShopCityId" parameterType="java.util.Map"> | |
127 | + <![CDATA[UPDATE product_pop SET shop_city_id = #{cityId}]]> | |
128 | + <![CDATA[ WHERE shop = #{shopId}]]> | |
129 | + </update> | |
130 | + <select id="selectProductIdByShopId" parameterType="java.lang.Long" resultType="long"> | |
131 | + <![CDATA[ select pid from product_pop where shop = #{shopId}]]> | |
132 | + </select> | |
133 | + | |
134 | + <update id="setShopName" parameterType="java.util.Map"> | |
135 | + <![CDATA[UPDATE product_pop SET shop_name = #{shopName}]]> | |
136 | + <![CDATA[ WHERE shop = #{shopId}]]> | |
137 | + </update> | |
138 | + | |
139 | + <update id="setUserName" parameterType="java.util.Map"> | |
140 | + <![CDATA[UPDATE product_pop SET seller_name = #{userName}]]> | |
141 | + <![CDATA[ WHERE seller = #{userId}]]> | |
142 | + </update> | |
143 | + | |
144 | + <update id="setMarket" parameterType="java.util.Map"> | |
145 | + <![CDATA[UPDATE product_pop SET market_id = #{marketId},market_name = #{marketName} ]]> | |
146 | + <![CDATA[ WHERE shop = #{shopId} ]]> | |
147 | + </update> | |
148 | + | |
149 | + <select id="selectDropsProduct" parameterType="java.lang.Long" resultType="long"> | |
150 | + <![CDATA[ select pid from product_pop where shop = #{shopId} and (status = 3 or publish_mode = 3)]]> | |
151 | + </select> | |
152 | + | |
153 | + <update id="dropsProduct" parameterType="java.lang.Long"> | |
154 | + <![CDATA[ | |
155 | + UPDATE product_pop SET status=4,drops_time =now(),publish_mode=1,publish_settime=null | |
156 | + WHERE shop=#{shopId} and (status = 3 or publish_mode = 3) | |
157 | + ]]> | |
158 | + </update> | |
159 | + | |
160 | + <select id="selectDelProduct" parameterType="java.lang.Long" resultType="long"> | |
161 | + <![CDATA[ select pid from product_pop where shop = #{shopId} and status>0 ]]> | |
162 | + </select> | |
163 | + | |
164 | + <update id="delProduct" parameterType="java.lang.Long"> | |
165 | + <![CDATA[ | |
166 | + UPDATE product_pop SET status=-1 | |
167 | + WHERE shop=#{shopId} and status>0 | |
168 | + ]]> | |
169 | + </update> | |
170 | + | |
171 | +</mapper> | |
0 | 172 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/gq/Presale.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.gq.PresaleDao"> | |
5 | + | |
6 | + <!-- presale 所有查询列 --> | |
7 | + <sql id="QUERY_COLUMN_LIST"> | |
8 | + <![CDATA[id,title,user_name AS userName,category_id AS categoryId,locality_area_id AS localityAreaId,`count`,unit_id AS unitId,phone,status,user_id AS userId,source,reason,start_time AS startTime,end_time AS endTime,ctime,utime]]> | |
9 | + </sql> | |
10 | + | |
11 | + <!-- presale 查询列来源表--> | |
12 | + <sql id="QUERY_FROM_TABLE"><![CDATA[FROM presale]]></sql> | |
13 | + | |
14 | + <!-- 全部条件(更多功能可以通过queryData扩展实现) --> | |
15 | + <sql id="QUERY_WHERE_CLAUSE"> | |
16 | + <where> | |
17 | + <if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if> | |
18 | + <if test="title != null and title != ''"><![CDATA[AND title = #{title}]]></if> | |
19 | + <if test="userName != null and userName != ''"><![CDATA[AND user_name = #{userName}]]></if> | |
20 | + <if test="categoryId != null and categoryId != ''"><![CDATA[AND category_id = #{categoryId}]]></if> | |
21 | + <if test="localityAreaId != null and localityAreaId != ''"><![CDATA[AND locality_area_id = #{localityAreaId}]]></if> | |
22 | + <if test="count != null and count != ''"><![CDATA[AND `count` = #{count}]]></if> | |
23 | + <if test="unitId != null and unitId != ''"><![CDATA[AND unit_id = #{unitId}]]></if> | |
24 | + <if test="phone != null and phone != ''"><![CDATA[AND phone = #{phone}]]></if> | |
25 | + <if test="status != null and status != ''"><![CDATA[AND status = #{status}]]></if> | |
26 | + <if test="statuses != null and statuses != ''"> | |
27 | + <![CDATA[AND status IN ]]> | |
28 | + <foreach collection="statuses" item="status" open="(" separator="," close=")"> | |
29 | + <![CDATA[#{status}]]> | |
30 | + </foreach> | |
31 | + </if> | |
32 | + <if test="userId != null and userId != ''"><![CDATA[AND user_id = #{userId}]]></if> | |
33 | + <if test="source != null and source != ''"><![CDATA[AND source = #{source}]]></if> | |
34 | + <if test="reason != null and reason != ''"><![CDATA[AND reason = #{reason}]]></if> | |
35 | + <if test="startTime != null and startTime != ''"><![CDATA[AND start_time = #{startTime}]]></if> | |
36 | + <if test="endTime != null and endTime != ''"><![CDATA[AND end_time = #{endTime}]]></if> | |
37 | + <if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if> | |
38 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
39 | + </where> | |
40 | + </sql> | |
41 | + | |
42 | + <!-- 智能排序与分页 --> | |
43 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
44 | + <if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if> | |
45 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
46 | + </sql> | |
47 | + | |
48 | + <!-- 更新列字段,只要不为NULL则更新,除开主键列 --> | |
49 | + <sql id="UPDATE_COLUMN_SET"> | |
50 | + <set> | |
51 | + <if test="categoryId != null"><![CDATA[category_id = #{categoryId},]]></if> | |
52 | + <if test="title != null"><![CDATA[title = #{title},]]></if> | |
53 | + <if test="userName != null"><![CDATA[user_name = #{userName},]]></if> | |
54 | + <if test="localityAreaId != null"><![CDATA[locality_area_id = #{localityAreaId},]]></if> | |
55 | + <if test="count != null"><![CDATA[`count` = #{count},]]></if> | |
56 | + <if test="unitId != null"><![CDATA[unit_id = #{unitId},]]></if> | |
57 | + <if test="phone != null"><![CDATA[phone = #{phone},]]></if> | |
58 | + <if test="status != null"><![CDATA[status = #{status},]]></if> | |
59 | + <if test="userId != null"><![CDATA[user_id = #{userId},]]></if> | |
60 | + <if test="source != null"><![CDATA[source = #{source},]]></if> | |
61 | + <if test="reason != null"><![CDATA[reason = #{reason},]]></if> | |
62 | + <if test="startTime != null"><![CDATA[start_time = #{startTime},]]></if> | |
63 | + <if test="endTime != null"><![CDATA[end_time = #{endTime},]]></if> | |
64 | + <if test="ctime != null"><![CDATA[ctime = #{ctime},]]></if> | |
65 | + <![CDATA[ utime = now()]]> | |
66 | + </set> | |
67 | + </sql> | |
68 | + | |
69 | + <!-- 插入presale记录 --> | |
70 | + <insert id="insertEntry" parameterType="presale" > | |
71 | + <![CDATA[ | |
72 | + INSERT INTO presale (id,title,user_name,category_id,locality_area_id,`count`,unit_id,phone,status,user_id,source,start_time,end_time,ctime) | |
73 | + VALUES (#{id},#{title},#{userName},#{categoryId},#{localityAreaId},#{count},#{unitId},#{phone},#{status},#{userId},#{source},#{startTime},#{endTime},now()) | |
74 | + ]]> | |
75 | + </insert> | |
76 | + | |
77 | + <!-- 返回插入的编号,在事务开启状态下有效 --> | |
78 | + <select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select> | |
79 | + | |
80 | + <!-- 删除记录,主键IN(array) --> | |
81 | + <update id="deleteByArrayKey" parameterType="java.lang.reflect.Array" > | |
82 | + <![CDATA[UPDATE presale SET status=-1 WHERE id IN]]> | |
83 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
84 | + <![CDATA[#{id}]]> | |
85 | + </foreach> | |
86 | + </update> | |
87 | + | |
88 | + <!-- 删除,通过条件 --> | |
89 | + <update id="deleteByCondtion" parameterType="presale" > | |
90 | + <![CDATA[DELETE FROM presale]]> | |
91 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
92 | + </update> | |
93 | + | |
94 | + <!-- 修改记录通过主键 --> | |
95 | + <update id="updateByKey" parameterType="presale" > | |
96 | + <![CDATA[UPDATE presale]]> | |
97 | + <include refid="UPDATE_COLUMN_SET"/> | |
98 | + <![CDATA[WHERE id = #{id}]]> | |
99 | + </update> | |
100 | + | |
101 | + <!-- 查询,通过主键IN(array) --> | |
102 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="presale"> | |
103 | + <![CDATA[SELECT]]> | |
104 | + <include refid="QUERY_COLUMN_LIST"/> | |
105 | + <include refid="QUERY_FROM_TABLE"/> | |
106 | + <![CDATA[WHERE id IN]]> | |
107 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
108 | + <![CDATA[#{id}]]> | |
109 | + </foreach> | |
110 | + </select> | |
111 | + | |
112 | + <!-- 查询,通过条件 --> | |
113 | + <select id="selectEntryList" parameterType="presale" resultType="presale"> | |
114 | + <![CDATA[SELECT]]> | |
115 | + <include refid="QUERY_COLUMN_LIST"/> | |
116 | + <include refid="QUERY_FROM_TABLE"/> | |
117 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
118 | + <include refid="QUERY_ORDER_LIMIT_CONDTION"/> | |
119 | + </select> | |
120 | + | |
121 | + <!-- 总数查询,通过条件 --> | |
122 | + <select id="selectEntryListCount" parameterType="presale" resultType="int"> | |
123 | + <![CDATA[SELECT COUNT(id) AS dataCount]]> | |
124 | + <include refid="QUERY_FROM_TABLE"/> | |
125 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
126 | + </select> | |
127 | + | |
128 | + <!-- 其它SQL语句 --> | |
129 | + <update id="updatePhone" parameterType="java.util.Map" > | |
130 | + <![CDATA[UPDATE presale SET phone={#phone} WHERE user_id = #{userId}]]> | |
131 | + </update> | |
132 | + | |
133 | +</mapper> | |
0 | 134 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/gq/Purchase.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.gq.PurchaseDao"> | |
5 | + | |
6 | + <!-- purchase 所有查询列 --> | |
7 | + <sql id="QUERY_COLUMN_LIST"> | |
8 | + <![CDATA[id,title,user_name AS userName,category_id AS categoryId,producing_area_id AS producingAreaId,locality_area_id AS localityAreaId,`count`,unit_id AS unitId,phone,expire_time AS expireTime,status,user_id AS userId,source,reason,ctime,utime]]> | |
9 | + </sql> | |
10 | + | |
11 | + <!-- purchase 查询列来源表--> | |
12 | + <sql id="QUERY_FROM_TABLE"><![CDATA[FROM purchase]]></sql> | |
13 | + | |
14 | + <!-- 全部条件(更多功能可以通过queryData扩展实现) --> | |
15 | + <sql id="QUERY_WHERE_CLAUSE"> | |
16 | + <where> | |
17 | + <if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if> | |
18 | + <if test="title != null and title != ''"><![CDATA[AND title = #{title}]]></if> | |
19 | + <if test="userName != null and userName != ''"><![CDATA[AND user_name = #{userName}]]></if> | |
20 | + <if test="categoryId != null and categoryId != ''"><![CDATA[AND category_id = #{categoryId}]]></if> | |
21 | + <if test="producingAreaId != null and producingAreaId != ''"><![CDATA[AND producing_area_id = #{producingAreaId}]]></if> | |
22 | + <if test="localityAreaId != null and localityAreaId != ''"><![CDATA[AND locality_area_id = #{localityAreaId}]]></if> | |
23 | + <if test="count != null and count != ''"><![CDATA[AND count = #{`count`}]]></if> | |
24 | + <if test="unitId != null and unitId != ''"><![CDATA[AND unit_id = #{unitId}]]></if> | |
25 | + <if test="phone != null and phone != ''"><![CDATA[AND phone = #{phone}]]></if> | |
26 | + <if test="expireTime != null and expireTime != ''"><![CDATA[AND expire_time = #{expireTime}]]></if> | |
27 | + <if test="status != null and status != ''"><![CDATA[AND status = #{status}]]></if> | |
28 | + <if test="statuses != null and statuses != ''"> | |
29 | + <![CDATA[AND status IN ]]> | |
30 | + <foreach collection="statuses" item="status" open="(" separator="," close=")"> | |
31 | + <![CDATA[#{status}]]> | |
32 | + </foreach> | |
33 | + </if> | |
34 | + <if test="userId != null and userId != ''"><![CDATA[AND user_id = #{userId}]]></if> | |
35 | + <if test="source != null and source != ''"><![CDATA[AND source = #{source}]]></if> | |
36 | + <if test="reason != null and reason != ''"><![CDATA[AND reason = #{reason}]]></if> | |
37 | + <if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if> | |
38 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
39 | + </where> | |
40 | + </sql> | |
41 | + | |
42 | + <!-- 智能排序与分页 --> | |
43 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
44 | + <if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if> | |
45 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
46 | + </sql> | |
47 | + | |
48 | + <!-- 更新列字段,只要不为NULL则更新,除开主键列 --> | |
49 | + <sql id="UPDATE_COLUMN_SET"> | |
50 | + <set> | |
51 | + <if test="categoryId != null"><![CDATA[category_id = #{categoryId},]]></if> | |
52 | + <if test="title != null"><![CDATA[title = #{title},]]></if> | |
53 | + <if test="userName != null"><![CDATA[user_name = #{userName},]]></if> | |
54 | + <if test="producingAreaId != null"><![CDATA[producing_area_id = #{producingAreaId},]]></if> | |
55 | + <if test="localityAreaId != null"><![CDATA[locality_area_id = #{localityAreaId},]]></if> | |
56 | + <if test="count != null"><![CDATA[`count` = #{count},]]></if> | |
57 | + <if test="unitId != null"><![CDATA[unit_id = #{unitId},]]></if> | |
58 | + <if test="phone != null"><![CDATA[phone = #{phone},]]></if> | |
59 | + <if test="expireTime != null"><![CDATA[expire_time = #{expireTime},]]></if> | |
60 | + <if test="status != null"><![CDATA[status = #{status},]]></if> | |
61 | + <if test="userId != null"><![CDATA[user_id = #{userId},]]></if> | |
62 | + <if test="source != null"><![CDATA[source = #{source},]]></if> | |
63 | + <if test="reason != null"><![CDATA[reason = #{reason},]]></if> | |
64 | + <if test="ctime != null"><![CDATA[ctime = #{ctime},]]></if> | |
65 | + <![CDATA[ utime = now()]]> | |
66 | + </set> | |
67 | + </sql> | |
68 | + | |
69 | + <!-- 插入purchase记录 --> | |
70 | + <insert id="insertEntry" parameterType="purchase" > | |
71 | + <![CDATA[ | |
72 | + INSERT INTO purchase (id,title,user_name,category_id,producing_area_id,locality_area_id,`count`,unit_id,phone,expire_time,status,user_id,source,ctime) | |
73 | + VALUES (#{id},#{title},#{userName},#{categoryId},#{producingAreaId},#{localityAreaId},#{count},#{unitId},#{phone},#{expireTime},#{status},#{userId},#{source},now()) | |
74 | + ]]> | |
75 | + </insert> | |
76 | + | |
77 | + <!-- 返回插入的编号,在事务开启状态下有效 --> | |
78 | + <select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select> | |
79 | + | |
80 | + <!-- 删除记录,主键IN(array) --> | |
81 | + <update id="deleteByArrayKey" parameterType="java.lang.reflect.Array" > | |
82 | + <![CDATA[UPDATE purchase SET status=-1 WHERE id IN]]> | |
83 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
84 | + <![CDATA[#{id}]]> | |
85 | + </foreach> | |
86 | + </update> | |
87 | + | |
88 | + <!-- 删除,通过条件 --> | |
89 | + <update id="deleteByCondtion" parameterType="purchase" > | |
90 | + <![CDATA[DELETE FROM purchase]]> | |
91 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
92 | + </update> | |
93 | + | |
94 | + <!-- 修改记录通过主键 --> | |
95 | + <update id="updateByKey" parameterType="purchase" > | |
96 | + <![CDATA[UPDATE purchase]]> | |
97 | + <include refid="UPDATE_COLUMN_SET"/> | |
98 | + <![CDATA[WHERE id = #{id}]]> | |
99 | + </update> | |
100 | + | |
101 | + <!-- 查询,通过主键IN(array) --> | |
102 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="purchase"> | |
103 | + <![CDATA[SELECT]]> | |
104 | + <include refid="QUERY_COLUMN_LIST"/> | |
105 | + <include refid="QUERY_FROM_TABLE"/> | |
106 | + <![CDATA[WHERE id IN]]> | |
107 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
108 | + <![CDATA[#{id}]]> | |
109 | + </foreach> | |
110 | + </select> | |
111 | + | |
112 | + <!-- 查询,通过条件 --> | |
113 | + <select id="selectEntryList" parameterType="purchase" resultType="purchase"> | |
114 | + <![CDATA[SELECT]]> | |
115 | + <include refid="QUERY_COLUMN_LIST"/> | |
116 | + <include refid="QUERY_FROM_TABLE"/> | |
117 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
118 | + <include refid="QUERY_ORDER_LIMIT_CONDTION"/> | |
119 | + </select> | |
120 | + | |
121 | + <!-- 总数查询,通过条件 --> | |
122 | + <select id="selectEntryListCount" parameterType="purchase" resultType="int"> | |
123 | + <![CDATA[SELECT COUNT(id) AS dataCount]]> | |
124 | + <include refid="QUERY_FROM_TABLE"/> | |
125 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
126 | + </select> | |
127 | + | |
128 | + <!-- 其它SQL语句 --> | |
129 | + <update id="updatePhone" parameterType="java.util.Map" > | |
130 | + <![CDATA[UPDATE purchase SET phone={#phone} WHERE user_id = #{userId}]]> | |
131 | + </update> | |
132 | + | |
133 | +</mapper> | |
0 | 134 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/gq/Supply.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
3 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
4 | +<mapper namespace="com.dili.titan.dao.gq.SupplyDao"> | |
5 | + | |
6 | + <!-- supply 所有查询列 --> | |
7 | + <sql id="QUERY_COLUMN_LIST"> | |
8 | + <![CDATA[id,title,user_name AS userName,category_id AS categoryId,locality_area_id AS localityAreaId,producing_area_id AS producingAreaId,price,`count`,unit_id AS unitId,user_id AS userId,phone,expire_time AS expireTime,status,source,reason,ctime,utime]]> | |
9 | + </sql> | |
10 | + | |
11 | + <!-- supply 查询列来源表--> | |
12 | + <sql id="QUERY_FROM_TABLE"><![CDATA[FROM supply]]></sql> | |
13 | + | |
14 | + <!-- 全部条件(更多功能可以通过queryData扩展实现) --> | |
15 | + <sql id="QUERY_WHERE_CLAUSE"> | |
16 | + <where> | |
17 | + <if test="id != null and id != ''"><![CDATA[AND id = #{id}]]></if> | |
18 | + <if test="title != null and title != ''"><![CDATA[AND title = #{title}]]></if> | |
19 | + <if test="userName != null and userName != ''"><![CDATA[AND user_name = #{userName}]]></if> | |
20 | + <if test="categoryId != null and categoryId != ''"><![CDATA[AND category_id = #{categoryId}]]></if> | |
21 | + <if test="localityAreaId != null and localityAreaId != ''"><![CDATA[AND locality_area_id = #{localityAreaId}]]></if> | |
22 | + <if test="producingAreaId != null and producingAreaId != ''"><![CDATA[AND producing_area_id = #{producingAreaId}]]></if> | |
23 | + <if test="price != null and price != ''"><![CDATA[AND price = #{price}]]></if> | |
24 | + <if test="count != null and count != ''"><![CDATA[AND `count` = #{count}]]></if> | |
25 | + <if test="unitId != null and unitId != ''"><![CDATA[AND unit_id = #{unitId}]]></if> | |
26 | + <if test="userId != null and userId != ''"><![CDATA[AND user_id = #{userId}]]></if> | |
27 | + <if test="phone != null and phone != ''"><![CDATA[AND phone = #{phone}]]></if> | |
28 | + <if test="expireTime != null and expireTime != ''"><![CDATA[AND expire_time = #{expireTime}]]></if> | |
29 | + <if test="status != null and status != ''"><![CDATA[AND status = #{status}]]></if> | |
30 | + <if test="statuses != null and statuses != ''"> | |
31 | + <![CDATA[AND status IN ]]> | |
32 | + <foreach collection="statuses" item="status" open="(" separator="," close=")"> | |
33 | + <![CDATA[#{status}]]> | |
34 | + </foreach> | |
35 | + </if> | |
36 | + <if test="source != null and source != ''"><![CDATA[AND source = #{source}]]></if> | |
37 | + <if test="reason != null and reason != ''"><![CDATA[AND reason = #{reason}]]></if> | |
38 | + <if test="ctime != null and ctime != ''"><![CDATA[AND ctime = #{ctime}]]></if> | |
39 | + <if test="utime != null and utime != ''"><![CDATA[AND utime = #{utime}]]></if> | |
40 | + </where> | |
41 | + </sql> | |
42 | + | |
43 | + <!-- 智能排序与分页 --> | |
44 | + <sql id="QUERY_ORDER_LIMIT_CONDTION"> | |
45 | + <if test="orderField != null and orderField != '' and orderFieldType != null and orderFieldType != ''"><![CDATA[ORDER BY ${orderField} ${orderFieldType}]]></if> | |
46 | + <if test="startIndex != null and startIndex >= 0 and pageSize != null and pageSize > 0"><![CDATA[LIMIT #{startIndex},#{pageSize}]]></if> | |
47 | + </sql> | |
48 | + | |
49 | + <!-- 更新列字段,只要不为NULL则更新,除开主键列 --> | |
50 | + <sql id="UPDATE_COLUMN_SET"> | |
51 | + <set> | |
52 | + <if test="categoryId != null"><![CDATA[category_id = #{categoryId},]]></if> | |
53 | + <if test="title != null"><![CDATA[title = #{title},]]></if> | |
54 | + <if test="userName != null"><![CDATA[user_name = #{userName},]]></if> | |
55 | + <if test="localityAreaId != null"><![CDATA[locality_area_id = #{localityAreaId},]]></if> | |
56 | + <if test="producingAreaId != null"><![CDATA[producing_area_id = #{producingAreaId},]]></if> | |
57 | + <if test="price != null"><![CDATA[price = #{price},]]></if> | |
58 | + <if test="count != null"><![CDATA[`count` = #{count},]]></if> | |
59 | + <if test="unitId != null"><![CDATA[unit_id = #{unitId},]]></if> | |
60 | + <if test="userId != null"><![CDATA[user_id = #{userId},]]></if> | |
61 | + <if test="phone != null"><![CDATA[phone = #{phone},]]></if> | |
62 | + <if test="expireTime != null"><![CDATA[expire_time = #{expireTime},]]></if> | |
63 | + <if test="status != null"><![CDATA[status = #{status},]]></if> | |
64 | + <if test="source != null"><![CDATA[source = #{source},]]></if> | |
65 | + <if test="reason != null"><![CDATA[reason = #{reason},]]></if> | |
66 | + <if test="ctime != null"><![CDATA[ctime = #{ctime},]]></if> | |
67 | + <![CDATA[ utime = now()]]> | |
68 | + </set> | |
69 | + </sql> | |
70 | + | |
71 | + <!-- 插入supply记录 --> | |
72 | + <insert id="insertEntry" parameterType="supply" > | |
73 | + <![CDATA[ | |
74 | + INSERT INTO supply (id,title,user_name,category_id,locality_area_id,producing_area_id,price,`count`,unit_id,user_id,phone,expire_time,status,source,ctime) | |
75 | + VALUES (#{id},#{title},#{userName},#{categoryId},#{localityAreaId},#{producingAreaId},#{price},#{count},#{unitId},#{userId},#{phone},#{expireTime},#{status},#{source},now()) | |
76 | + ]]> | |
77 | + </insert> | |
78 | + | |
79 | + <!-- 返回插入的编号,在事务开启状态下有效 --> | |
80 | + <select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select> | |
81 | + | |
82 | + <!-- 删除记录,主键IN(array) --> | |
83 | + <update id="deleteByArrayKey" parameterType="java.lang.reflect.Array" > | |
84 | + <![CDATA[UPDATE supply SET status=-1 WHERE id IN]]> | |
85 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
86 | + <![CDATA[#{id}]]> | |
87 | + </foreach> | |
88 | + </update> | |
89 | + | |
90 | + <!-- 删除,通过条件 --> | |
91 | + <update id="deleteByCondtion" parameterType="supply" > | |
92 | + <![CDATA[DELETE FROM supply]]> | |
93 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
94 | + </update> | |
95 | + | |
96 | + <!-- 修改记录通过主键 --> | |
97 | + <update id="updateByKey" parameterType="supply" > | |
98 | + <![CDATA[UPDATE supply]]> | |
99 | + <include refid="UPDATE_COLUMN_SET"/> | |
100 | + <![CDATA[WHERE id = #{id}]]> | |
101 | + </update> | |
102 | + | |
103 | + <!-- 查询,通过主键IN(array) --> | |
104 | + <select id="selectEntryArray" parameterType="java.lang.reflect.Array" resultType="supply"> | |
105 | + <![CDATA[SELECT]]> | |
106 | + <include refid="QUERY_COLUMN_LIST"/> | |
107 | + <include refid="QUERY_FROM_TABLE"/> | |
108 | + <![CDATA[WHERE id IN]]> | |
109 | + <foreach collection="array" item="id" open="(" separator="," close=")"> | |
110 | + <![CDATA[#{id}]]> | |
111 | + </foreach> | |
112 | + </select> | |
113 | + | |
114 | + <!-- 查询,通过条件 --> | |
115 | + <select id="selectEntryList" parameterType="supply" resultType="supply"> | |
116 | + <![CDATA[SELECT]]> | |
117 | + <include refid="QUERY_COLUMN_LIST"/> | |
118 | + <include refid="QUERY_FROM_TABLE"/> | |
119 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
120 | + <include refid="QUERY_ORDER_LIMIT_CONDTION"/> | |
121 | + </select> | |
122 | + | |
123 | + <!-- 总数查询,通过条件 --> | |
124 | + <select id="selectEntryListCount" parameterType="supply" resultType="int"> | |
125 | + <![CDATA[SELECT COUNT(id) AS dataCount]]> | |
126 | + <include refid="QUERY_FROM_TABLE"/> | |
127 | + <include refid="QUERY_WHERE_CLAUSE"/> | |
128 | + </select> | |
129 | + | |
130 | + <!-- 其它SQL语句 --> | |
131 | + <update id="updatePhone" parameterType="java.util.Map" > | |
132 | + <![CDATA[UPDATE supply SET phone={#phone} WHERE user_id = #{userId}]]> | |
133 | + </update> | |
134 | + | |
135 | +</mapper> | |
0 | 136 | \ No newline at end of file | ... | ... |
titan-cache/src/main/resources/sqlmap/sqlmap-config.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | |
2 | +<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"> | |
3 | + | |
4 | +<configuration> | |
5 | + <settings> | |
6 | + <setting name="cacheEnabled" value="true" /> | |
7 | + <setting name="multipleResultSetsEnabled" value="true" /> | |
8 | + <setting name="useColumnLabel" value="true" /> | |
9 | + <setting name="defaultStatementTimeout" value="25000" /> | |
10 | + </settings> | |
11 | + | |
12 | + <typeAliases> | |
13 | + <typeAlias type="com.dili.titan.domain.Category" alias="category" /> | |
14 | + <typeAlias type="com.dili.titan.domain.CategoryAttr" alias="categoryAttr" /> | |
15 | + <typeAlias type="com.dili.titan.domain.Attribute" alias="attribute" /> | |
16 | + <typeAlias type="com.dili.titan.domain.AttributeValue" alias="attributeValue" /> | |
17 | + <!--供求需求--> | |
18 | + <typeAlias type="com.dili.titan.domain.gq.Purchase" alias="purchase" /> | |
19 | + <typeAlias type="com.dili.titan.domain.gq.Supply" alias="supply" /> | |
20 | + <typeAlias type="com.dili.titan.domain.gq.Presale" alias="presale" /> | |
21 | + | |
22 | + | |
23 | + <typeAlias type="com.dili.titan.domain.ProductImg" alias="productImg" /> | |
24 | + <typeAlias type="com.dili.titan.domain.ProductPop" alias="productPop" /> | |
25 | + </typeAliases> | |
26 | + | |
27 | + <mappers> | |
28 | + <mapper resource="sqlmap/Attribute.xml" /> | |
29 | + <mapper resource="sqlmap/Category.xml" /> | |
30 | + <!--供求需求--> | |
31 | + <mapper resource="sqlmap/gq/Purchase.xml"/> | |
32 | + <mapper resource="sqlmap/gq/Presale.xml"/> | |
33 | + <mapper resource="sqlmap/gq/Supply.xml"/> | |
34 | + <mapper resource="sqlmap/ProductImg.xml" /> | |
35 | + <mapper resource="sqlmap/ProductPop.xml" /> | |
36 | + </mappers> | |
37 | + | |
38 | +</configuration> | |
0 | 39 | \ No newline at end of file | ... | ... |
titan-cache/src/main/webapp/WEB-INF/web.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" | |
3 | + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" | |
4 | + id="WebApp_ID" version="2.5"> | |
5 | + | |
6 | + <display-name>titan-sync</display-name> | |
7 | + <servlet> | |
8 | + <servlet-name>springmvc</servlet-name> | |
9 | + <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> | |
10 | + <init-param> | |
11 | + <param-name>contextConfigLocation</param-name> | |
12 | + <param-value>classpath:spring-config.xml</param-value> | |
13 | + </init-param> | |
14 | + <load-on-startup>1</load-on-startup> | |
15 | + </servlet> | |
16 | + <servlet-mapping> | |
17 | + <servlet-name>springmvc</servlet-name> | |
18 | + <url-pattern>/*</url-pattern> | |
19 | + </servlet-mapping> | |
20 | + | |
21 | + <filter> | |
22 | + <filter-name>EncodingFilter</filter-name> | |
23 | + <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> | |
24 | + <init-param> | |
25 | + <param-name>encoding</param-name> | |
26 | + <param-value>UTF-8</param-value> | |
27 | + </init-param> | |
28 | + </filter> | |
29 | + <filter> | |
30 | + <filter-name>HiddenHttpMethodFilter</filter-name> | |
31 | + <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> | |
32 | + </filter> | |
33 | + <filter-mapping> | |
34 | + <filter-name>EncodingFilter</filter-name> | |
35 | + <servlet-name>springmvc</servlet-name> | |
36 | + </filter-mapping> | |
37 | + <filter-mapping> | |
38 | + <filter-name>HiddenHttpMethodFilter</filter-name> | |
39 | + <servlet-name>springmvc</servlet-name> | |
40 | + </filter-mapping> | |
41 | +</web-app> | |
0 | 42 | \ No newline at end of file | ... | ... |
titan-cache/src/main/webapp/index.html
0 → 100644
titan-cache/src/test/java/com/dili/titan/worker/TestMessageListener.java
0 → 100644
1 | +package com.dili.titan.worker; | |
2 | + | |
3 | +import org.junit.Test; | |
4 | +import org.junit.runner.RunWith; | |
5 | +import org.springframework.test.context.ContextConfiguration; | |
6 | +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | |
7 | + | |
8 | +@RunWith(SpringJUnit4ClassRunner.class) | |
9 | +@ContextConfiguration(locations = "classpath*:spring-config.xml") | |
10 | +public class TestMessageListener { | |
11 | + | |
12 | + @Test | |
13 | + public void start() { | |
14 | + while (true) { | |
15 | + | |
16 | + } | |
17 | + } | |
18 | +} | ... | ... |
titan-cache/src/test/java/com/dili/titan/worker/TestSender.java
0 → 100644
1 | +package com.dili.titan.worker; | |
2 | + | |
3 | +import com.dili.titan.mq.sender.TopicProducer; | |
4 | +import org.junit.Test; | |
5 | +import org.junit.runner.RunWith; | |
6 | +import org.springframework.test.context.ContextConfiguration; | |
7 | +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | |
8 | + | |
9 | +import javax.annotation.Resource; | |
10 | + | |
11 | +@RunWith(SpringJUnit4ClassRunner.class) | |
12 | +@ContextConfiguration(locations = "classpath*:spring-config.xml") | |
13 | +public class TestSender { | |
14 | + | |
15 | + @Resource(name = "topicProducer") | |
16 | + private TopicProducer sender; | |
17 | + | |
18 | + @Test | |
19 | + public void test() { | |
20 | + sender.send("Titan.Product", "{test}"); | |
21 | + } | |
22 | +} | ... | ... |