| @@ -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<WxCouponOrder> 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<String, String> 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<WxCouponOrder> 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") | |||
| @@ -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, "无解单数据") | |||
| ; | |||
| @@ -9,7 +9,7 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> { | |||
| List<WxCouponOrder> findList(WxCouponOrder wxCouponOrder); | |||
| List<WxCouponOrder> findListOfOrderedByDate(Map dateMap); | |||
| List<WxCouponOrder> findListOfUnverifiedByDate(Map dateMap); | |||
| List<WxCouponOrder> findListOfVerifiedByDate(Map dateMap); | |||
| } | |||
| @@ -80,7 +80,7 @@ public class DaliyAmountSchedule { | |||
| dateMap.put("endDate", new Date()); | |||
| dateMap.put("merchantID",merchant.getId()); | |||
| List<WxCouponOrder> list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); | |||
| List<WxCouponOrder> list = wxCouponOrderMapper.findListOfUnverifiedByDate(dateMap); | |||
| logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date()); | |||
| int total_price = 0; | |||
| for(WxCouponOrder couponOrder : list) { | |||
| @@ -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); | |||
| } | |||
| @@ -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<WxCouponOrder> 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) { | |||
| @@ -90,21 +90,26 @@ | |||
| <include refid="dynamicWhereConditions" /> | |||
| </select> | |||
| <select id="findListOfOrderedByDate" parameterType="map" resultMap="BaseResultMap"> | |||
| select c.coupon_price from wx_coupon_order c,wx_order o | |||
| where o.id = c.order_id and o.merchant_id = #{merchantID} | |||
| <if test="startDate != null"> | |||
| AND c.create_date > #{startDate,jdbcType=TIMESTAMP} | |||
| </if> | |||
| <if test="startDate != null"> | |||
| AND c.create_date < #{endDate,jdbcType=TIMESTAMP} | |||
| </if> | |||
| AND c.coupon_order_status = '0' | |||
| <sql id="allCouponOrderColumns"> | |||
| c.id,c.tenant_id,c.coupon_id,c.c_user_id,c.b_user_id,c.order_id,c.expired_time,c.coupon_order_status,c.create_date,c.update_date,c.coupon_price | |||
| </sql> | |||
| <select id="findListOfUnverifiedByDate" parameterType="map" resultMap="BaseResultMap"> | |||
| select <include refid="allCouponOrderColumns" /> from wx_coupon_order c,wx_order o | |||
| where o.id = c.order_id and o.merchant_id = #{merchantID} | |||
| <if test="startDate != null"> | |||
| AND c.create_date > #{startDate,jdbcType=TIMESTAMP} | |||
| </if> | |||
| <if test="startDate != null"> | |||
| AND c.create_date < #{endDate,jdbcType=TIMESTAMP} | |||
| </if> | |||
| AND c.coupon_order_status = '0' | |||
| </select> | |||
| <select id="findListOfVerifiedByDate" parameterType="map" resultMap="BaseResultMap"> | |||
| select c.coupon_price from wx_coupon_order c,wx_order o | |||
| select <include refid="allCouponOrderColumns" /> from wx_coupon_order c,wx_order o | |||
| where o.id = c.order_id and o.merchant_id = #{merchantID} | |||
| <if test="startDate != null"> | |||
| AND c.update_date > #{startDate,jdbcType=TIMESTAMP} | |||
| @@ -115,4 +120,5 @@ | |||
| AND c.coupon_order_status = '1' | |||
| </select> | |||
| </mapper> | |||