| @@ -28,6 +28,65 @@ public class WxCouponOrderController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private WxCouponOrderService wxCouponOrderService; | 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\"}") | @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") | ||||
| @PostMapping("verify") | @PostMapping("verify") | ||||
| public ResultData verify(@RequestBody Map<String, String> paramMap) { | 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\"}") | @ApiOperation(value = "根据couponOrderId查询接口", notes = "{\"couponOrderId\":\"string\"}") | ||||
| @PostMapping("/findById") | @PostMapping("/findById") | ||||
| @@ -157,7 +157,7 @@ public enum ErrorCode{ | |||||
| * 解单 | * 解单 | ||||
| */ | */ | ||||
| DALIY_REPORT_VOLUME_TODAY_NULL(12070, "今日解单不存在"), | 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> findList(WxCouponOrder wxCouponOrder); | ||||
| List<WxCouponOrder> findListOfOrderedByDate(Map dateMap); | |||||
| List<WxCouponOrder> findListOfUnverifiedByDate(Map dateMap); | |||||
| List<WxCouponOrder> findListOfVerifiedByDate(Map dateMap); | List<WxCouponOrder> findListOfVerifiedByDate(Map dateMap); | ||||
| } | } | ||||
| @@ -80,7 +80,7 @@ public class DaliyAmountSchedule { | |||||
| dateMap.put("endDate", new Date()); | dateMap.put("endDate", new Date()); | ||||
| dateMap.put("merchantID",merchant.getId()); | 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()); | logger.info("find " + list.size() + " coupon order from " + startDate + " to " + new Date()); | ||||
| int total_price = 0; | int total_price = 0; | ||||
| for(WxCouponOrder couponOrder : list) { | for(WxCouponOrder couponOrder : list) { | ||||
| @@ -1,6 +1,8 @@ | |||||
| package com.simple.service; | package com.simple.service; | ||||
| import java.util.*; | import java.util.*; | ||||
| import com.github.pagehelper.PageHelper; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.simple.common.ResultData; | import com.simple.common.ResultData; | ||||
| import com.simple.domain.po.MallUserInfo; | import com.simple.domain.po.MallUserInfo; | ||||
| @@ -62,10 +64,16 @@ public interface WxCouponOrderService { | |||||
| * @param bUserId 退券(款)人(登录用户) | * @param bUserId 退券(款)人(登录用户) | ||||
| */ | */ | ||||
| ResultData refund(Long couponOrderId, Long 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.IdWorker; | ||||
| import com.simple.common.Result; | import com.simple.common.Result; | ||||
| import com.simple.common.ResultData; | 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.EnumCouponOrderStatus; | ||||
| import com.simple.enums.EnumCouponStatus; | import com.simple.enums.EnumCouponStatus; | ||||
| import com.simple.exception.MallinkException; | import com.simple.exception.MallinkException; | ||||
| import com.simple.mapper.WxMerchantMapper; | |||||
| import com.simple.mapper.WxOrderMapper; | import com.simple.mapper.WxOrderMapper; | ||||
| import com.simple.mapper.WxCouponOrderMapper; | import com.simple.mapper.WxCouponOrderMapper; | ||||
| import com.simple.mapper.WxMerchantBUserMapper; | 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.Propagation; | ||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||
| import java.util.Date; | |||||
| import java.text.ParseException; | |||||
| import java.text.SimpleDateFormat; | |||||
| import java.util.*; | |||||
| @Service | @Service | ||||
| public class WxCouponOrderServiceImpl implements WxCouponOrderService { | public class WxCouponOrderServiceImpl implements WxCouponOrderService { | ||||
| @@ -35,6 +35,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| @Autowired | @Autowired | ||||
| WxOrderMapper wxOrderMapper; | WxOrderMapper wxOrderMapper; | ||||
| @Autowired | |||||
| WxMerchantMapper wxMerchantMapper; | |||||
| @Autowired | @Autowired | ||||
| WxMerchantBUserMapper wxMerchantBUserMapper; | 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 | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||
| public ResultData verify(Long couponOrderId, Long bUserId) { | public ResultData verify(Long couponOrderId, Long bUserId) { | ||||
| @@ -90,21 +90,26 @@ | |||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| </select> | </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> | ||||
| <select id="findListOfVerifiedByDate" parameterType="map" resultMap="BaseResultMap"> | <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} | where o.id = c.order_id and o.merchant_id = #{merchantID} | ||||
| <if test="startDate != null"> | <if test="startDate != null"> | ||||
| AND c.update_date > #{startDate,jdbcType=TIMESTAMP} | AND c.update_date > #{startDate,jdbcType=TIMESTAMP} | ||||
| @@ -115,4 +120,5 @@ | |||||
| AND c.coupon_order_status = '1' | AND c.coupon_order_status = '1' | ||||
| </select> | </select> | ||||
| </mapper> | </mapper> | ||||