Commit fe513080608aac4f8020244d85308ffd4b5e6e37
1 parent
d73e502002
Exists in
master
and in
1 other branch
群组聊天商品下单支付模块
Showing 19 changed files with 1068 additions and 1 deletions
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/GroupOrderController.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsGroupGoods.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsGroupOrder.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsOrderData.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsGroupGoodsMapper.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsGroupOrderMapper.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsOrderDataMapper.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsGroupGoodsService.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsGroupOrderService.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsOrderDataService.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsGroupGoodsServiceImpl.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsGroupOrderServiceImpl.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsOrderDataServiceImpl.java
- talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/StringUtil.java
- talkonlineweb/src/main/resources/application-dev.yml
- talkonlineweb/src/main/resources/application-prod.yml
- talkonlineweb/src/main/resources/mapper/LymsGroupGoodsMapper.xml
- talkonlineweb/src/main/resources/mapper/LymsGroupOrderMapper.xml
- talkonlineweb/src/main/resources/mapper/LymsOrderDataMapper.xml
talkonlineweb/src/main/java/com/lyms/talkonlineweb/controller/GroupOrderController.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.controller; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
4 | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
5 | +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; | |
6 | +import com.lyms.talkonlineweb.annotation.Resubmit; | |
7 | +import com.lyms.talkonlineweb.annotation.TokenRequired; | |
8 | +import com.lyms.talkonlineweb.domain.*; | |
9 | +import com.lyms.talkonlineweb.enums.PayStatus; | |
10 | +import com.lyms.talkonlineweb.result.BaseResponse; | |
11 | +import com.lyms.talkonlineweb.service.*; | |
12 | +import com.lyms.talkonlineweb.util.*; | |
13 | +import lombok.extern.log4j.Log4j2; | |
14 | +import org.apache.commons.io.IOUtils; | |
15 | +import org.springframework.beans.factory.annotation.Autowired; | |
16 | +import org.springframework.beans.factory.annotation.Value; | |
17 | +import org.springframework.transaction.annotation.Transactional; | |
18 | +import org.springframework.web.bind.annotation.PostMapping; | |
19 | +import org.springframework.web.bind.annotation.RequestBody; | |
20 | +import org.springframework.web.bind.annotation.RequestMapping; | |
21 | +import org.springframework.web.bind.annotation.RestController; | |
22 | + | |
23 | +import javax.servlet.http.HttpServletRequest; | |
24 | +import javax.servlet.http.HttpServletResponse; | |
25 | +import java.io.IOException; | |
26 | +import java.io.PrintWriter; | |
27 | +import java.util.*; | |
28 | + | |
29 | +/** | |
30 | + * @ProjectName: talkonline | |
31 | + * @Package: com.lyms.talkonlineweb.controller | |
32 | + * @ClassName: GroupOrderController | |
33 | + * @Author: sy | |
34 | + * @Description: 支付订单类 | |
35 | + * @Date: 2022-04-22 09:57 | |
36 | + * @Version: | |
37 | + */ | |
38 | +@RestController | |
39 | +@RequestMapping("GroupOrder") | |
40 | +@Log4j2 | |
41 | +public class GroupOrderController { | |
42 | + | |
43 | + /** | |
44 | + * 商品信息 | |
45 | + */ | |
46 | + @Autowired | |
47 | + private LymsGroupGoodsService lymsGroupGoodsService; | |
48 | + | |
49 | + /** | |
50 | + * 患者 | |
51 | + */ | |
52 | + @Autowired | |
53 | + private LymsPatientService lymsPatientService; | |
54 | + | |
55 | + /** | |
56 | + * 订单信息 | |
57 | + */ | |
58 | + @Autowired | |
59 | + private LymsGroupOrderService lymsGroupOrderService; | |
60 | + | |
61 | + /** | |
62 | + * 订单量 | |
63 | + */ | |
64 | + @Autowired | |
65 | + private LymsOrderDataService lymsOrderDataService; | |
66 | + | |
67 | + /** | |
68 | + * 微信回调通知接口 | |
69 | + */ | |
70 | + @Value("${notify.url}") | |
71 | + private String notifyUrl; | |
72 | + /** | |
73 | + * 终端ip | |
74 | + */ | |
75 | + @Value("${weixin.createIP}") | |
76 | + private String createIP; | |
77 | + | |
78 | + | |
79 | + /** | |
80 | + * 创建支付订单,并把订单提交到微信平台 | |
81 | + * 传入患者id和购买数量 | |
82 | + * https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 微信统一下单api文档地址 | |
83 | + * @param lymsOrder | |
84 | + * @param request | |
85 | + * @param response | |
86 | + */ | |
87 | + @PostMapping("createPayOrder") | |
88 | + @TokenRequired | |
89 | + @Resubmit | |
90 | + @Transactional(rollbackFor = Exception.class) | |
91 | + public BaseResponse createPayOrder(@RequestBody LymsGroupOrder lymsOrder, | |
92 | + HttpServletRequest request, HttpServletResponse response) { | |
93 | + | |
94 | + log.info("create pay order request info : {}",lymsOrder.toString()); | |
95 | + | |
96 | + BaseResponse baseResponse = new BaseResponse(); | |
97 | + //参数校验 | |
98 | + if (lymsOrder.getPid() == null || CollectionUtils.isEmpty(lymsOrder.getOrderData())) | |
99 | + { | |
100 | + baseResponse.setErrorcode(1); | |
101 | + baseResponse.setErrormsg("创建订单参数错误"); | |
102 | + return baseResponse; | |
103 | + } | |
104 | + for (LymsOrderData orderData : lymsOrder.getOrderData()) { | |
105 | + if (null==orderData.getGid() || null==orderData.getOrderNum()) { | |
106 | + baseResponse.setErrorcode(1); | |
107 | + baseResponse.setErrormsg("创建订单参数错误"); | |
108 | + return baseResponse; | |
109 | + } | |
110 | + } | |
111 | + LymsPatient patient = lymsPatientService.getById(lymsOrder.getPid()); | |
112 | + if (patient == null) | |
113 | + { | |
114 | + baseResponse.setErrorcode(1); | |
115 | + baseResponse.setErrormsg("用户不存在"); | |
116 | + return baseResponse; | |
117 | + } | |
118 | + if (StringUtil.isEmpty(patient.getOpenid())) | |
119 | + { | |
120 | + baseResponse.setErrorcode(1); | |
121 | + baseResponse.setErrormsg("用户Openid不存在"); | |
122 | + return baseResponse; | |
123 | + } | |
124 | + | |
125 | + try | |
126 | + { | |
127 | + //生成系统订单号 | |
128 | + String orderNo = StringUtil.getUniqueNo(); | |
129 | + String wieXinOrderNo = StringUtil.getUniqueWeixNo(); | |
130 | + lymsOrder.setPaytime(new Date()); | |
131 | + lymsOrder.setOrderno(orderNo); | |
132 | + lymsOrder.setPayorderid(wieXinOrderNo); | |
133 | + lymsOrder.setStatus(PayStatus.CREATED.getCode()); | |
134 | + lymsOrder.setOpenid(patient.getOpenid()); | |
135 | + lymsGroupOrderService.save(lymsOrder); | |
136 | + //处理订单量&更新订单 | |
137 | + Integer total= 0; | |
138 | + for (LymsOrderData orderData : lymsOrder.getOrderData()) { | |
139 | + LambdaQueryWrapper<LymsGroupGoods> wrapper = new QueryWrapper().lambda(); | |
140 | + wrapper.eq(LymsGroupGoods::getId, orderData.getGid()); | |
141 | + LymsGroupGoods goods = lymsGroupGoodsService.getOne(wrapper); | |
142 | + if (goods == null || goods.getPrice() <= 0 ) | |
143 | + { | |
144 | + baseResponse.setErrorcode(1); | |
145 | + baseResponse.setErrormsg("商品价格配置不存在"); | |
146 | + return baseResponse; | |
147 | + } | |
148 | + if(null ==lymsOrder.getId()){ | |
149 | + baseResponse.setErrorcode(1); | |
150 | + baseResponse.setErrormsg("订单信息id获取异常!"); | |
151 | + return baseResponse; | |
152 | + } | |
153 | + orderData.setOrderId(lymsOrder.getId()); | |
154 | + orderData.setGid(goods.getId()); | |
155 | + orderData.setStartTime(new Date()); | |
156 | + orderData.setEndTime(DateUtil.addDay(new Date(), orderData.getOrderNum()*goods.getTimeLimit())); | |
157 | + total+=orderData.getOrderNum() * goods.getPrice(); | |
158 | + lymsOrderDataService.save(orderData); | |
159 | + } | |
160 | + lymsOrder.setTotalPrices(total); | |
161 | + //创建微信订单 | |
162 | + Map<String, String> data = createWxOrder(lymsOrder); | |
163 | + if (data != null) { | |
164 | + //更新订单总金额 | |
165 | + lymsGroupOrderService.updateById(lymsOrder); | |
166 | + data.put("orderNo", orderNo); | |
167 | + baseResponse.setObject(data); | |
168 | + return baseResponse; | |
169 | + } | |
170 | + | |
171 | + }catch (Exception e){ | |
172 | + log.error("create order error.",e); | |
173 | + } | |
174 | + baseResponse.setErrorcode(1); | |
175 | + baseResponse.setErrormsg("创建订单失败"); | |
176 | + return baseResponse; | |
177 | + } | |
178 | + | |
179 | + /** | |
180 | + * 创建微信订单 | |
181 | + */ | |
182 | + private Map<String,String> createWxOrder(LymsGroupOrder lymsOrder) throws Exception | |
183 | + { | |
184 | + try { | |
185 | + String xml = buildRequestXml(lymsOrder); | |
186 | + log.info("create order pid : {},buildRequestMap xml : {}",lymsOrder.getPid(),xml); | |
187 | + | |
188 | + //调用微信统一下单接口 | |
189 | + String result = HttpUtil.postData(Constant.PAY_URL, xml); | |
190 | + log.info("wx create order result : {}" ,result); | |
191 | + | |
192 | + return parseWxResult(result); | |
193 | + } catch (Exception e) { | |
194 | + log.error("createWxOrder error.",e); | |
195 | + throw e; | |
196 | + } | |
197 | + } | |
198 | + | |
199 | + | |
200 | + /** | |
201 | + * 解析微信创建订单的结果 | |
202 | + * @param resultXml | |
203 | + * @throws Exception | |
204 | + */ | |
205 | + private Map<String,String> parseWxResult(String resultXml) throws Exception{ | |
206 | + try | |
207 | + { | |
208 | + Map<String,String> data = new HashMap(5); | |
209 | + Map<String,String> retMap = XmlUtil.xmlToMap(resultXml); | |
210 | + System.out.println("retMap:"+retMap); | |
211 | + String success = "SUCCESS"; | |
212 | + if (retMap != null && retMap.size() > 0 && success.equals(retMap.get("return_code")) && success.equals(retMap.get("result_code"))) | |
213 | + { | |
214 | + SortedMap<Object,Object> map=new TreeMap<>(); | |
215 | + //重新拼接支付sign | |
216 | + String nonceStr=NumberUtil.getRandomString(16); | |
217 | + String timeStamp=System.currentTimeMillis()/1000+""; | |
218 | + map.put("appId",Constant.PAT_APP_ID); | |
219 | + map.put("nonceStr",nonceStr); | |
220 | + map.put("package","prepay_id="+retMap.get("prepay_id")); | |
221 | + map.put("signType","MD5"); | |
222 | + map.put("timeStamp",timeStamp); | |
223 | + //System.out.println("createSign:"+createSign(null, map)); | |
224 | + //返给前端加密后的sign, | |
225 | + data.put("packageValue",retMap.get("prepay_id")); | |
226 | + data.put("nonceStr",nonceStr); | |
227 | + data.put("paySign",createSign(null, map)); | |
228 | + data.put("timeStamp",timeStamp); | |
229 | + return data; | |
230 | + } | |
231 | + } | |
232 | + catch (Exception e) | |
233 | + { | |
234 | + log.error("parse wx result error.",e); | |
235 | + throw e; | |
236 | + } | |
237 | + return null; | |
238 | + } | |
239 | + | |
240 | + | |
241 | + /** | |
242 | + * 构建微信订单参数 | |
243 | + * @param lymsOrder | |
244 | + * @return | |
245 | + * @throws Exception | |
246 | + */ | |
247 | + public String buildRequestXml(LymsGroupOrder lymsOrder) throws Exception { | |
248 | + Map<String,String> paramMap = new TreeMap((key1,key2) -> { | |
249 | + return key1.toString().compareTo(key2.toString()); | |
250 | + } | |
251 | + ); | |
252 | + //小程序ID | |
253 | + paramMap.put("appid", Constant.PAT_APP_ID); | |
254 | + //商户号 | |
255 | + paramMap.put("mch_id", Constant.MCHID); | |
256 | + //随机字符串 | |
257 | + paramMap.put("nonce_str", NumberUtil.getRandomString(16)); | |
258 | + //签名类型 | |
259 | + paramMap.put("sign_type", "MD5"); | |
260 | + //商户订单号 | |
261 | + paramMap.put("out_trade_no", lymsOrder.getPayorderid()); | |
262 | + //标价金额 | |
263 | + paramMap.put("total_fee", String.valueOf(lymsOrder.getTotalPrices())); | |
264 | + //终端IP | |
265 | + paramMap.put("spbill_create_ip", createIP); | |
266 | + //通知地址 | |
267 | + paramMap.put("notify_url", notifyUrl); | |
268 | + //交易类型 | |
269 | + paramMap.put("trade_type", "JSAPI"); | |
270 | + //用户标识 | |
271 | + paramMap.put("openid", lymsOrder.getOpenid()); | |
272 | + //商品描述 | |
273 | + paramMap.put("body", "问诊支付"); | |
274 | + | |
275 | + String reqSign = PayDigestUtil.getSign(paramMap, Constant.REQ_KEY); | |
276 | + // 签名 | |
277 | + paramMap.put("sign", reqSign); | |
278 | + return XmlUtil.mapToXml(paramMap); | |
279 | + } | |
280 | + | |
281 | + | |
282 | + /** | |
283 | + * 微信支付成功后回调接口 | |
284 | + * https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8 | |
285 | + * @param request | |
286 | + * @param response | |
287 | + * @return | |
288 | + */ | |
289 | + @PostMapping("payNotify") | |
290 | + public void payNotify(HttpServletRequest request, HttpServletResponse response) { | |
291 | + | |
292 | + Map<String,String> result = new HashMap<>(2); | |
293 | + result.put("return_code","<![CDATA[FAIL]]>"); | |
294 | + result.put("return_msg","参数错误"); | |
295 | + try { | |
296 | + Map<String, String> paramMap = getPayNotifyParamMap(request); | |
297 | + | |
298 | + //验证支付通知的参数合法性 | |
299 | + if (!verifyPayNotify(paramMap)) { | |
300 | + //微信支付订单号 | |
301 | + String payOrderId = paramMap.get("transaction_id"); | |
302 | + //商户订单号 | |
303 | + String mchOrderNo = paramMap.get("out_trade_no"); | |
304 | + LambdaQueryWrapper<LymsGroupOrder> wrapper = new QueryWrapper().lambda(); | |
305 | + wrapper.eq(LymsGroupOrder::getOrderno, mchOrderNo); | |
306 | + LymsGroupOrder order=new LymsGroupOrder(); | |
307 | + order.setPayorderid(payOrderId); | |
308 | + boolean f=lymsGroupOrderService.update(order, wrapper); | |
309 | + | |
310 | + } | |
311 | + outResult(response, XmlUtil.mapToXml(result)); | |
312 | + }catch (Exception e){ | |
313 | + log.error("pay notify error.",e); | |
314 | + try | |
315 | + { | |
316 | + outResult(response, XmlUtil.mapToXml(result)); | |
317 | + }catch (Exception e1) { | |
318 | + | |
319 | + } | |
320 | + } | |
321 | + } | |
322 | + | |
323 | + | |
324 | + /** | |
325 | + * 回调接口响应微信 | |
326 | + * @param response | |
327 | + * @param content | |
328 | + */ | |
329 | + private void outResult(HttpServletResponse response, String content) { | |
330 | + response.setContentType("text/html"); | |
331 | + PrintWriter pw; | |
332 | + try { | |
333 | + pw = response.getWriter(); | |
334 | + pw.print(content); | |
335 | + log.info("response pay complete."); | |
336 | + } catch (IOException e) { | |
337 | + log.error("response pay write exception.", e); | |
338 | + } | |
339 | + } | |
340 | + | |
341 | + | |
342 | + /** | |
343 | + * 解析支付通知参数为map | |
344 | + * @param request | |
345 | + * @return | |
346 | + * @throws Exception | |
347 | + */ | |
348 | + public Map<String, String> getPayNotifyParamMap(HttpServletRequest request) throws Exception{ | |
349 | + try | |
350 | + { | |
351 | + String resultXml = IOUtils.toString(request.getInputStream(),"utf-8"); | |
352 | + log.info("pay notify info : {}",resultXml); | |
353 | + if (StringUtil.isNotEmpty(resultXml)) | |
354 | + { | |
355 | + Map<String, String> retMap = XmlUtil.xmlToMap(resultXml); | |
356 | + String success = "SUCCESS"; | |
357 | + if (retMap != null && retMap.size() > 0 && success.equals(retMap.get("return_code")) && success.equals(retMap.get("result_code"))) | |
358 | + { | |
359 | + return retMap; | |
360 | + } | |
361 | + } | |
362 | + }catch (Exception e) | |
363 | + { | |
364 | + log.error("get pay notify error.",e); | |
365 | + throw e; | |
366 | + } | |
367 | + return null; | |
368 | + } | |
369 | + | |
370 | + /** | |
371 | + * 微信回调参数验证 | |
372 | + * @param map | |
373 | + * @return | |
374 | + */ | |
375 | + public boolean verifyPayNotify(Map<String, String> map) { | |
376 | + //商户id | |
377 | + String mchId = map.get("mch_id"); | |
378 | + //微信支付订单号 | |
379 | + String payOrderId = map.get("transaction_id"); | |
380 | + //商户订单号 | |
381 | + String mchOrderNo = map.get("out_trade_no"); | |
382 | + //现金支付金额 | |
383 | + String amount = map.get("cash_fee"); | |
384 | + //签名 | |
385 | + String sign = map.get("sign"); | |
386 | + | |
387 | + if (StringUtil.isEmpty(mchId)) { | |
388 | + log.warn("Params error. mchId : {}", mchId); | |
389 | + return false; | |
390 | + } | |
391 | + if (StringUtil.isEmpty(payOrderId)) { | |
392 | + log.warn("Params error. payOrderId : {}", payOrderId); | |
393 | + return false; | |
394 | + } | |
395 | + if (StringUtil.isEmpty(amount)) { | |
396 | + log.warn("Params error. amount : {}", amount); | |
397 | + return false; | |
398 | + } | |
399 | + if (StringUtil.isEmpty(sign)) { | |
400 | + log.warn("Params error. sign : {}", sign); | |
401 | + return false; | |
402 | + } | |
403 | + | |
404 | + // 验证签名 | |
405 | + if (!verifySign(map)) { | |
406 | + log.warn("verify params sign failed. payOrderId={}", payOrderId); | |
407 | + return false; | |
408 | + } | |
409 | + | |
410 | + // 根据payOrderId查询业务订单,验证订单是否存在 | |
411 | + LambdaQueryWrapper<LymsGroupOrder> wrapper = new QueryWrapper().lambda(); | |
412 | + wrapper.eq(LymsGroupOrder::getOrderno, mchOrderNo); | |
413 | + List<LymsGroupOrder> lymsOrders = lymsGroupOrderService.list(wrapper); | |
414 | + if (CollectionUtils.isNotEmpty(lymsOrders)) { | |
415 | + log.warn("local orderno not exists,payOrderId : {},orderno : {}", payOrderId, mchOrderNo); | |
416 | + return false; | |
417 | + } | |
418 | + // 核对金额 | |
419 | + if (lymsOrders.get(0).getTotalPrices() != Integer.parseInt(amount)) { | |
420 | + log.warn("Inconsistent payment amount ,dbPayPrice : {},payPrice : {}", lymsOrders.get(0).getTotalPrices(), amount); | |
421 | + return false; | |
422 | + } | |
423 | + return true; | |
424 | + } | |
425 | + | |
426 | + | |
427 | + /** | |
428 | + * 回调参数的签名验证 | |
429 | + * @param map | |
430 | + * @return | |
431 | + */ | |
432 | + public boolean verifySign(Map<String, String> map) { | |
433 | + String mchId = map.get("mch_id"); | |
434 | + //检查商户id | |
435 | + if (!Constant.MCHID.equals(mchId) ) { | |
436 | + return false; | |
437 | + } | |
438 | + String localSign = PayDigestUtil.getSign(map, Constant.REQ_KEY, "sign"); | |
439 | + String sign = map.get("sign"); | |
440 | + return localSign.equalsIgnoreCase(sign); | |
441 | + } | |
442 | + | |
443 | + | |
444 | + /** | |
445 | + * 微信支付签名算法sign | |
446 | + * @param characterEncoding | |
447 | + * @param parameters | |
448 | + * @return | |
449 | + */ | |
450 | + public static String createSign(String characterEncoding,SortedMap<Object,Object> parameters){ | |
451 | + StringBuffer sb = new StringBuffer(); | |
452 | + Set es = parameters.entrySet();//所有参与传参的参数按照accsii排序(升序) | |
453 | + Iterator it = es.iterator(); | |
454 | + while(it.hasNext()) { | |
455 | + Map.Entry entry = (Map.Entry)it.next(); | |
456 | + String k = (String)entry.getKey(); | |
457 | + Object v = entry.getValue(); | |
458 | + if(null != v && !"".equals(v) | |
459 | + && !"sign".equals(k) && !"key".equals(k)) { | |
460 | + sb.append(k + "=" + v + "&"); | |
461 | + } | |
462 | + } | |
463 | + | |
464 | + sb.append("key=" + Constant.REQ_KEY); | |
465 | + System.out.println("签名字符串:"+sb.toString()); | |
466 | + System.out.println("签名MD5未变大写:" + MD5Util.MD5Encode(sb.toString(), characterEncoding)); | |
467 | + String sign = MD5Util.MD5Encode(sb.toString(), characterEncoding).toUpperCase(); | |
468 | + return sign; | |
469 | + } | |
470 | + | |
471 | + | |
472 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsGroupGoods.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.domain; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.IdType; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import java.io.Serializable; | |
8 | +import java.util.Date; | |
9 | +import lombok.Data; | |
10 | + | |
11 | +/** | |
12 | + * 群组聊天商品 | |
13 | + * @TableName lyms_group_goods | |
14 | + */ | |
15 | +@TableName(value ="lyms_group_goods") | |
16 | +@Data | |
17 | +public class LymsGroupGoods implements Serializable { | |
18 | + /** | |
19 | + * 主键id,自增 | |
20 | + */ | |
21 | + @TableId(value = "id", type = IdType.AUTO) | |
22 | + private Integer id; | |
23 | + | |
24 | + /** | |
25 | + * 商品名称 | |
26 | + */ | |
27 | + @TableField(value = "name") | |
28 | + private String name; | |
29 | + | |
30 | + /** | |
31 | + * 价格 单位分 | |
32 | + */ | |
33 | + @TableField(value = "price") | |
34 | + private Integer price; | |
35 | + | |
36 | + /** | |
37 | + * 单位 (天)单次商品服务时长 | |
38 | + */ | |
39 | + @TableField(value = "time_limit") | |
40 | + private Integer timeLimit; | |
41 | + | |
42 | + /** | |
43 | + * 创建时间 | |
44 | + */ | |
45 | + @TableField(value = "createdtime") | |
46 | + private Date createdtime; | |
47 | + | |
48 | + @TableField(exist = false) | |
49 | + private static final long serialVersionUID = 1L; | |
50 | + | |
51 | + @Override | |
52 | + public boolean equals(Object that) { | |
53 | + if (this == that) { | |
54 | + return true; | |
55 | + } | |
56 | + if (that == null) { | |
57 | + return false; | |
58 | + } | |
59 | + if (getClass() != that.getClass()) { | |
60 | + return false; | |
61 | + } | |
62 | + LymsGroupGoods other = (LymsGroupGoods) that; | |
63 | + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) | |
64 | + && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName())) | |
65 | + && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice())) | |
66 | + && (this.getTimeLimit() == null ? other.getTimeLimit() == null : this.getTimeLimit().equals(other.getTimeLimit())) | |
67 | + && (this.getCreatedtime() == null ? other.getCreatedtime() == null : this.getCreatedtime().equals(other.getCreatedtime())); | |
68 | + } | |
69 | + | |
70 | + @Override | |
71 | + public int hashCode() { | |
72 | + final int prime = 31; | |
73 | + int result = 1; | |
74 | + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); | |
75 | + result = prime * result + ((getName() == null) ? 0 : getName().hashCode()); | |
76 | + result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode()); | |
77 | + result = prime * result + ((getTimeLimit() == null) ? 0 : getTimeLimit().hashCode()); | |
78 | + result = prime * result + ((getCreatedtime() == null) ? 0 : getCreatedtime().hashCode()); | |
79 | + return result; | |
80 | + } | |
81 | + | |
82 | + @Override | |
83 | + public String toString() { | |
84 | + StringBuilder sb = new StringBuilder(); | |
85 | + sb.append(getClass().getSimpleName()); | |
86 | + sb.append(" ["); | |
87 | + sb.append("Hash = ").append(hashCode()); | |
88 | + sb.append(", id=").append(id); | |
89 | + sb.append(", name=").append(name); | |
90 | + sb.append(", price=").append(price); | |
91 | + sb.append(", timeLimit=").append(timeLimit); | |
92 | + sb.append(", createdtime=").append(createdtime); | |
93 | + sb.append(", serialVersionUID=").append(serialVersionUID); | |
94 | + sb.append("]"); | |
95 | + return sb.toString(); | |
96 | + } | |
97 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsGroupOrder.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.domain; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.IdType; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import java.io.Serializable; | |
8 | +import java.util.Date; | |
9 | +import java.util.List; | |
10 | + | |
11 | +import lombok.Data; | |
12 | + | |
13 | +/** | |
14 | + * 订单 | |
15 | + * @TableName lyms_group_order | |
16 | + */ | |
17 | +@TableName(value ="lyms_group_order") | |
18 | +@Data | |
19 | +public class LymsGroupOrder implements Serializable { | |
20 | + /** | |
21 | + * 主键id,自增 | |
22 | + */ | |
23 | + @TableId(value = "id", type = IdType.AUTO) | |
24 | + private Integer id; | |
25 | + | |
26 | + /** | |
27 | + * 订单编号 | |
28 | + */ | |
29 | + @TableField(value = "orderno") | |
30 | + private String orderno; | |
31 | + | |
32 | + /** | |
33 | + * 患者id | |
34 | + */ | |
35 | + @TableField(value = "pid") | |
36 | + private Integer pid; | |
37 | + | |
38 | + /** | |
39 | + * 支付总价 | |
40 | + */ | |
41 | + @TableField(value = "total_prices") | |
42 | + private Integer totalPrices; | |
43 | + | |
44 | + /** | |
45 | + * 订单状态,订单生成(0),支付成功(1),处理完成(2),处理失败(-1) | |
46 | + */ | |
47 | + @TableField(value = "status") | |
48 | + private Integer status; | |
49 | + | |
50 | + /** | |
51 | + * 支付订单号 | |
52 | + */ | |
53 | + @TableField(value = "payorderid") | |
54 | + private String payorderid; | |
55 | + | |
56 | + /** | |
57 | + * openid | |
58 | + */ | |
59 | + @TableField(value = "openid") | |
60 | + private String openid; | |
61 | + | |
62 | + /** | |
63 | + * 支付时间 | |
64 | + */ | |
65 | + @TableField(value = "paytime") | |
66 | + private Date paytime; | |
67 | + | |
68 | + /** | |
69 | + * 创建时间 | |
70 | + */ | |
71 | + @TableField(value = "createdtime") | |
72 | + private Date createdtime; | |
73 | + | |
74 | + /** | |
75 | + * 更新时间 | |
76 | + */ | |
77 | + @TableField(value = "updatedtime") | |
78 | + private Date updatedtime; | |
79 | + | |
80 | + /** | |
81 | + * 订单量 | |
82 | + */ | |
83 | + @TableField(exist = false) | |
84 | + private List<LymsOrderData> orderData; | |
85 | + | |
86 | + @TableField(exist = false) | |
87 | + private static final long serialVersionUID = 1L; | |
88 | + | |
89 | + @Override | |
90 | + public boolean equals(Object that) { | |
91 | + if (this == that) { | |
92 | + return true; | |
93 | + } | |
94 | + if (that == null) { | |
95 | + return false; | |
96 | + } | |
97 | + if (getClass() != that.getClass()) { | |
98 | + return false; | |
99 | + } | |
100 | + LymsGroupOrder other = (LymsGroupOrder) that; | |
101 | + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) | |
102 | + && (this.getOrderno() == null ? other.getOrderno() == null : this.getOrderno().equals(other.getOrderno())) | |
103 | + && (this.getPid() == null ? other.getPid() == null : this.getPid().equals(other.getPid())) | |
104 | + && (this.getTotalPrices() == null ? other.getTotalPrices() == null : this.getTotalPrices().equals(other.getTotalPrices())) | |
105 | + && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) | |
106 | + && (this.getPayorderid() == null ? other.getPayorderid() == null : this.getPayorderid().equals(other.getPayorderid())) | |
107 | + && (this.getOpenid() == null ? other.getOpenid() == null : this.getOpenid().equals(other.getOpenid())) | |
108 | + && (this.getPaytime() == null ? other.getPaytime() == null : this.getPaytime().equals(other.getPaytime())) | |
109 | + && (this.getCreatedtime() == null ? other.getCreatedtime() == null : this.getCreatedtime().equals(other.getCreatedtime())) | |
110 | + && (this.getUpdatedtime() == null ? other.getUpdatedtime() == null : this.getUpdatedtime().equals(other.getUpdatedtime())); | |
111 | + } | |
112 | + | |
113 | + @Override | |
114 | + public int hashCode() { | |
115 | + final int prime = 31; | |
116 | + int result = 1; | |
117 | + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); | |
118 | + result = prime * result + ((getOrderno() == null) ? 0 : getOrderno().hashCode()); | |
119 | + result = prime * result + ((getPid() == null) ? 0 : getPid().hashCode()); | |
120 | + result = prime * result + ((getTotalPrices() == null) ? 0 : getTotalPrices().hashCode()); | |
121 | + result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); | |
122 | + result = prime * result + ((getPayorderid() == null) ? 0 : getPayorderid().hashCode()); | |
123 | + result = prime * result + ((getOpenid() == null) ? 0 : getOpenid().hashCode()); | |
124 | + result = prime * result + ((getPaytime() == null) ? 0 : getPaytime().hashCode()); | |
125 | + result = prime * result + ((getCreatedtime() == null) ? 0 : getCreatedtime().hashCode()); | |
126 | + result = prime * result + ((getUpdatedtime() == null) ? 0 : getUpdatedtime().hashCode()); | |
127 | + return result; | |
128 | + } | |
129 | + | |
130 | + @Override | |
131 | + public String toString() { | |
132 | + StringBuilder sb = new StringBuilder(); | |
133 | + sb.append(getClass().getSimpleName()); | |
134 | + sb.append(" ["); | |
135 | + sb.append("Hash = ").append(hashCode()); | |
136 | + sb.append(", id=").append(id); | |
137 | + sb.append(", orderno=").append(orderno); | |
138 | + sb.append(", pid=").append(pid); | |
139 | + sb.append(", totalPrices=").append(totalPrices); | |
140 | + sb.append(", status=").append(status); | |
141 | + sb.append(", payorderid=").append(payorderid); | |
142 | + sb.append(", openid=").append(openid); | |
143 | + sb.append(", paytime=").append(paytime); | |
144 | + sb.append(", createdtime=").append(createdtime); | |
145 | + sb.append(", updatedtime=").append(updatedtime); | |
146 | + sb.append(", serialVersionUID=").append(serialVersionUID); | |
147 | + sb.append("]"); | |
148 | + return sb.toString(); | |
149 | + } | |
150 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/domain/LymsOrderData.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.domain; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.IdType; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import java.io.Serializable; | |
8 | +import java.util.Date; | |
9 | +import lombok.Data; | |
10 | + | |
11 | +/** | |
12 | + * 订单量 | |
13 | + * @TableName lyms_order_data | |
14 | + */ | |
15 | +@TableName(value ="lyms_order_data") | |
16 | +@Data | |
17 | +public class LymsOrderData implements Serializable { | |
18 | + /** | |
19 | + * 主键id,自增 | |
20 | + */ | |
21 | + @TableId(value = "id", type = IdType.AUTO) | |
22 | + private Integer id; | |
23 | + | |
24 | + /** | |
25 | + * 商品id | |
26 | + */ | |
27 | + @TableField(value = "gid") | |
28 | + private Integer gid; | |
29 | + | |
30 | + /** | |
31 | + * 订单数量 | |
32 | + */ | |
33 | + @TableField(value = "order_num") | |
34 | + private Integer orderNum; | |
35 | + | |
36 | + /** | |
37 | + * 订单id | |
38 | + */ | |
39 | + @TableField(value = "order_id") | |
40 | + private Integer orderId; | |
41 | + | |
42 | + /** | |
43 | + * 本订单服务开始时间(从支付成功计时) | |
44 | + */ | |
45 | + @TableField(value = "start_time") | |
46 | + private Date startTime; | |
47 | + | |
48 | + /** | |
49 | + * 本订单服务结束时间 | |
50 | + */ | |
51 | + @TableField(value = "end_time") | |
52 | + private Date endTime; | |
53 | + | |
54 | + /** | |
55 | + * 更新时间 | |
56 | + */ | |
57 | + @TableField(value = "updatedtime") | |
58 | + private Date updatedtime; | |
59 | + | |
60 | + /** | |
61 | + * 创建时间 | |
62 | + */ | |
63 | + @TableField(value = "createdtime") | |
64 | + private Date createdtime; | |
65 | + | |
66 | + @TableField(exist = false) | |
67 | + private static final long serialVersionUID = 1L; | |
68 | + | |
69 | + @Override | |
70 | + public boolean equals(Object that) { | |
71 | + if (this == that) { | |
72 | + return true; | |
73 | + } | |
74 | + if (that == null) { | |
75 | + return false; | |
76 | + } | |
77 | + if (getClass() != that.getClass()) { | |
78 | + return false; | |
79 | + } | |
80 | + LymsOrderData other = (LymsOrderData) that; | |
81 | + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) | |
82 | + && (this.getGid() == null ? other.getGid() == null : this.getGid().equals(other.getGid())) | |
83 | + && (this.getOrderNum() == null ? other.getOrderNum() == null : this.getOrderNum().equals(other.getOrderNum())) | |
84 | + && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId())) | |
85 | + && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime())) | |
86 | + && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime())) | |
87 | + && (this.getUpdatedtime() == null ? other.getUpdatedtime() == null : this.getUpdatedtime().equals(other.getUpdatedtime())) | |
88 | + && (this.getCreatedtime() == null ? other.getCreatedtime() == null : this.getCreatedtime().equals(other.getCreatedtime())); | |
89 | + } | |
90 | + | |
91 | + @Override | |
92 | + public int hashCode() { | |
93 | + final int prime = 31; | |
94 | + int result = 1; | |
95 | + result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); | |
96 | + result = prime * result + ((getGid() == null) ? 0 : getGid().hashCode()); | |
97 | + result = prime * result + ((getOrderNum() == null) ? 0 : getOrderNum().hashCode()); | |
98 | + result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode()); | |
99 | + result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode()); | |
100 | + result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode()); | |
101 | + result = prime * result + ((getUpdatedtime() == null) ? 0 : getUpdatedtime().hashCode()); | |
102 | + result = prime * result + ((getCreatedtime() == null) ? 0 : getCreatedtime().hashCode()); | |
103 | + return result; | |
104 | + } | |
105 | + | |
106 | + @Override | |
107 | + public String toString() { | |
108 | + StringBuilder sb = new StringBuilder(); | |
109 | + sb.append(getClass().getSimpleName()); | |
110 | + sb.append(" ["); | |
111 | + sb.append("Hash = ").append(hashCode()); | |
112 | + sb.append(", id=").append(id); | |
113 | + sb.append(", gid=").append(gid); | |
114 | + sb.append(", orderNum=").append(orderNum); | |
115 | + sb.append(", orderId=").append(orderId); | |
116 | + sb.append(", startTime=").append(startTime); | |
117 | + sb.append(", endTime=").append(endTime); | |
118 | + sb.append(", updatedtime=").append(updatedtime); | |
119 | + sb.append(", createdtime=").append(createdtime); | |
120 | + sb.append(", serialVersionUID=").append(serialVersionUID); | |
121 | + sb.append("]"); | |
122 | + return sb.toString(); | |
123 | + } | |
124 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsGroupGoodsMapper.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.mapper; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.domain.LymsGroupGoods; | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | + | |
6 | +/** | |
7 | + * @Entity com.lyms.talkonlineweb.domain.LymsGroupGoods | |
8 | + */ | |
9 | +public interface LymsGroupGoodsMapper extends BaseMapper<LymsGroupGoods> { | |
10 | + | |
11 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsGroupOrderMapper.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.mapper; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.domain.LymsGroupOrder; | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | + | |
6 | +/** | |
7 | + * @Entity com.lyms.talkonlineweb.domain.LymsGroupOrder | |
8 | + */ | |
9 | +public interface LymsGroupOrderMapper extends BaseMapper<LymsGroupOrder> { | |
10 | + | |
11 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/mapper/LymsOrderDataMapper.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.mapper; | |
2 | + | |
3 | +import com.lyms.talkonlineweb.domain.LymsOrderData; | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | + | |
6 | +/** | |
7 | + * @Entity com.lyms.talkonlineweb.domain.LymsOrderData | |
8 | + */ | |
9 | +public interface LymsOrderDataMapper extends BaseMapper<LymsOrderData> { | |
10 | + | |
11 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsGroupGoodsService.java
View file @
fe51308
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsGroupOrderService.java
View file @
fe51308
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/LymsOrderDataService.java
View file @
fe51308
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsGroupGoodsServiceImpl.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.service.impl; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
4 | +import com.lyms.talkonlineweb.domain.LymsGroupGoods; | |
5 | +import com.lyms.talkonlineweb.service.LymsGroupGoodsService; | |
6 | +import com.lyms.talkonlineweb.mapper.LymsGroupGoodsMapper; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * | |
11 | + */ | |
12 | +@Service | |
13 | +public class LymsGroupGoodsServiceImpl extends ServiceImpl<LymsGroupGoodsMapper, LymsGroupGoods> | |
14 | + implements LymsGroupGoodsService{ | |
15 | + | |
16 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsGroupOrderServiceImpl.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.service.impl; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
4 | +import com.lyms.talkonlineweb.domain.LymsGroupOrder; | |
5 | +import com.lyms.talkonlineweb.service.LymsGroupOrderService; | |
6 | +import com.lyms.talkonlineweb.mapper.LymsGroupOrderMapper; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * | |
11 | + */ | |
12 | +@Service | |
13 | +public class LymsGroupOrderServiceImpl extends ServiceImpl<LymsGroupOrderMapper, LymsGroupOrder> | |
14 | + implements LymsGroupOrderService{ | |
15 | + | |
16 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/service/impl/LymsOrderDataServiceImpl.java
View file @
fe51308
1 | +package com.lyms.talkonlineweb.service.impl; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
4 | +import com.lyms.talkonlineweb.domain.LymsOrderData; | |
5 | +import com.lyms.talkonlineweb.service.LymsOrderDataService; | |
6 | +import com.lyms.talkonlineweb.mapper.LymsOrderDataMapper; | |
7 | +import org.springframework.stereotype.Service; | |
8 | + | |
9 | +/** | |
10 | + * | |
11 | + */ | |
12 | +@Service | |
13 | +public class LymsOrderDataServiceImpl extends ServiceImpl<LymsOrderDataMapper, LymsOrderData> | |
14 | + implements LymsOrderDataService{ | |
15 | + | |
16 | +} |
talkonlineweb/src/main/java/com/lyms/talkonlineweb/util/StringUtil.java
View file @
fe51308
... | ... | @@ -51,7 +51,21 @@ |
51 | 51 | { |
52 | 52 | try |
53 | 53 | { |
54 | - return String.format("%s%s%06d", "D", DateUtil.getSeqString(), IdWorker.getFlowIdWorkerInstance().nextId()); | |
54 | + return String.format("%s%s%06d", "LYMS", DateUtil.getSeqString(), IdWorker.getFlowIdWorkerInstance().nextId()); | |
55 | + }catch (Exception e){ | |
56 | + | |
57 | + } | |
58 | + return ""; | |
59 | + } | |
60 | + /** | |
61 | + * 微信用生成一个唯一编号 | |
62 | + * @return | |
63 | + */ | |
64 | + public static String getUniqueWeixNo() | |
65 | + { | |
66 | + try | |
67 | + { | |
68 | + return String.format("%s%s%06d", "WEIX", DateUtil.getSeqString(), IdWorker.getFlowIdWorkerInstance().nextId()); | |
55 | 69 | }catch (Exception e){ |
56 | 70 | |
57 | 71 | } |
talkonlineweb/src/main/resources/application-dev.yml
View file @
fe51308
talkonlineweb/src/main/resources/application-prod.yml
View file @
fe51308
talkonlineweb/src/main/resources/mapper/LymsGroupGoodsMapper.xml
View file @
fe51308
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper | |
3 | + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
4 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
5 | +<mapper namespace="com.lyms.talkonlineweb.mapper.LymsGroupGoodsMapper"> | |
6 | + | |
7 | + <resultMap id="BaseResultMap" type="com.lyms.talkonlineweb.domain.LymsGroupGoods"> | |
8 | + <id property="id" column="id" jdbcType="INTEGER"/> | |
9 | + <result property="name" column="name" jdbcType="VARCHAR"/> | |
10 | + <result property="price" column="price" jdbcType="INTEGER"/> | |
11 | + <result property="timeLimit" column="time_limit" jdbcType="INTEGER"/> | |
12 | + <result property="createdtime" column="createdtime" jdbcType="TIMESTAMP"/> | |
13 | + </resultMap> | |
14 | + | |
15 | + <sql id="Base_Column_List"> | |
16 | + id,name,price, | |
17 | + time_limit,createdtime | |
18 | + </sql> | |
19 | +</mapper> |
talkonlineweb/src/main/resources/mapper/LymsGroupOrderMapper.xml
View file @
fe51308
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper | |
3 | + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
4 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
5 | +<mapper namespace="com.lyms.talkonlineweb.mapper.LymsGroupOrderMapper"> | |
6 | + | |
7 | + <resultMap id="BaseResultMap" type="com.lyms.talkonlineweb.domain.LymsGroupOrder"> | |
8 | + <id property="id" column="id" jdbcType="INTEGER"/> | |
9 | + <result property="orderno" column="orderno" jdbcType="VARCHAR"/> | |
10 | + <result property="pid" column="pid" jdbcType="INTEGER"/> | |
11 | + <result property="totalPrices" column="total_prices" jdbcType="INTEGER"/> | |
12 | + <result property="status" column="status" jdbcType="BOOLEAN"/> | |
13 | + <result property="payorderid" column="payorderid" jdbcType="VARCHAR"/> | |
14 | + <result property="openid" column="openid" jdbcType="VARCHAR"/> | |
15 | + <result property="paytime" column="paytime" jdbcType="TIMESTAMP"/> | |
16 | + <result property="createdtime" column="createdtime" jdbcType="TIMESTAMP"/> | |
17 | + <result property="updatedtime" column="updatedtime" jdbcType="TIMESTAMP"/> | |
18 | + </resultMap> | |
19 | + | |
20 | + <sql id="Base_Column_List"> | |
21 | + id,orderno,pid, | |
22 | + total_prices,status,payorderid, | |
23 | + openid,paytime,createdtime, | |
24 | + updatedtime | |
25 | + </sql> | |
26 | +</mapper> |
talkonlineweb/src/main/resources/mapper/LymsOrderDataMapper.xml
View file @
fe51308
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper | |
3 | + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |
4 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
5 | +<mapper namespace="com.lyms.talkonlineweb.mapper.LymsOrderDataMapper"> | |
6 | + | |
7 | + <resultMap id="BaseResultMap" type="com.lyms.talkonlineweb.domain.LymsOrderData"> | |
8 | + <id property="id" column="id" jdbcType="INTEGER"/> | |
9 | + <result property="gid" column="gid" jdbcType="INTEGER"/> | |
10 | + <result property="orderNum" column="order_num" jdbcType="INTEGER"/> | |
11 | + <result property="orderId" column="order_id" jdbcType="INTEGER"/> | |
12 | + <result property="startTime" column="start_time" jdbcType="TIMESTAMP"/> | |
13 | + <result property="endTime" column="end_time" jdbcType="TIMESTAMP"/> | |
14 | + <result property="updatedtime" column="updatedtime" jdbcType="TIMESTAMP"/> | |
15 | + <result property="createdtime" column="createdtime" jdbcType="TIMESTAMP"/> | |
16 | + </resultMap> | |
17 | + | |
18 | + <sql id="Base_Column_List"> | |
19 | + id,gid,order_num, | |
20 | + order_id,start_time,end_time, | |
21 | + updatedtime,createdtime | |
22 | + </sql> | |
23 | +</mapper> |