From 1ac998b832ff3bf7da19995e0c40c8d1996d21b0 Mon Sep 17 00:00:00 2001 From: hupeng Date: Thu, 23 Aug 2018 22:32:01 +0800 Subject: [PATCH] =?UTF-8?q?[B=E7=AB=AF][=E6=B7=BB=E5=8A=A0]:=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8D=95=E6=97=A5=E4=BA=A4=E6=98=93,=E6=A0=B8?= =?UTF-8?q?=E9=94=80,=E6=80=BB=E9=A2=9D,=E6=B5=81=E6=B0=B4=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 76 ++++++++++++---- .../java/com/simple/common/ErrorCode.java | 2 +- .../simple/mapper/WxCouponOrderMapper.java | 2 +- .../simple/schedule/DaliyAmountSchedule.java | 2 +- .../simple/service/WxCouponOrderService.java | 18 ++-- .../impl/WxCouponOrderServiceImpl.java | 87 +++++++++++++++++-- .../resources/mapper/WxCouponOrderMapper.xml | 28 +++--- 7 files changed, 174 insertions(+), 41 deletions(-) diff --git a/mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java index a7189bb1e..59f1d9e1c 100644 --- a/mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/simple/controller/WxCouponOrderController.java @@ -28,6 +28,65 @@ public class WxCouponOrderController extends BaseController { @Autowired private WxCouponOrderService wxCouponOrderService; + + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { + if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); + final PageInfo page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("根据id更新接口") + @PostMapping("update") + public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) { + wxCouponOrderService.saveOrUpdate(wxCouponOrder); + return new ResultData(); + } + + + + @ApiOperation("交易流水分页列表接口") + @GetMapping("listUnverified") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)}) + public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { + return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, false); + } + + @ApiOperation("核销流水分页列表接口") + @GetMapping("listVerified") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query",required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query",required = true)}) + public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { + return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, pageNum, pageSize, true); + } + + + @ApiOperation("某日期交易总流水") + @GetMapping("getUnverifiedAmountOnDate") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) + public ResultData getUnverifiedAmountOnDate(String date) { + return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, false); + } + + @ApiOperation("某日期核销总流水") + @GetMapping("getVerifiedAmountOnDate") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) + public ResultData getVerifiedAmountOnDate(String date) { + return wxCouponOrderService.listOnDateAsPage(getUser().getId(), date, null, null, true); + } + @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("verify") public ResultData verify(@RequestBody Map paramMap) { @@ -85,23 +144,6 @@ public class WxCouponOrderController extends BaseController { } } - @ApiOperation("分页列表接口") - @GetMapping("list") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { - if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); - final PageInfo page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize); - return new ResultData(page); - } - - @ApiOperation("根据id更新接口") - @PostMapping("update") - public ResultData update(@RequestBody WxCouponOrder wxCouponOrder) { - wxCouponOrderService.saveOrUpdate(wxCouponOrder); - return new ResultData(); - } @ApiOperation(value = "根据couponOrderId查询接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("/findById") diff --git a/mallinkService/src/main/java/com/simple/common/ErrorCode.java b/mallinkService/src/main/java/com/simple/common/ErrorCode.java index 4bc398383..9eb70dd63 100644 --- a/mallinkService/src/main/java/com/simple/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/simple/common/ErrorCode.java @@ -157,7 +157,7 @@ public enum ErrorCode{ * 解单 */ DALIY_REPORT_VOLUME_TODAY_NULL(12070, "今日解单不存在"), - DALIY_REPORT_VOLUME_WEEK_NULL(12070, "无解单数据") + DALIY_REPORT_VOLUME_WEEK_NULL(12071, "无解单数据") ; diff --git a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java index 2ab4a7b63..27ca8c17a 100644 --- a/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/simple/mapper/WxCouponOrderMapper.java @@ -9,7 +9,7 @@ public interface WxCouponOrderMapper extends CommonMapper { List findList(WxCouponOrder wxCouponOrder); - List findListOfOrderedByDate(Map dateMap); + List findListOfUnverifiedByDate(Map dateMap); List findListOfVerifiedByDate(Map dateMap); } diff --git a/mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java b/mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java index 951a531c0..2bc4b4550 100644 --- a/mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java +++ b/mallinkService/src/main/java/com/simple/schedule/DaliyAmountSchedule.java @@ -80,7 +80,7 @@ public class DaliyAmountSchedule { dateMap.put("endDate", new Date()); dateMap.put("merchantID",merchant.getId()); - List list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); + List list = wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap); logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date()); int total_price = 0; for(WxCouponOrder couponOrder : list) { diff --git a/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java index c54954ba4..a59286186 100644 --- a/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/simple/service/WxCouponOrderService.java @@ -1,6 +1,8 @@ package com.simple.service; import java.util.*; + +import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.simple.common.ResultData; import com.simple.domain.po.MallUserInfo; @@ -62,10 +64,16 @@ public interface WxCouponOrderService { * @param bUserId 退券(款)人(登录用户) */ ResultData refund(Long couponOrderId, Long bUserId); - - - - - + + /** + * 根据日期 b用户查券list + * + * @param bUserId 退券(款)人(登录用户) + */ + + ResultData listOnDateAsPage(Long bUserId, String date, Integer pageIndex, Integer pageSize, boolean isVerified); + + + } diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java index 691757aee..910b6a00c 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java @@ -6,13 +6,11 @@ import com.simple.common.ErrorCode; import com.simple.common.IdWorker; import com.simple.common.Result; import com.simple.common.ResultData; -import com.simple.domain.po.MallUserInfo; -import com.simple.domain.po.WxCouponOrder; -import com.simple.domain.po.WxMerchantBUser; -import com.simple.domain.po.WxOrder; +import com.simple.domain.po.*; import com.simple.enums.EnumCouponOrderStatus; import com.simple.enums.EnumCouponStatus; import com.simple.exception.MallinkException; +import com.simple.mapper.WxMerchantMapper; import com.simple.mapper.WxOrderMapper; import com.simple.mapper.WxCouponOrderMapper; import com.simple.mapper.WxMerchantBUserMapper; @@ -23,7 +21,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; @Service public class WxCouponOrderServiceImpl implements WxCouponOrderService { @@ -35,6 +35,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired WxOrderMapper wxOrderMapper; + @Autowired + WxMerchantMapper wxMerchantMapper; + @Autowired WxMerchantBUserMapper wxMerchantBUserMapper; @@ -74,6 +77,80 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } + + @Override + public ResultData listOnDateAsPage(Long bUserId, String date, Integer pageIndex, Integer pageSize, boolean isVerified) { + + WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId.longValue()); + if (wxMerchantBUser == null) { + logger.error("核销员不存在:" + bUserId); + throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); + } + + WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(wxMerchantBUser.getMerchantId()); + if (wxMerchant == null) { + logger.error("商户不存在:" + bUserId); + throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); + } + + + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + String dateString; + Date startDate; + Date endDate; + + if (date == null) { + endDate = new Date(); + dateString = fmt.format(new Date()); + try { + startDate = fmt.parse(dateString); + } catch (ParseException e) { + return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR); + } + } + else { + try { + startDate = fmt.parse(date); + } catch (ParseException e) { + return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR); + } + Calendar cal = Calendar.getInstance(); + cal.setTime(startDate); + cal.add(Calendar.DATE,1); + endDate = cal.getTime(); + } + + Map dateMap = new HashMap(); + dateMap.put("startDate", startDate); + dateMap.put("endDate", endDate); + dateMap.put("merchantID", wxMerchant.getId()); + + Map resultMap = new HashMap(); + + if (pageIndex == null || pageSize == null) { + List list; + if(isVerified) + list = wxCouponOrderMapper.findListOfVerifiedByDate(dateMap); + else + list = wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap); + logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date()); + int total_price = 0; + for (WxCouponOrder couponOrder : list) { + total_price = total_price + couponOrder.getCouponPrice(); + } + resultMap.put("amount", total_price); + } + else { + if (isVerified) + resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfVerifiedByDate(dateMap))); + else + resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap))); + } + return new ResultData(resultMap); + } + + + @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public ResultData verify(Long couponOrderId, Long bUserId) { diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 56d885eeb..d20727c21 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -90,21 +90,26 @@ - + select from wx_coupon_order c,wx_order o + where o.id = c.order_id and o.merchant_id = #{merchantID} + + AND c.create_date > #{startDate,jdbcType=TIMESTAMP} + + + AND c.create_date < #{endDate,jdbcType=TIMESTAMP} + + AND c.coupon_order_status = '0' +