| @@ -83,76 +83,76 @@ public class WxCardInfoController extends BaseController { | |||||
| return new ResultData(page); | return new ResultData(page); | ||||
| } | } | ||||
| @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口") | |||||
| @GetMapping("cardSpendlist") | |||||
| @ApiImplicitParams({ | |||||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| @SystemControllerLog(description = "储值卡支付-储值卡交易流水") | |||||
| public ResultData cardSpendlist(@ModelAttribute WxCardSpendVo wxCardSpendVo, Integer pageNum, Integer pageSize) { | |||||
| String ipStr = getIpAddr(); | |||||
| logger.info("cardPay/cardSpendlist: " + ipStr); | |||||
| if (wxCardSpendVo == null) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| } | |||||
| wxCardSpendVo.updateTenantInfo(getTenantInfo()); | |||||
| if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) { | |||||
| String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(","); | |||||
| List<Integer> tmpList = new ArrayList<Integer>(); | |||||
| for(String status: statusAttr) { | |||||
| tmpList.add(Integer.valueOf(status)); | |||||
| } | |||||
| if(!tmpList.isEmpty()) { | |||||
| wxCardSpendVo.setPayStatusS(tmpList); | |||||
| } | |||||
| } | |||||
| List<Integer> sources = new ArrayList<Integer>(); | |||||
| sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| wxCardSpendVo.setSources(sources); | |||||
| wxCardSpendVo.setCardSpendListShow(1); | |||||
| final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpendVo, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("C端扫B端储值卡交易流水SUM") | |||||
| @GetMapping("sum") | |||||
| @SystemControllerLog(description = "储值卡支付-储值卡交易流水SUM") | |||||
| public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| String ipStr = getIpAddr(); | |||||
| logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| if (wxCardSpend == null) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| } | |||||
| wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| List<Integer> sources = new ArrayList<Integer>(); | |||||
| sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| wxCardSpend.setSources(sources); | |||||
| wxCardSpend.setCardSpendListShow(1); | |||||
| final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend); | |||||
| return new ResultData(mapList); | |||||
| } | |||||
| @ApiOperation("交易流水导出") | |||||
| @GetMapping("/exportData") | |||||
| @SystemControllerLog(description = "储值卡支付-储值卡交易流水导出") | |||||
| public void exportData(@ModelAttribute WxCardSpendVo wxCardSpendVo, HttpServletRequest request, HttpServletResponse response) { | |||||
| logger.info("[" + getIpAddr() + "] cardPay/exportData"); | |||||
| if (wxCardSpendVo == null) { | |||||
| throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| } | |||||
| wxCardSpendVo.updateTenantInfo(getTenantInfo()); | |||||
| if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) { | |||||
| String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(","); | |||||
| List<Integer> tmpList = new ArrayList<Integer>(); | |||||
| for(String status: statusAttr) { | |||||
| tmpList.add(Integer.valueOf(status)); | |||||
| } | |||||
| if(!tmpList.isEmpty()) { | |||||
| wxCardSpendVo.setPayStatusS(tmpList); | |||||
| } | |||||
| } | |||||
| wxCardSpendService.exportData(wxCardSpendVo, request, response); | |||||
| } | |||||
| // @ApiOperation("C端扫B端储值卡交易流水(消费记录 + 补贴)列表接口") | |||||
| // @GetMapping("cardSpendlist") | |||||
| // @ApiImplicitParams({ | |||||
| // @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||||
| // @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||||
| // @SystemControllerLog(description = "储值卡支付-储值卡交易流水") | |||||
| // public ResultData cardSpendlist(@ModelAttribute WxCardSpendVo wxCardSpendVo, Integer pageNum, Integer pageSize) { | |||||
| // String ipStr = getIpAddr(); | |||||
| // logger.info("cardPay/cardSpendlist: " + ipStr); | |||||
| // if (wxCardSpendVo == null) { | |||||
| // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| // } | |||||
| // wxCardSpendVo.updateTenantInfo(getTenantInfo()); | |||||
| // if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) { | |||||
| // String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(","); | |||||
| // List<Integer> tmpList = new ArrayList<Integer>(); | |||||
| // for(String status: statusAttr) { | |||||
| // tmpList.add(Integer.valueOf(status)); | |||||
| // } | |||||
| // if(!tmpList.isEmpty()) { | |||||
| // wxCardSpendVo.setPayStatusS(tmpList); | |||||
| // } | |||||
| // } | |||||
| // List<Integer> sources = new ArrayList<Integer>(); | |||||
| // sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| // wxCardSpendVo.setSources(sources); | |||||
| // wxCardSpendVo.setCardSpendListShow(1); | |||||
| // final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpendVo, pageNum, pageSize); | |||||
| // return new ResultData(page); | |||||
| // } | |||||
| // | |||||
| // @ApiOperation("C端扫B端储值卡交易流水SUM") | |||||
| // @GetMapping("sum") | |||||
| // @SystemControllerLog(description = "储值卡支付-储值卡交易流水SUM") | |||||
| // public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| // String ipStr = getIpAddr(); | |||||
| // logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| // if (wxCardSpend == null) { | |||||
| // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| // } | |||||
| // wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| // List<Integer> sources = new ArrayList<Integer>(); | |||||
| // sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| // wxCardSpend.setSources(sources); | |||||
| // wxCardSpend.setCardSpendListShow(1); | |||||
| // final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend); | |||||
| // return new ResultData(mapList); | |||||
| // } | |||||
| // | |||||
| // @ApiOperation("交易流水导出") | |||||
| // @GetMapping("/exportData") | |||||
| // @SystemControllerLog(description = "储值卡支付-储值卡交易流水导出") | |||||
| // public void exportData(@ModelAttribute WxCardSpendVo wxCardSpendVo, HttpServletRequest request, HttpServletResponse response) { | |||||
| // logger.info("[" + getIpAddr() + "] cardPay/exportData"); | |||||
| // if (wxCardSpendVo == null) { | |||||
| // throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| // } | |||||
| // wxCardSpendVo.updateTenantInfo(getTenantInfo()); | |||||
| // if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) { | |||||
| // String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(","); | |||||
| // List<Integer> tmpList = new ArrayList<Integer>(); | |||||
| // for(String status: statusAttr) { | |||||
| // tmpList.add(Integer.valueOf(status)); | |||||
| // } | |||||
| // if(!tmpList.isEmpty()) { | |||||
| // wxCardSpendVo.setPayStatusS(tmpList); | |||||
| // } | |||||
| // } | |||||
| // wxCardSpendService.exportData(wxCardSpendVo, request, response); | |||||
| // } | |||||
| @ApiOperation("更新卡消费支付状态") | @ApiOperation("更新卡消费支付状态") | ||||
| @PostMapping("/updatePayStatus") | @PostMapping("/updatePayStatus") | ||||
| @@ -114,12 +114,28 @@ public class WxCardPayController extends BaseController { | |||||
| return new ResultData(page); | return new ResultData(page); | ||||
| } | } | ||||
| @ApiOperation("C端扫B端储值卡交易流水SUM") | |||||
| @GetMapping("sum") | |||||
| // @ApiOperation("C端扫B端储值卡交易流水SUM") | |||||
| // @GetMapping("sum") | |||||
| // @SystemControllerLog(description = "储值卡支付-储值卡交易流水SUM") | |||||
| // public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| // String ipStr = getIpAddr(); | |||||
| // logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| // if (wxCardSpend == null) { | |||||
| // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | |||||
| // } | |||||
| // wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| // List<Integer> sources = new ArrayList<Integer>(); | |||||
| // sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| // wxCardSpend.setSources(sources); | |||||
| // wxCardSpend.setCardSpendListShow(1); | |||||
| // final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend); | |||||
| // return new ResultData(mapList); | |||||
| // } | |||||
| @ApiOperation("储值卡交易流水SUM") | |||||
| @GetMapping("sumCard") | |||||
| @SystemControllerLog(description = "储值卡支付-储值卡交易流水SUM") | @SystemControllerLog(description = "储值卡支付-储值卡交易流水SUM") | ||||
| public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| String ipStr = getIpAddr(); | |||||
| logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| public ResultData sumCard(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| if (wxCardSpend == null) { | if (wxCardSpend == null) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); | ||||
| } | } | ||||
| @@ -199,54 +199,54 @@ public class WxCardPayController extends BaseController { | |||||
| } | } | ||||
| @ApiOperation("C端扫B端储值卡交易流水列表接口") | |||||
| @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 cardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend, Integer pageNum, Integer pageSize) { | |||||
| String ipStr = getIpAddr(); | |||||
| logger.info("list: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| Long memberId; | |||||
| try { | |||||
| memberId = getMemberId(); | |||||
| } catch (Exception e) { | |||||
| return new ResultData(Result.ERROR,e.getMessage()); | |||||
| } | |||||
| return cardSpendList(wxCardSpend,memberId, pageNum, pageSize); | |||||
| } | |||||
| private ResultData cardSpendList(WxCardSpendVo wxCardSpend,Long cUserId,Integer pageNum, Integer pageSize) { | |||||
| if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); | |||||
| wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| wxCardSpend.setOwnerId(cUserId); | |||||
| List<Integer> sources = new ArrayList<Integer>(); | |||||
| sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| wxCardSpend.setSources(sources); | |||||
| wxCardSpend.setCardSpendListShow(1); | |||||
| final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpend, pageNum, pageSize); | |||||
| return new ResultData(page); | |||||
| } | |||||
| @ApiOperation("C端扫B端储值卡交易流水SUM接口") | |||||
| @GetMapping("sum") | |||||
| public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| String ipStr = getIpAddr(); | |||||
| logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| Long memberId; | |||||
| try { | |||||
| memberId = getMemberId(); | |||||
| } catch (Exception e) { | |||||
| return new ResultData(Result.ERROR,e.getMessage()); | |||||
| } | |||||
| return sumCardSpendList(wxCardSpend,memberId); | |||||
| } | |||||
| private ResultData sumCardSpendList(WxCardSpendVo wxCardSpend,Long cUserId) { | |||||
| if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); | |||||
| wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| wxCardSpend.setOwnerId(cUserId); | |||||
| final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForOwner(wxCardSpend); | |||||
| return new ResultData(mapList); | |||||
| } | |||||
| // @ApiOperation("C端扫B端储值卡交易流水列表接口") | |||||
| // @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 cardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend, Integer pageNum, Integer pageSize) { | |||||
| // String ipStr = getIpAddr(); | |||||
| // logger.info("list: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| // Long memberId; | |||||
| // try { | |||||
| // memberId = getMemberId(); | |||||
| // } catch (Exception e) { | |||||
| // return new ResultData(Result.ERROR,e.getMessage()); | |||||
| // } | |||||
| // return cardSpendList(wxCardSpend,memberId, pageNum, pageSize); | |||||
| // } | |||||
| // | |||||
| // private ResultData cardSpendList(WxCardSpendVo wxCardSpend,Long cUserId,Integer pageNum, Integer pageSize) { | |||||
| // if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); | |||||
| // wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| // wxCardSpend.setOwnerId(cUserId); | |||||
| // List<Integer> sources = new ArrayList<Integer>(); | |||||
| // sources.add(EnumMerchantSubsidySource.CARD.getCode()); | |||||
| // wxCardSpend.setSources(sources); | |||||
| // wxCardSpend.setCardSpendListShow(1); | |||||
| // final PageInfo<WxCardSpendVo> page = wxCardSpendService.listAsPage(wxCardSpend, pageNum, pageSize); | |||||
| // return new ResultData(page); | |||||
| // } | |||||
| // | |||||
| // @ApiOperation("C端扫B端储值卡交易流水SUM接口") | |||||
| // @GetMapping("sum") | |||||
| // public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { | |||||
| // String ipStr = getIpAddr(); | |||||
| // logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); | |||||
| // Long memberId; | |||||
| // try { | |||||
| // memberId = getMemberId(); | |||||
| // } catch (Exception e) { | |||||
| // return new ResultData(Result.ERROR,e.getMessage()); | |||||
| // } | |||||
| // return sumCardSpendList(wxCardSpend,memberId); | |||||
| // } | |||||
| // | |||||
| // private ResultData sumCardSpendList(WxCardSpendVo wxCardSpend,Long cUserId) { | |||||
| // if (wxCardSpend == null) wxCardSpend = new WxCardSpendVo(); | |||||
| // wxCardSpend.updateTenantInfo(getTenantInfo()); | |||||
| // wxCardSpend.setOwnerId(cUserId); | |||||
| // final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForOwner(wxCardSpend); | |||||
| // return new ResultData(mapList); | |||||
| // } | |||||
| } | } | ||||
| @@ -21,14 +21,20 @@ public class WxCardSpend extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="储值卡ID",name="cardId") | @io.swagger.annotations.ApiModelProperty(value="储值卡ID",name="cardId") | ||||
| private Long cardId; | private Long cardId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> cardIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="持有人ID",name="ownerId") | @io.swagger.annotations.ApiModelProperty(value="持有人ID",name="ownerId") | ||||
| private Long ownerId; | private Long ownerId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> ownerIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") | @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") | ||||
| private Long merchantId; | private Long merchantId; | ||||
| @Excel(name = "订单号", width = 20, orderNum = "5") | @Excel(name = "订单号", width = 20, orderNum = "5") | ||||
| @io.swagger.annotations.ApiModelProperty(value="订单账号",name="orderId") | @io.swagger.annotations.ApiModelProperty(value="订单账号",name="orderId") | ||||
| private Long orderId; | private Long orderId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> orderIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="POS订单账号",name="posOrderId") | @io.swagger.annotations.ApiModelProperty(value="POS订单账号",name="posOrderId") | ||||
| private Long posOrderId; | private Long posOrderId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="ip地址",name="ip") | @io.swagger.annotations.ApiModelProperty(value="ip地址",name="ip") | ||||
| @@ -32,6 +32,8 @@ public class WxMerchantSubsidy extends TenantEntity { | |||||
| @Excel(name="交易单号",width = 20,orderNum = "1") | @Excel(name="交易单号",width = 20,orderNum = "1") | ||||
| @io.swagger.annotations.ApiModelProperty(value="订单ID",name="orderId") | @io.swagger.annotations.ApiModelProperty(value="订单ID",name="orderId") | ||||
| private Long orderId; | private Long orderId; | ||||
| @TableField(exist = false) | |||||
| private List<Long> orderIdList; | |||||
| @io.swagger.annotations.ApiModelProperty(value="订单支付类型(0:券1:付款码支付,2:C扫码支付,3,储值卡)",name="orderType") | @io.swagger.annotations.ApiModelProperty(value="订单支付类型(0:券1:付款码支付,2:C扫码支付,3,储值卡)",name="orderType") | ||||
| private Integer orderType; | private Integer orderType; | ||||
| @@ -139,4 +141,6 @@ public class WxMerchantSubsidy extends TenantEntity { | |||||
| @Excel(name = "结算来源", width = 20, orderNum = "3", replace = {"补贴_0", "卡消费_1", "券核销_2", "砍价核销_3", "拼团核销_4", "收银分账_5", " _-1"}) | @Excel(name = "结算来源", width = 20, orderNum = "3", replace = {"补贴_0", "卡消费_1", "券核销_2", "砍价核销_3", "拼团核销_4", "收银分账_5", " _-1"}) | ||||
| @io.swagger.annotations.ApiModelProperty(value = "结算来源0补贴1卡消费2券核销3砍价核销4拼团核销5收银分账", name = "source") | @io.swagger.annotations.ApiModelProperty(value = "结算来源0补贴1卡消费2券核销3砍价核销4拼团核销5收银分账", name = "source") | ||||
| private Integer source; | private Integer source; | ||||
| @TableField(exist = false) | |||||
| private List<Integer> sourceList; | |||||
| } | } | ||||
| @@ -16,31 +16,33 @@ import lombok.ToString; | |||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||
| public class WxCardSpendVo extends WxCardSpend { | public class WxCardSpendVo extends WxCardSpend { | ||||
| @io.swagger.annotations.ApiModelProperty(value="卡类型EnumCardInfoType",name="cardType") | |||||
| @Excel(name = "卡类型", width = 20,replace = {"电子卡_0","实体卡_1"}, orderNum = "1") | |||||
| private Integer cardType; | |||||
| @Excel(name = "卡号", width = 20, orderNum = "2") | |||||
| @io.swagger.annotations.ApiModelProperty(value="卡号",name="cardId") | |||||
| private Long cardId; | |||||
| @Excel(name = "消费者", width = 20, orderNum = "3") | |||||
| @io.swagger.annotations.ApiModelProperty(value="持有人昵称",name="onickName") | |||||
| private String onickName; | |||||
| @Excel(name = "手机", width = 20, orderNum = "4") | |||||
| @io.swagger.annotations.ApiModelProperty(value="持有人绑定的手机号",name="ouPhone") | |||||
| private String ouPhone; | |||||
| /**卡信息*/ | /**卡信息*/ | ||||
| @io.swagger.annotations.ApiModelProperty(value="卡券名称",name="title") | @io.swagger.annotations.ApiModelProperty(value="卡券名称",name="title") | ||||
| @Excel(name = "卡名称", width = 20, orderNum = "3") | |||||
| @Excel(name = "卡名称", width = 20, orderNum = "5") | |||||
| private String title; | private String title; | ||||
| @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") | @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") | ||||
| @Excel(name = "消费商户", width = 20, orderNum = "4") | |||||
| @Excel(name = "消费商户", width = 20, orderNum = "6") | |||||
| private String merchantName; | private String merchantName; | ||||
| @Excel(name = "补贴额(包含通道费)", width = 20, orderNum = "6") | |||||
| @io.swagger.annotations.ApiModelProperty(value="补贴额(包含通道费)",name="subsidy") | @io.swagger.annotations.ApiModelProperty(value="补贴额(包含通道费)",name="subsidy") | ||||
| private Integer subsidy; | private Integer subsidy; | ||||
| @Excel(name = "线上补贴额/实收补贴额(通道费扣除)", width = 20, orderNum = "7") | |||||
| @io.swagger.annotations.ApiModelProperty(value="线上补贴额/实收补贴额(通道费扣除)",name="realSubsidy") | @io.swagger.annotations.ApiModelProperty(value="线上补贴额/实收补贴额(通道费扣除)",name="realSubsidy") | ||||
| private Integer realSubsidy; | private Integer realSubsidy; | ||||
| @io.swagger.annotations.ApiModelProperty(value="补贴状态(0:未补贴, 1:已补贴)",name="status") | @io.swagger.annotations.ApiModelProperty(value="补贴状态(0:未补贴, 1:已补贴)",name="status") | ||||
| private Integer status; | private Integer status; | ||||
| @Excel(name = "消费者", width = 20, orderNum = "1") | |||||
| @io.swagger.annotations.ApiModelProperty(value="持有人昵称",name="onickName") | |||||
| private String onickName; | |||||
| @Excel(name = "手机", width = 20, orderNum = "2") | |||||
| @io.swagger.annotations.ApiModelProperty(value="持有人绑定的手机号",name="ouPhone") | |||||
| private String ouPhone; | |||||
| @io.swagger.annotations.ApiModelProperty(value="账单来源查询条件",name="sources") | @io.swagger.annotations.ApiModelProperty(value="账单来源查询条件",name="sources") | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private List<Integer> sources; | private List<Integer> sources; | ||||
| @@ -54,7 +56,5 @@ public class WxCardSpendVo extends WxCardSpend { | |||||
| private Date couponOnlineStartDate; | private Date couponOnlineStartDate; | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Date couponOnlineEndDate; | private Date couponOnlineEndDate; | ||||
| @TableField(exist = false) | |||||
| private List<Long> cardIdList; | |||||
| } | } | ||||
| @@ -15,8 +15,6 @@ public interface WxCardSpendMapper extends CommonMapper<WxCardSpend, Long> { | |||||
| List<Map<String,Object>> getMerchantCount(WxCardSpend wxCardSpend); | List<Map<String,Object>> getMerchantCount(WxCardSpend wxCardSpend); | ||||
| List<WxCardSpendVo> findCardSpendVoList(WxCardSpendVo wxCardSpend); | |||||
| List<Map<String,Object>> sumCardSpendVoForMerchant(WxCardSpendVo wxCardSpend); | List<Map<String,Object>> sumCardSpendVoForMerchant(WxCardSpendVo wxCardSpend); | ||||
| List<Map<String,Object>> sumCardSpendVoForOwner(WxCardSpendVo wxCardSpend); | List<Map<String,Object>> sumCardSpendVoForOwner(WxCardSpendVo wxCardSpend); | ||||
| @@ -13,6 +13,7 @@ public interface WxMerchantSubsidyMapper extends CommonMapper<WxMerchantSubsidy, | |||||
| WxMerchantSubsidy selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | WxMerchantSubsidy selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | ||||
| List<WxMerchantSubsidy> findList(WxMerchantSubsidy wxMerchantSubsidy); | List<WxMerchantSubsidy> findList(WxMerchantSubsidy wxMerchantSubsidy); | ||||
| List<Long> findOrderIdList(WxMerchantSubsidy wxMerchantSubsidy); | |||||
| int updateByCond(WxMerchantSubsidy wxMerchantSubsidy); | int updateByCond(WxMerchantSubsidy wxMerchantSubsidy); | ||||
| @@ -1,5 +1,6 @@ | |||||
| package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.github.pagehelper.PageHelper; | import com.github.pagehelper.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| @@ -12,6 +13,7 @@ import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.PromotionCalc; | import com.iformall.domain.vo.PromotionCalc; | ||||
| import com.iformall.domain.vo.WxCardSpendVo; | import com.iformall.domain.vo.WxCardSpendVo; | ||||
| import com.iformall.domain.vo.WxCardVo; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.*; | import com.iformall.mapper.*; | ||||
| @@ -20,6 +22,7 @@ import com.iformall.utils.Constant; | |||||
| import com.iformall.utils.PayUtils; | import com.iformall.utils.PayUtils; | ||||
| import com.iformall.utils.RedisLock; | import com.iformall.utils.RedisLock; | ||||
| import org.apache.commons.beanutils.BeanUtils; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| @@ -30,7 +33,11 @@ import org.springframework.transaction.annotation.Transactional; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.lang.reflect.InvocationTargetException; | |||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.HashMap; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -93,6 +100,9 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| @Autowired | @Autowired | ||||
| WxCouponChannelMapper wxCouponChannelMapper; | WxCouponChannelMapper wxCouponChannelMapper; | ||||
| @Autowired | |||||
| WxCUserBasicInfoMapper wxCUserBasicInfoMapper; | |||||
| @Override | @Override | ||||
| public WxCouponMerchant checkMerchantInCoupon(WxCardInfo cardInfo, Long merchantId) { | public WxCouponMerchant checkMerchantInCoupon(WxCardInfo cardInfo, Long merchantId) { | ||||
| WxCouponMerchant couponMerchant = null; | WxCouponMerchant couponMerchant = null; | ||||
| @@ -394,15 +404,168 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| return false; | return false; | ||||
| } | } | ||||
| private List<WxCardSpendVo> handleToCardSpendVoList(List<WxCardSpend> list,TenantEntity tenantEntity) { | |||||
| if (null != list && list.size() > 0 ){ | |||||
| List<Long> merchantIdList = new ArrayList<Long>(); | |||||
| List<Long> cardInfoIdList = new ArrayList<Long>(); | |||||
| List<Long> merchantSubsidyOrderIdList = new ArrayList<Long>(); | |||||
| List<Long> userIdList = new ArrayList<Long>(); | |||||
| List<Long> couponIdList = new ArrayList<Long>(); | |||||
| for (int i = 0 ; i < list.size(); i++ ){ | |||||
| WxCardSpend _wcs = list.get(i); | |||||
| if (null != _wcs.getMerchantId() && (!merchantIdList.contains(_wcs.getMerchantId()))) { | |||||
| merchantIdList.add(_wcs.getMerchantId()) ; | |||||
| } | |||||
| if (null != _wcs.getCardId() && (!cardInfoIdList.contains(_wcs.getCardId()))) { | |||||
| cardInfoIdList.add(_wcs.getCardId()) ; | |||||
| } | |||||
| if (null != _wcs.getOrderId() && (!merchantSubsidyOrderIdList.contains(_wcs.getOrderId()))) { | |||||
| merchantSubsidyOrderIdList.add(_wcs.getOrderId()) ; | |||||
| } | |||||
| if (null != _wcs.getOwnerId() && (!userIdList.contains(_wcs.getOwnerId()))) { | |||||
| userIdList.add(_wcs.getOwnerId()) ; | |||||
| } | |||||
| } | |||||
| Map<Long,WxMerchant> merchantMap = new HashMap<Long,WxMerchant>(); | |||||
| if (merchantIdList.size() > 0 ){ | |||||
| WxMerchant mq = new WxMerchant(); | |||||
| mq.updateTenantInfo(tenantEntity); | |||||
| mq.setIds(merchantIdList); | |||||
| List<WxMerchant> merchantList = wxMerchantMapper.findList(mq); | |||||
| if (null != merchantList && merchantList.size() > 0 ){ | |||||
| for (int i = 0 ;i < merchantList.size();i++){ | |||||
| WxMerchant m = merchantList.get(i); | |||||
| merchantMap.put(m.getId(), m); | |||||
| } | |||||
| } | |||||
| } | |||||
| Map<Long,Long> cardCouponIdMap = new HashMap<Long,Long>(); | |||||
| if (cardInfoIdList.size() > 0 ){ | |||||
| WxCardInfo ciq = new WxCardInfo(); | |||||
| ciq.updateTenantInfo(tenantEntity); | |||||
| ciq.setIds(cardInfoIdList); | |||||
| List<WxCardInfo> cardInfoList = wxCardInfoMapper.findList(ciq); | |||||
| if (null != cardInfoList && cardInfoList.size() > 0 ){ | |||||
| for (int i = 0 ;i < cardInfoList.size();i++){ | |||||
| WxCardInfo ci = cardInfoList.get(i); | |||||
| if (null != ci.getId() && (!couponIdList.contains(ci.getId()))) { | |||||
| couponIdList.add(ci.getId()) ; | |||||
| cardCouponIdMap.put(ci.getId(),ci.getCouponId()); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| Map<Long,WxCoupon> couponMap = new HashMap<Long,WxCoupon>(); | |||||
| if (couponIdList.size() > 0 ){ | |||||
| WxCoupon cq = new WxCoupon(); | |||||
| cq.updateTenantInfo(tenantEntity); | |||||
| cq.setIds(couponIdList); | |||||
| List<WxCoupon> couponList = wxCouponMapper.findList(cq); | |||||
| if (null != couponList && couponList.size() > 0 ){ | |||||
| for (int i = 0 ;i < couponList.size();i++){ | |||||
| WxCoupon c = couponList.get(i); | |||||
| couponMap.put(c.getId(),c); | |||||
| } | |||||
| } | |||||
| } | |||||
| Map<Long,WxMerchantSubsidy> orderSubsidyMap = new HashMap<Long,WxMerchantSubsidy>(); | |||||
| if (merchantSubsidyOrderIdList.size() > 0 ){ | |||||
| WxMerchantSubsidy msq = new WxMerchantSubsidy(); | |||||
| msq.updateTenantInfo(tenantEntity); | |||||
| msq.setOrderIdList(merchantSubsidyOrderIdList); | |||||
| List<WxMerchantSubsidy> msqList = wxMerchantSubsidyMapper.findList(msq); | |||||
| if (null != msqList && msqList.size() > 0 ){ | |||||
| for (int i = 0 ;i < msqList.size();i++){ | |||||
| WxMerchantSubsidy c = msqList.get(i); | |||||
| orderSubsidyMap.put(c.getOrderId(),c); | |||||
| } | |||||
| } | |||||
| } | |||||
| Map<Long,WxCUserBasicInfo> userMap = new HashMap<Long,WxCUserBasicInfo>(); | |||||
| if (userIdList.size() > 0 ){ | |||||
| WxCUserBasicInfo u = new WxCUserBasicInfo(); | |||||
| u.setFinalTenantId(tenantEntity.getFinalTenantId()); | |||||
| u.setIds(userIdList); | |||||
| List<WxCUserBasicInfo> msqList = wxCUserBasicInfoMapper.findList(u); | |||||
| if (null != msqList && msqList.size() > 0 ){ | |||||
| for (int i = 0 ;i < msqList.size();i++){ | |||||
| WxCUserBasicInfo c = msqList.get(i); | |||||
| userMap.put(c.getId(),c); | |||||
| } | |||||
| } | |||||
| } | |||||
| List<WxCardSpendVo> retList = new ArrayList<WxCardSpendVo>(); | |||||
| for (int i = 0 ; i < list.size(); i++ ){ | |||||
| WxCardSpend _wcs = list.get(i); | |||||
| WxCardSpendVo vo = new WxCardSpendVo(); | |||||
| try { | |||||
| BeanUtils.copyProperties(vo, _wcs); | |||||
| if (null != _wcs.getMerchantId()) { | |||||
| WxMerchant merchant = merchantMap.get(_wcs.getMerchantId()); | |||||
| if (null != merchant) { | |||||
| vo.setMerchantName(merchant.getName()); | |||||
| } | |||||
| } | |||||
| if (null != _wcs.getCardId()) { | |||||
| Long couponId = cardCouponIdMap.get(_wcs.getCardId()); | |||||
| if (null != couponId) { | |||||
| WxCoupon coupon = couponMap.get(couponId); | |||||
| if (null != coupon) { | |||||
| vo.setTitle(coupon.getTitle()); | |||||
| } | |||||
| } | |||||
| } | |||||
| if (null != _wcs.getOrderId()) { | |||||
| WxMerchantSubsidy subsidy = orderSubsidyMap.get(_wcs.getOrderId()); | |||||
| if (null != subsidy) { | |||||
| vo.setSubsidy(subsidy.getSubsidy()); | |||||
| vo.setRealSubsidy(subsidy.getRealSubsidy()); | |||||
| vo.setStatus(subsidy.getStatus()); | |||||
| } | |||||
| } | |||||
| if (null != _wcs.getOwnerId()) { | |||||
| WxCUserBasicInfo user = userMap.get(_wcs.getOwnerId()); | |||||
| if (null != user) { | |||||
| vo.setOnickName(user.getNickName()); | |||||
| vo.setOuPhone(user.getPhone()); | |||||
| } | |||||
| } | |||||
| retList.add(vo); | |||||
| } catch (IllegalAccessException e) { | |||||
| e.printStackTrace(); | |||||
| } catch (InvocationTargetException e) { | |||||
| e.printStackTrace(); | |||||
| } | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| @Override | @Override | ||||
| public PageInfo<WxCardSpendVo> listAsPage(WxCardSpendVo record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxCardSpendVo> listAsPage(WxCardSpendVo record, Integer pageIndex, Integer pageSize) { | ||||
| handleCouponOnlineStartDate(record); | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCardSpendMapper.findCardSpendVoList(record)); | |||||
| handleQueryParam(record); | |||||
| PageInfo<WxCardSpend> cardInfoPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCardSpendMapper.findList(record)); | |||||
| PageInfo<WxCardSpendVo> pageInfo = new PageInfo<WxCardSpendVo>(); | |||||
| pageInfo.setList(handleToCardSpendVoList(cardInfoPage.getList(),record)); | |||||
| pageInfo.setPageNum(cardInfoPage.getPageNum()); | |||||
| pageInfo.setPageSize(cardInfoPage.getPageSize()); | |||||
| pageInfo.setPages(cardInfoPage.getPages()); | |||||
| pageInfo.setTotal(cardInfoPage.getTotal()); | |||||
| return pageInfo; | |||||
| } | } | ||||
| //处理券投放时间 | |||||
| private void handleCouponOnlineStartDate(WxCardSpendVo record){ | |||||
| private void handleQueryParam(WxCardSpendVo record){ | |||||
| //处理券投放时间 | |||||
| if (null != record.getCouponOnlineStartDate() || null != record.getCouponOnlineEndDate() ) { | if (null != record.getCouponOnlineStartDate() || null != record.getCouponOnlineEndDate() ) { | ||||
| WxCouponChannel wxCouponChannelQ = new WxCouponChannel(); | WxCouponChannel wxCouponChannelQ = new WxCouponChannel(); | ||||
| wxCouponChannelQ.updateTenantInfo(record); | wxCouponChannelQ.updateTenantInfo(record); | ||||
| @@ -423,6 +586,31 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| if (null != record.getStatus() || null != record.getSources() || null != record.getCardSpendListShow()) { | |||||
| WxMerchantSubsidy subq = new WxMerchantSubsidy(); | |||||
| subq.updateTenantInfo(record); | |||||
| subq.setStatus(record.getStatus()); | |||||
| subq.setSourceList(record.getSources()); | |||||
| subq.setCardSpendListShow(record.getCardSpendListShow()); | |||||
| List<Long> orderList = wxMerchantSubsidyMapper.findOrderIdList(subq); | |||||
| if (null == orderList || orderList.size() <=0 ){ | |||||
| record.setId(-999L); | |||||
| }else { | |||||
| record.setOrderIdList(orderList); | |||||
| } | |||||
| } | |||||
| if (StringUtils.isNotBlank(record.getOuPhone())) { | |||||
| WxCUserBasicInfo uq = new WxCUserBasicInfo(); | |||||
| uq.setFinalTenantId(record.getFinalTenantId()); | |||||
| uq.setPhone(record.getOuPhone()); | |||||
| List<Long> uids = wxCUserBasicInfoMapper.findIdList(uq); | |||||
| if (null == uids || uids.size() <=0 ){ | |||||
| record.setId(-999L); | |||||
| }else { | |||||
| record.setOwnerIdList(uids); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -668,8 +856,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||||
| @Override | @Override | ||||
| public void exportData(WxCardSpendVo record, HttpServletRequest request, HttpServletResponse response) { | public void exportData(WxCardSpendVo record, HttpServletRequest request, HttpServletResponse response) { | ||||
| handleCouponOnlineStartDate(record); | |||||
| List<WxCardSpendVo> list = wxCardSpendMapper.findCardSpendVoList(record); | |||||
| handleQueryParam(record); | |||||
| List<WxCardSpendVo> list = listAsPage(record,0,50000).getList(); | |||||
| excelService.exportExcel(list, null, "卡消费记录", WxCardSpendVo.class, "卡消费记录.xlsx", response, false); | excelService.exportExcel(list, null, "卡消费记录", WxCardSpendVo.class, "卡消费记录.xlsx", response, false); | ||||
| } | } | ||||
| @@ -89,10 +89,38 @@ | |||||
| <if test=" null != payFrom "> | <if test=" null != payFrom "> | ||||
| and `pay_from` = #{payFrom} | and `pay_from` = #{payFrom} | ||||
| </if> | </if> | ||||
| <if test=" null != startdate and null!=enddate"> | |||||
| and `create_date` between #{startdate} and #{enddate} | |||||
| <if test=" null != startdate"> | |||||
| and `create_date` >= #{startdate} | |||||
| </if> | |||||
| <if test="null != enddate"> | |||||
| and `create_date` <= and #{enddate} | |||||
| </if> | |||||
| <if test=" null != payStatusS "> | |||||
| and `pay_status` in | |||||
| <foreach collection="payStatusS" index="index" item="psItem" open="(" separator="," close=")"> | |||||
| #{psItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != cardIdList "> | |||||
| and `card_id` in | |||||
| <foreach collection="cardIdList" index="index" item="cardIdItem" open="(" separator="," close=")"> | |||||
| #{cardIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ownerIdList "> | |||||
| and owner_id in | |||||
| <foreach collection="ownerIdList" index="index" item="owneridItem" open="(" separator="," close=")"> | |||||
| #{owneridItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != orderIdList "> | |||||
| and order_id in | |||||
| <foreach collection="orderIdList" index="index" item="oidItem" open="(" separator="," close=")"> | |||||
| #{oidItem} | |||||
| </foreach> | |||||
| </if> | </if> | ||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| @@ -229,152 +257,6 @@ | |||||
| group by cs.merchant_id | group by cs.merchant_id | ||||
| </select> | </select> | ||||
| <resultMap id="VoResultMap" type="com.iformall.domain.vo.WxCardSpendVo"> | |||||
| <id column="id" jdbcType="BIGINT" property="id"/> | |||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | |||||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" /> | |||||
| <result column="card_id" jdbcType="BIGINT" property="cardId"/> | |||||
| <result column="owner_id" jdbcType="BIGINT" property="ownerId"/> | |||||
| <result column="merchant_id" jdbcType="BIGINT" property="merchantId"/> | |||||
| <result column="order_id" jdbcType="BIGINT" property="orderId"/> | |||||
| <result column="pos_order_id" jdbcType="BIGINT" property="posOrderId"/> | |||||
| <result column="deduction_amount" jdbcType="INTEGER" property="deductionAmount"/> | |||||
| <result column="payment" jdbcType="INTEGER" property="payment"/> | |||||
| <result column="real_payment" jdbcType="INTEGER" property="realPayment"/> | |||||
| <result column="card_remain_amount" jdbcType="INTEGER" property="cardRemainAmount"/> | |||||
| <result column="card_before_amount" jdbcType="INTEGER" property="cardBeforeAmount"/> | |||||
| <result column="card_remain_real_amount" jdbcType="INTEGER" property="cardRemainRealAmount"/> | |||||
| <result column="card_before_real_amount" jdbcType="INTEGER" property="cardBeforeRealAmount"/> | |||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate"/> | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | |||||
| <result column="pay_status" jdbcType="INTEGER" property="payStatus"/> | |||||
| <result column="title" jdbcType="VARCHAR" property="title"/> | |||||
| <result column="name" jdbcType="VARCHAR" property="merchantName"/> | |||||
| <result column="subsidy" jdbcType="INTEGER" property="subsidy"/> | |||||
| <result column="real_subsidy" jdbcType="INTEGER" property="realSubsidy"/> | |||||
| <result column="status" jdbcType="INTEGER" property="status"/> | |||||
| <result column="onick_name" jdbcType="VARCHAR" property="onickName"/> | |||||
| <result column="ou_phone" jdbcType="VARCHAR" property="ouPhone"/> | |||||
| </resultMap> | |||||
| <sql id="allVoColumns"> | |||||
| cs.`id`,cs.`tenant_id`,cs.`parent_tenant_id`,cs.`card_id`,cs.`owner_id`,cs.`merchant_id`,cs.`order_id`,cs.`deduction_amount`,cs.`payment`,cs.`real_payment`, | |||||
| cs.`card_remain_amount`,cs.`card_before_amount`,cs.`card_remain_real_amount`,cs.`card_before_real_amount`, | |||||
| cs.`create_date`,cs.`update_date`, cs.`pay_status`, | |||||
| m.`name`, c.`title`, | |||||
| ms.`subsidy`,ms.`real_subsidy`,ms.`status`, | |||||
| ou.`nick_name` as onick_name, ou.`phone` as ou_phone | |||||
| </sql> | |||||
| <sql id="dynamicVoWhereConditions"> | |||||
| where 1 = 1 | |||||
| <if test=" null != id "> | |||||
| and cs.`id` = #{id} | |||||
| </if> | |||||
| <if test=" null != tenantId and '' != tenantId"> | |||||
| and cs.`tenant_id` = #{tenantId} | |||||
| </if> | |||||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||||
| and cs.`parent_tenant_id` = #{parentTenantId} | |||||
| </if> | |||||
| <if test=" null != cardId "> | |||||
| and cs.`card_id` = #{cardId} | |||||
| </if> | |||||
| <if test=" null != ownerId "> | |||||
| and cs.`owner_id` = #{ownerId} | |||||
| </if> | |||||
| <if test=" null != merchantId "> | |||||
| and cs.`merchant_id` = #{merchantId} | |||||
| </if> | |||||
| <if test=" null != orderId "> | |||||
| and cs.`order_id` = #{orderId} | |||||
| </if> | |||||
| <if test=" null != deductionAmount "> | |||||
| and cs.`deduction_amount` = #{deductionAmount} | |||||
| </if> | |||||
| <if test=" null != payment "> | |||||
| and cs.`payment` = #{payment} | |||||
| </if> | |||||
| <if test=" null != realPayment "> | |||||
| and cs.`real_payment` = #{realPayment} | |||||
| </if> | |||||
| <if test=" null != cardRemainAmount "> | |||||
| and cs.`card_remain_amount` = #{cardRemainAmount} | |||||
| </if> | |||||
| <if test=" null != cardBeforeAmount "> | |||||
| and cs.`card_before_amount` = #{cardBeforeAmount} | |||||
| </if> | |||||
| <if test=" null != cardRemainRealAmount "> | |||||
| and cs.`card_remain_real_amount` = #{cardRemainRealAmount} | |||||
| </if> | |||||
| <if test=" null != cardBeforeRealAmount "> | |||||
| and cs.`card_before_real_amount` = #{cardBeforeRealAmount} | |||||
| </if> | |||||
| <if test=" null != payStatus "> | |||||
| and cs.`pay_status` = #{payStatus} | |||||
| </if> | |||||
| <if test=" null != status "> | |||||
| and ms.`status` = #{status} | |||||
| </if> | |||||
| <if test=" null != sources "> | |||||
| and ( ms.source is null or ms.source in | |||||
| <foreach collection="sources" index="index" item="sourceItem" open="(" separator="," close=")"> | |||||
| #{sourceItem} | |||||
| </foreach> | |||||
| ) | |||||
| </if> | |||||
| <if test=" null != cardSpendListShow "> | |||||
| and ( ms.card_spend_list_show is null or ms.card_spend_list_show = #{cardSpendListShow} ) | |||||
| </if> | |||||
| <if test=" null != ouPhone and '' != ouPhone "> | |||||
| and ou.`phone` = #{ouPhone} | |||||
| </if> | |||||
| <if test=" null != startdate and null!=enddate"> | |||||
| and cs.`create_date` between #{startdate} and #{enddate} | |||||
| </if> | |||||
| <if test=" null != payStatusS "> | |||||
| and cs.`pay_status` in | |||||
| <foreach collection="payStatusS" index="index" item="sItem" open="(" separator="," close=")"> | |||||
| #{sItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != cardIdList "> | |||||
| and cs.`card_id` in | |||||
| <foreach collection="cardIdList" index="index" item="cardIdItem" open="(" separator="," close=")"> | |||||
| #{cardIdItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ids "> | |||||
| and cs.id in | |||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||||
| #{idItem} | |||||
| </foreach> | |||||
| </if> | |||||
| </sql> | |||||
| <select id="findCardSpendVoList" parameterType="com.iformall.domain.vo.WxCardSpendVo" resultMap="VoResultMap"> | |||||
| select | |||||
| <include refid="allVoColumns"/> | |||||
| from wx_card_spend cs | |||||
| left join wx_coupon_order co on co.id = cs.card_id | |||||
| left join wx_coupon c on c.id = co.coupon_id | |||||
| left join wx_merchant m on m.id = cs.merchant_id | |||||
| left join wx_merchant_subsidy ms on ms.order_id = cs.order_id | |||||
| left join wx_c_user_basic_info ou on ou.id = co.owner_id | |||||
| <include refid="dynamicVoWhereConditions"/> | |||||
| order by cs.create_date DESC | |||||
| </select> | |||||
| <select id="sumCardSpendVoForMerchant" parameterType="com.iformall.domain.vo.WxCardSpendVo" resultType="hashmap"> | <select id="sumCardSpendVoForMerchant" parameterType="com.iformall.domain.vo.WxCardSpendVo" resultType="hashmap"> | ||||
| select cs.merchant_id, m.name as merchantName, | select cs.merchant_id, m.name as merchantName, | ||||
| IFNULL(SUM(cs.`deduction_amount`),0) as sum_deduction_amount, | IFNULL(SUM(cs.`deduction_amount`),0) as sum_deduction_amount, | ||||
| @@ -94,12 +94,29 @@ | |||||
| and `source` = #{source} | and `source` = #{source} | ||||
| </if> | </if> | ||||
| <if test=" null != cardSpendListShow "> | |||||
| and ( card_spend_list_show is null or card_spend_list_show = #{cardSpendListShow} ) | |||||
| </if> | |||||
| <if test=" null != sourceList "> | |||||
| and (source is null or`source` in | |||||
| <foreach collection="sourceList" index="index" item="sourceItem" open="(" separator="," close=")"> | |||||
| #{sourceItem} | |||||
| </foreach> | |||||
| ) | |||||
| </if> | |||||
| <if test=" null != statusS "> | <if test=" null != statusS "> | ||||
| and `status` in | and `status` in | ||||
| <foreach collection="statusS" index="index" item="sItem" open="(" separator="," close=")"> | <foreach collection="statusS" index="index" item="sItem" open="(" separator="," close=")"> | ||||
| #{sItem} | #{sItem} | ||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| <if test=" null != orderIdList "> | |||||
| and order_id in | |||||
| <foreach collection="orderIdList" index="index" item="oidItem" open="(" separator="," close=")"> | |||||
| #{oidItem} | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| @@ -122,6 +139,11 @@ | |||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| </select> | </select> | ||||
| <select id="findOrderIdList" parameterType="com.iformall.domain.po.WxMerchantSubsidy" resultType="Long"> | |||||
| select distinct order_id from wx_merchant_subsidy | |||||
| <include refid="dynamicWhereConditions" /> | |||||
| </select> | |||||
| <update id="updateByCond" parameterType="com.iformall.domain.po.WxMerchantSubsidy"> | <update id="updateByCond" parameterType="com.iformall.domain.po.WxMerchantSubsidy"> | ||||
| update wx_merchant_subsidy | update wx_merchant_subsidy | ||||
| set `status` = #{status} | set `status` = #{status} | ||||