| @@ -0,0 +1,60 @@ | |||
| package com.iformall.controller.market; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.base.BaseEntity; | |||
| import com.iformall.service.WxFinanceService; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| import io.swagger.annotations.ApiImplicitParams; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.GetMapping; | |||
| import org.springframework.web.bind.annotation.ModelAttribute; | |||
| import org.springframework.web.bind.annotation.PostMapping; | |||
| import org.springframework.web.bind.annotation.RequestBody; | |||
| import org.springframework.web.bind.annotation.RequestMapping; | |||
| import org.springframework.web.bind.annotation.RestController; | |||
| @RestController | |||
| @RequestMapping("finance") | |||
| @Api(description = "财务相关接口") | |||
| public class WxFinanceController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| private WxFinanceService wxFinanceService; | |||
| @ApiOperation("支付方式列表") | |||
| @GetMapping("payWayList") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), | |||
| }) | |||
| public ResultData payWayList(@ModelAttribute WxBillPayWay record, Integer pageNum, Integer pageSize) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); | |||
| PageInfo<WxBillPayWay> page = wxFinanceService.payWayListAsPage(record, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("能源表新增修改") | |||
| @PostMapping("savePayWay") | |||
| public ResultData savePayWay(@RequestBody WxBillPayWay record) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| wxFinanceService.saveOrUpdatePayWay(record); | |||
| return new ResultData(); | |||
| } | |||
| @PostMapping("payWayUpdateIsDel") | |||
| public ResultData payWayUpdateIsDel(@RequestBody WxBillPayWay record) { | |||
| record.updateTenantInfo(getTenantInfo()); | |||
| wxFinanceService.updatePayWayIsDel(record); | |||
| return new ResultData(); | |||
| } | |||
| } | |||
| @@ -3,10 +3,11 @@ package com.iformall.controller.callback; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMall; | |||
| import com.iformall.domain.po.msg.FmInsideNotifyBillPaidSuccessMsg; | |||
| import com.iformall.domain.po.msg.FmInsideNotifyCarPaidSuccessMsg; | |||
| import com.iformall.enums.EnumBillPayChannel; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.enums.EnumMsgMqKey; | |||
| import com.iformall.enums.EnumMsgMqTag; | |||
| import com.iformall.enums.EnumMsgMqTopic; | |||
| @@ -18,9 +19,12 @@ import com.iformall.exception.MallinkException; | |||
| import com.iformall.mq.MqBaseProducer; | |||
| import com.iformall.pay.WxPayment; | |||
| import com.iformall.service.MailService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMallService; | |||
| import com.iformall.service.WxPayBillService; | |||
| import com.iformall.service.WxRefundOrderService; | |||
| import com.iformall.service.msg.impl.FmInsideNotifyBillPaidSuccessMsgServiceImpl; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import com.iformall.utils.XmlUtil; | |||
| import org.apache.commons.io.IOUtils; | |||
| @@ -72,16 +76,22 @@ public class WxPayBillController extends BaseController { | |||
| @Autowired | |||
| private MqBaseProducer mqBaseProducer; | |||
| @Autowired | |||
| private WxFinanceService wxFinanceService; | |||
| @Autowired | |||
| private WxMallService wxMallService; | |||
| @Autowired | |||
| private FmInsideNotifyBillPaidSuccessMsgServiceImpl fmInsideNotifyBillPaidSuccessMsgServiceImpl; | |||
| private void handleCallBack(String tenantId,EnumMsgRecordType msgType,EnumBillPayChannel payChannel,EnumBillPayWay payWay,Map params) throws Exception { | |||
| private void handleCallBack(String tenantId,EnumMsgRecordType msgType,EnumBillPayChannel payChannel,WxBillPayWay payWay,Map params) throws Exception { | |||
| FmInsideNotifyBillPaidSuccessMsg refundSuccessMsg = new FmInsideNotifyBillPaidSuccessMsg(); | |||
| refundSuccessMsg.setTenantId(tenantId); | |||
| refundSuccessMsg.setMsgType(msgType.getCode()); | |||
| refundSuccessMsg.setDelayTimeLevel(3); | |||
| refundSuccessMsg.setPayChannel(payChannel.getCode()); | |||
| refundSuccessMsg.setPayWay(payWay.getCode()); | |||
| refundSuccessMsg.setPayWayJson(JSON.toJSONString(payWay)); | |||
| refundSuccessMsg.setJsonMsg(JSON.toJSONString(params)); | |||
| fmInsideNotifyBillPaidSuccessMsgServiceImpl.send(refundSuccessMsg); | |||
| //mqBaseProducer.sendMessage(refundSuccessMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | |||
| @@ -96,7 +106,9 @@ public class WxPayBillController extends BaseController { | |||
| xml = IOUtils.toString(request.getInputStream(), Charset.forName("UTF-8")); | |||
| paramMap = WxPayment.xmlToMap(xml); | |||
| paramMap.put("tenantId", tenantId); | |||
| handleCallBack(tenantId, EnumMsgRecordType.BILL_PAID, EnumBillPayChannel.WX_MINI_PROGRAM, EnumBillPayWay.WECHAT_PAY, paramMap); | |||
| WxMall mall = wxMallService.getByTenantId(tenantId); | |||
| WxBillPayWay payWay = wxFinanceService.getPayWayById(mall, Constant.bill_pay_way_minigrame); | |||
| handleCallBack(tenantId, EnumMsgRecordType.BILL_PAID, EnumBillPayChannel.WX_MINI_PROGRAM, payWay, paramMap); | |||
| logger.info("billPaid wxpay, notify success, req : " + xml + ", resp: " + response.toString()); | |||
| SortedMap resultMap = new TreeMap(); | |||
| resultMap.put("return_code", "SUCCESS"); | |||
| @@ -127,22 +139,16 @@ public class WxPayBillController extends BaseController { | |||
| @RequestMapping(value = "/jianhang/paid/{tenantId}") | |||
| public String jianhangPaidCallback(@PathVariable String tenantId,HttpServletRequest request) { | |||
| try { | |||
| EnumBillPayWay payWay = null; | |||
| String payway_real = request.getParameter("ACC_TYPE"); | |||
| if ("AL".equals(payway_real.toUpperCase())) { | |||
| payWay = EnumBillPayWay.ALIPAY; | |||
| }else if ("WX".equals(payway_real.toUpperCase())) { | |||
| payWay = EnumBillPayWay.WECHAT_PAY; | |||
| }else { | |||
| payWay = EnumBillPayWay.BANK; | |||
| } | |||
| WxMall mall = wxMallService.getByTenantId(tenantId); | |||
| WxBillPayWay payWay = wxFinanceService.getPayWayById(mall, Constant.bill_pay_way_minigrame); | |||
| Map paramMap = new HashMap(); | |||
| paramMap.put("SUCCESS", request.getParameter("SUCCESS")); | |||
| paramMap.put("PAYMENT", request.getParameter("PAYMENT")); | |||
| paramMap.put("REMARK1", request.getParameter("REMARK1")); | |||
| paramMap.put("REMARK2", request.getParameter("REMARK2")); | |||
| paramMap.put("ORDERID", request.getParameter("ORDERID")); | |||
| paramMap.put("ACC_TYPE", payway_real); | |||
| //paramMap.put("ACC_TYPE", payway_real); | |||
| logger.info("jianhang paid:"+JSON.toJSONString(paramMap)); | |||
| handleCallBack(tenantId, EnumMsgRecordType.BILL_PAID, EnumBillPayChannel.BANK_JIANSHE_MA, payWay, paramMap); | |||
| return "success"; | |||
| @@ -63,171 +63,171 @@ public class PowerBillAutoBuildSchedule { | |||
| */ | |||
| // @Async | |||
| // @Scheduled(cron = "0 0 5 * * ?") | |||
| public void powerBillAutoConfigStart() { | |||
| logger.info("自动生成电费账单开始...."); | |||
| int dayOfMonth = LocalDate.now().getDayOfMonth(); | |||
| List<WxPowerBillAutoConfig> wxPowerBillAutoConfigs = wxPowerBillAutoConfigMapper.selectList(new QueryWrapper(null)); | |||
| if (null != wxPowerBillAutoConfigs) { | |||
| wxPowerBillAutoConfigs = wxPowerBillAutoConfigs.stream().filter(config -> StringUtils.isNotEmpty(config.getUnitPrice()) | |||
| && StringUtils.isNotEmpty(config.getBuildDay()) | |||
| && StringUtils.isNotEmpty(config.getReceiveDay())) | |||
| .collect(Collectors.toList()); | |||
| for (int i = 0; i < wxPowerBillAutoConfigs.size(); i++) { | |||
| WxPowerBillAutoConfig wxPowerBillAutoConfig = wxPowerBillAutoConfigs.get(i); | |||
| if (String.valueOf(dayOfMonth).equals(wxPowerBillAutoConfig.getBuildDay())) { | |||
| merchantPowerBillConfigStart(wxPowerBillAutoConfig); | |||
| } | |||
| } | |||
| } | |||
| logger.info("自动生成电费账单结束...."); | |||
| } | |||
| private void merchantPowerBillConfigStart(WxPowerBillAutoConfig wxPowerBillAutoConfig) { | |||
| WxMerchantPowerBillConfig wxMerchantPowerBillConfig = new WxMerchantPowerBillConfig(); | |||
| wxMerchantPowerBillConfig.updateTenantInfo(wxPowerBillAutoConfig); | |||
| List<WxMerchantPowerBillConfig> wxMerchantPowerBillConfigs = wxMerchantPowerBillConfigMapper.selectList(new QueryWrapper(wxMerchantPowerBillConfig)); | |||
| if (null != wxMerchantPowerBillConfigs) { | |||
| for (int i = 0; i < wxMerchantPowerBillConfigs.size(); i++) { | |||
| buildPowerBill(wxMerchantPowerBillConfigs.get(i), wxPowerBillAutoConfig); | |||
| } | |||
| } | |||
| } | |||
| private void buildPowerBill(WxMerchantPowerBillConfig wxMerchantPowerBillConfig, WxPowerBillAutoConfig wxPowerBillAutoConfig) { | |||
| Map<String, Date> monthDate = getLastMonthDate(); | |||
| Date startdate = monthDate.get("startdate"); | |||
| Date enddate = monthDate.get("enddate"); | |||
| Date lastdate = monthDate.get("lastdate"); | |||
| MallUserInfo mallUserInfo = getMallUserInfo(); | |||
| WxBillDaily wxBillDaily = getBillDaily(wxMerchantPowerBillConfig); | |||
| Date receiveDate = getReceiveDate(Integer.parseInt(wxPowerBillAutoConfig.getReceiveDay())); | |||
| String receivePay; | |||
| String unitPrice; | |||
| long usedPower = 0L; | |||
| Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | |||
| if (wxMerchantPowerBillConfig.getBuildWay().equals(EnumPowerBillBuildWay.METER.getCode())) { | |||
| //根据日期拉取电量 单价 * 电量 = 电费 | |||
| usedPower = getUsedPower(startdate, lastdate, merchantId); | |||
| if (usedPower == 0) { | |||
| logger.info("没有电量使用,不生成账单>>>>商户ID:" + merchantId); | |||
| return; | |||
| } | |||
| //按电表 单价从商户配置表中取 因为会修改 | |||
| unitPrice = wxMerchantPowerBillConfig.getPrice(); | |||
| receivePay = new BigDecimal(unitPrice).multiply(new BigDecimal(usedPower)) | |||
| .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_EVEN).toPlainString(); | |||
| } else { | |||
| //按固定金额 单位从统一配置表中取 | |||
| unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | |||
| String price = wxMerchantPowerBillConfig.getPrice(); | |||
| receivePay = new BigDecimal(price).toPlainString(); | |||
| } | |||
| JSONArray priceDetals = new JSONArray(); | |||
| JSONObject priceDetal = new JSONObject(); | |||
| priceDetal.put("key", "unitPrice"); | |||
| priceDetal.put("value", unitPrice); | |||
| priceDetals.add(priceDetal); | |||
| priceDetal = new JSONObject(); | |||
| priceDetal.put("key", "power"); | |||
| priceDetal.put("value", new BigDecimal(usedPower).divide(new BigDecimal(100)).toPlainString()); | |||
| priceDetals.add(priceDetal); | |||
| wxBillDaily.setReceivePay(receivePay); | |||
| wxBillDaily.setNeedPay(receivePay); | |||
| wxBillDaily.setReceiveDate(receiveDate); | |||
| wxBillDaily.setStarttime(startdate); | |||
| wxBillDaily.setEndtime(enddate); | |||
| wxBillDaily.setPriceDetail(priceDetals.toJSONString()); | |||
| wxBillDaily.setBuildWay(EnumBillDailyBuildWay.AUTO.getCode()); | |||
| wxBillDailyService.saveOrUpdate(wxBillDaily, mallUserInfo); | |||
| } | |||
| private int getUsedPower(Date startdate, Date lastdate, Long merchantId) { | |||
| KwMerchantMeter kwMerchantMeter = new KwMerchantMeter(); | |||
| kwMerchantMeter.setMerchantId(merchantId); | |||
| kwMerchantMeter.setStatus(EnumMerchantMeterStatus.VALID.getCode()); | |||
| List<KwMerchantMeter> merchantMeterList = kwMerchantMeterMapper.selectList(new QueryWrapper(kwMerchantMeter)); | |||
| int usedPower = 0; | |||
| if (!merchantMeterList.isEmpty()) { | |||
| int size = merchantMeterList.size(); | |||
| for (int i = 0; i < size; i++) { | |||
| KwMerchantMeter merchantMeter = merchantMeterList.get(i); | |||
| KwMeterDataDto kwMeterDataDto = new KwMeterDataDto(); | |||
| kwMeterDataDto.updateTenantInfo(merchantMeter); | |||
| kwMeterDataDto.setMeterId(merchantMeter.getMeterId()); | |||
| kwMeterDataDto.setStartTime(startdate); | |||
| kwMeterDataDto.setEndTime(lastdate); | |||
| KwMeterDataVo power = kwMeterDataService.getPower(kwMeterDataDto); | |||
| if (power != null) { | |||
| Optional<Integer> usedPowerOptional = Optional.ofNullable(power.getUsedPower()); | |||
| Integer integer = usedPowerOptional.orElse(0); | |||
| usedPower += integer; | |||
| } | |||
| } | |||
| } | |||
| return usedPower; | |||
| } | |||
| private WxBillDaily getBillDaily(WxMerchantPowerBillConfig wxMerchantPowerBillConfig) { | |||
| WxBillDaily wxBillDaily = new WxBillDaily(); | |||
| Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | |||
| wxBillDaily.setShopId(getShopId(merchantId)); | |||
| wxBillDaily.updateTenantInfo(wxMerchantPowerBillConfig); | |||
| wxBillDaily.setMerchantId(merchantId); | |||
| wxBillDaily.setMerchantName(wxMerchantPowerBillConfig.getMerchantName()); | |||
| wxBillDaily.setType(EnumBillDailyType.POWER.getCode()); | |||
| wxBillDaily.setRentShopType(wxMerchantPowerBillConfig.getMerchantType()); | |||
| wxBillDaily.setPay("0"); | |||
| wxBillDaily.setPayWay(EnumBillPayWay.OTHER.getCode()); | |||
| return wxBillDaily; | |||
| } | |||
| private Map<String, Date> getLastMonthDate() { | |||
| ZoneId zoneId = ZoneOffset.systemDefault(); | |||
| LocalDate now = LocalDate.now().minusMonths(1L); | |||
| now = now.with(TemporalAdjusters.firstDayOfMonth()); | |||
| Instant start = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| Date first = Date.from(start); | |||
| now = now.with(TemporalAdjusters.lastDayOfMonth()); | |||
| Instant end = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| Date last = Date.from(end); | |||
| now = now.with(TemporalAdjusters.firstDayOfNextMonth()); | |||
| Instant lastday = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| Date next = Date.from(lastday); | |||
| Map<String, Date> dateMap = new HashMap<>(3); | |||
| dateMap.put("startdate", first); | |||
| dateMap.put("enddate", last); | |||
| dateMap.put("lastdate", next); | |||
| return dateMap; | |||
| } | |||
| private Date getReceiveDate(int day) { | |||
| ZoneId zoneId = ZoneOffset.systemDefault(); | |||
| LocalDate of = LocalDate.of(LocalDate.now().getYear(), LocalDate.now().getMonth(), day); | |||
| Instant instant = of.atStartOfDay().atZone(zoneId).toInstant(); | |||
| return Date.from(instant); | |||
| } | |||
| private Long getShopId(Long merchantId) { | |||
| WxMerchantShop wxMerchantShop = new WxMerchantShop(); | |||
| wxMerchantShop.setMerchantId(merchantId); | |||
| wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | |||
| List<WxMerchantShop> select = wxMerchantShopMapper.selectList(new QueryWrapper(wxMerchantShop)); | |||
| if (!select.isEmpty()) { | |||
| return select.get(0).getShopId(); | |||
| } | |||
| return 0L; | |||
| } | |||
| private MallUserInfo getMallUserInfo() { | |||
| MallUserInfo mallUserInfo = new MallUserInfo(); | |||
| mallUserInfo.setId(0L); | |||
| mallUserInfo.setName("系统生成"); | |||
| mallUserInfo.setPhone("0"); | |||
| return mallUserInfo; | |||
| } | |||
| // public void powerBillAutoConfigStart() { | |||
| // logger.info("自动生成电费账单开始...."); | |||
| // int dayOfMonth = LocalDate.now().getDayOfMonth(); | |||
| // List<WxPowerBillAutoConfig> wxPowerBillAutoConfigs = wxPowerBillAutoConfigMapper.selectList(new QueryWrapper(null)); | |||
| // if (null != wxPowerBillAutoConfigs) { | |||
| // wxPowerBillAutoConfigs = wxPowerBillAutoConfigs.stream().filter(config -> StringUtils.isNotEmpty(config.getUnitPrice()) | |||
| // && StringUtils.isNotEmpty(config.getBuildDay()) | |||
| // && StringUtils.isNotEmpty(config.getReceiveDay())) | |||
| // .collect(Collectors.toList()); | |||
| // for (int i = 0; i < wxPowerBillAutoConfigs.size(); i++) { | |||
| // WxPowerBillAutoConfig wxPowerBillAutoConfig = wxPowerBillAutoConfigs.get(i); | |||
| // if (String.valueOf(dayOfMonth).equals(wxPowerBillAutoConfig.getBuildDay())) { | |||
| // merchantPowerBillConfigStart(wxPowerBillAutoConfig); | |||
| // } | |||
| // } | |||
| // } | |||
| // logger.info("自动生成电费账单结束...."); | |||
| // } | |||
| // | |||
| // private void merchantPowerBillConfigStart(WxPowerBillAutoConfig wxPowerBillAutoConfig) { | |||
| // WxMerchantPowerBillConfig wxMerchantPowerBillConfig = new WxMerchantPowerBillConfig(); | |||
| // wxMerchantPowerBillConfig.updateTenantInfo(wxPowerBillAutoConfig); | |||
| // List<WxMerchantPowerBillConfig> wxMerchantPowerBillConfigs = wxMerchantPowerBillConfigMapper.selectList(new QueryWrapper(wxMerchantPowerBillConfig)); | |||
| // if (null != wxMerchantPowerBillConfigs) { | |||
| // for (int i = 0; i < wxMerchantPowerBillConfigs.size(); i++) { | |||
| // buildPowerBill(wxMerchantPowerBillConfigs.get(i), wxPowerBillAutoConfig); | |||
| // } | |||
| // } | |||
| // } | |||
| // | |||
| // private void buildPowerBill(WxMerchantPowerBillConfig wxMerchantPowerBillConfig, WxPowerBillAutoConfig wxPowerBillAutoConfig) { | |||
| // | |||
| // Map<String, Date> monthDate = getLastMonthDate(); | |||
| // Date startdate = monthDate.get("startdate"); | |||
| // Date enddate = monthDate.get("enddate"); | |||
| // Date lastdate = monthDate.get("lastdate"); | |||
| // MallUserInfo mallUserInfo = getMallUserInfo(); | |||
| // WxBillDaily wxBillDaily = getBillDaily(wxMerchantPowerBillConfig); | |||
| // Date receiveDate = getReceiveDate(Integer.parseInt(wxPowerBillAutoConfig.getReceiveDay())); | |||
| // String receivePay; | |||
| // String unitPrice; | |||
| // long usedPower = 0L; | |||
| // Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | |||
| // if (wxMerchantPowerBillConfig.getBuildWay().equals(EnumPowerBillBuildWay.METER.getCode())) { | |||
| // //根据日期拉取电量 单价 * 电量 = 电费 | |||
| // usedPower = getUsedPower(startdate, lastdate, merchantId); | |||
| // if (usedPower == 0) { | |||
| // logger.info("没有电量使用,不生成账单>>>>商户ID:" + merchantId); | |||
| // return; | |||
| // } | |||
| // //按电表 单价从商户配置表中取 因为会修改 | |||
| // unitPrice = wxMerchantPowerBillConfig.getPrice(); | |||
| // receivePay = new BigDecimal(unitPrice).multiply(new BigDecimal(usedPower)) | |||
| // .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_EVEN).toPlainString(); | |||
| // } else { | |||
| // //按固定金额 单位从统一配置表中取 | |||
| // unitPrice = wxPowerBillAutoConfig.getUnitPrice(); | |||
| // String price = wxMerchantPowerBillConfig.getPrice(); | |||
| // receivePay = new BigDecimal(price).toPlainString(); | |||
| // } | |||
| // | |||
| // JSONArray priceDetals = new JSONArray(); | |||
| // JSONObject priceDetal = new JSONObject(); | |||
| // priceDetal.put("key", "unitPrice"); | |||
| // priceDetal.put("value", unitPrice); | |||
| // priceDetals.add(priceDetal); | |||
| // priceDetal = new JSONObject(); | |||
| // priceDetal.put("key", "power"); | |||
| // priceDetal.put("value", new BigDecimal(usedPower).divide(new BigDecimal(100)).toPlainString()); | |||
| // priceDetals.add(priceDetal); | |||
| // | |||
| // wxBillDaily.setReceivePay(receivePay); | |||
| // wxBillDaily.setNeedPay(receivePay); | |||
| // wxBillDaily.setReceiveDate(receiveDate); | |||
| // wxBillDaily.setStarttime(startdate); | |||
| // wxBillDaily.setEndtime(enddate); | |||
| // wxBillDaily.setPriceDetail(priceDetals.toJSONString()); | |||
| // wxBillDaily.setBuildWay(EnumBillDailyBuildWay.AUTO.getCode()); | |||
| // wxBillDailyService.saveOrUpdate(wxBillDaily, mallUserInfo); | |||
| // | |||
| // } | |||
| // | |||
| // private int getUsedPower(Date startdate, Date lastdate, Long merchantId) { | |||
| // KwMerchantMeter kwMerchantMeter = new KwMerchantMeter(); | |||
| // kwMerchantMeter.setMerchantId(merchantId); | |||
| // kwMerchantMeter.setStatus(EnumMerchantMeterStatus.VALID.getCode()); | |||
| // List<KwMerchantMeter> merchantMeterList = kwMerchantMeterMapper.selectList(new QueryWrapper(kwMerchantMeter)); | |||
| // int usedPower = 0; | |||
| // if (!merchantMeterList.isEmpty()) { | |||
| // int size = merchantMeterList.size(); | |||
| // for (int i = 0; i < size; i++) { | |||
| // KwMerchantMeter merchantMeter = merchantMeterList.get(i); | |||
| // KwMeterDataDto kwMeterDataDto = new KwMeterDataDto(); | |||
| // kwMeterDataDto.updateTenantInfo(merchantMeter); | |||
| // kwMeterDataDto.setMeterId(merchantMeter.getMeterId()); | |||
| // kwMeterDataDto.setStartTime(startdate); | |||
| // kwMeterDataDto.setEndTime(lastdate); | |||
| // KwMeterDataVo power = kwMeterDataService.getPower(kwMeterDataDto); | |||
| // if (power != null) { | |||
| // Optional<Integer> usedPowerOptional = Optional.ofNullable(power.getUsedPower()); | |||
| // Integer integer = usedPowerOptional.orElse(0); | |||
| // usedPower += integer; | |||
| // } | |||
| // } | |||
| // } | |||
| // return usedPower; | |||
| // } | |||
| // | |||
| // private WxBillDaily getBillDaily(WxMerchantPowerBillConfig wxMerchantPowerBillConfig) { | |||
| // WxBillDaily wxBillDaily = new WxBillDaily(); | |||
| // Long merchantId = wxMerchantPowerBillConfig.getMerchantId(); | |||
| // wxBillDaily.setShopId(getShopId(merchantId)); | |||
| // wxBillDaily.updateTenantInfo(wxMerchantPowerBillConfig); | |||
| // wxBillDaily.setMerchantId(merchantId); | |||
| // wxBillDaily.setMerchantName(wxMerchantPowerBillConfig.getMerchantName()); | |||
| // wxBillDaily.setType(EnumBillDailyType.POWER.getCode()); | |||
| // wxBillDaily.setRentShopType(wxMerchantPowerBillConfig.getMerchantType()); | |||
| // wxBillDaily.setPay("0"); | |||
| // wxBillDaily.setPayWay(EnumBillPayWay.OTHER.getCode()); | |||
| // return wxBillDaily; | |||
| // } | |||
| // | |||
| // private Map<String, Date> getLastMonthDate() { | |||
| // ZoneId zoneId = ZoneOffset.systemDefault(); | |||
| // LocalDate now = LocalDate.now().minusMonths(1L); | |||
| // now = now.with(TemporalAdjusters.firstDayOfMonth()); | |||
| // Instant start = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| // Date first = Date.from(start); | |||
| // now = now.with(TemporalAdjusters.lastDayOfMonth()); | |||
| // Instant end = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| // Date last = Date.from(end); | |||
| // now = now.with(TemporalAdjusters.firstDayOfNextMonth()); | |||
| // Instant lastday = now.atStartOfDay().atZone(zoneId).toInstant(); | |||
| // Date next = Date.from(lastday); | |||
| // Map<String, Date> dateMap = new HashMap<>(3); | |||
| // dateMap.put("startdate", first); | |||
| // dateMap.put("enddate", last); | |||
| // dateMap.put("lastdate", next); | |||
| // return dateMap; | |||
| // } | |||
| // | |||
| // private Date getReceiveDate(int day) { | |||
| // ZoneId zoneId = ZoneOffset.systemDefault(); | |||
| // LocalDate of = LocalDate.of(LocalDate.now().getYear(), LocalDate.now().getMonth(), day); | |||
| // Instant instant = of.atStartOfDay().atZone(zoneId).toInstant(); | |||
| // return Date.from(instant); | |||
| // } | |||
| // | |||
| // private Long getShopId(Long merchantId) { | |||
| // WxMerchantShop wxMerchantShop = new WxMerchantShop(); | |||
| // wxMerchantShop.setMerchantId(merchantId); | |||
| // wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); | |||
| // List<WxMerchantShop> select = wxMerchantShopMapper.selectList(new QueryWrapper(wxMerchantShop)); | |||
| // if (!select.isEmpty()) { | |||
| // return select.get(0).getShopId(); | |||
| // } | |||
| // return 0L; | |||
| // } | |||
| // | |||
| // private MallUserInfo getMallUserInfo() { | |||
| // MallUserInfo mallUserInfo = new MallUserInfo(); | |||
| // mallUserInfo.setId(0L); | |||
| // mallUserInfo.setName("系统生成"); | |||
| // mallUserInfo.setPhone("0"); | |||
| // return mallUserInfo; | |||
| // } | |||
| } | |||
| @@ -435,6 +435,13 @@ public class BaseMyBatisConfiguration { | |||
| wxEnergyMeterReadingSharding.setRule(EnumShardingRule.HASH.getCode()); | |||
| shardingList.add(wxEnergyMeterReadingSharding); | |||
| ShardingSphere wxBillPayWaySharding = new ShardingSphere(); | |||
| wxBillPayWaySharding.setColumn("tenant_id"); | |||
| wxBillPayWaySharding.setTableName("wx_bill_pay_way"); | |||
| wxBillPayWaySharding.setCount(100); | |||
| wxBillPayWaySharding.setRule(EnumShardingRule.HASH.getCode()); | |||
| shardingList.add(wxBillPayWaySharding); | |||
| //初始化 | |||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||
| Properties properties = new Properties(); | |||
| @@ -1,5 +1,6 @@ | |||
| package com.iformall.domain.dto; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import lombok.Data; | |||
| @@ -14,7 +15,7 @@ public class WxBillPayDTO extends TenantEntity{ | |||
| private Long id; | |||
| private Integer billTypeValue;// EnumBillAllType | |||
| private String addpay;//支付金额 | |||
| private Integer payWay;//支付方式 EnumBillPayWay | |||
| private WxBillPayWay payWay;//支付方式 | |||
| private String remark; | |||
| private String image; | |||
| } | |||
| @@ -57,8 +57,8 @@ public class WxBillAction extends TenantEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "付款时间", name = "payDate") | |||
| private Date payDate; | |||
| @io.swagger.annotations.ApiModelProperty(value = "付款方式EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "付款方式", name = "payWay") | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "备注", name = "remark") | |||
| private String remark; | |||
| @@ -64,7 +64,7 @@ public class WxBillDaily extends WxBillBaseEntity { | |||
| private String shopName; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "费用明细", name = "priceDetail") | |||
| private String priceDetail; | |||
| @@ -66,7 +66,7 @@ public class WxBillDeposit extends WxBillBaseEntity { | |||
| private String shopInfo; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze") | |||
| private Integer freeze; | |||
| @@ -65,8 +65,8 @@ public class WxBillOther extends WxBillBaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value="商铺ID",name="shopId") | |||
| private Long shopId; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @TableField(exist = false) | |||
| private Integer allPeriod; | |||
| @@ -69,8 +69,8 @@ public class WxBillOtherDeposit extends WxBillBaseEntity { | |||
| return new BigDecimal(getOwe()).subtract(new BigDecimal(returnPrice)).toPlainString(); | |||
| } | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @TableField(exist = false) | |||
| private Integer allPeriod; | |||
| @@ -0,0 +1,39 @@ | |||
| package com.iformall.domain.po; | |||
| import com.baomidou.mybatisplus.annotation.TableField; | |||
| import com.baomidou.mybatisplus.annotation.TableName; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import lombok.Data; | |||
| import lombok.EqualsAndHashCode; | |||
| import lombok.ToString; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| /** | |||
| */ | |||
| @TableName(value = "wx_bill_pay_way") | |||
| @Data | |||
| @ToString(callSuper = true) | |||
| @EqualsAndHashCode(callSuper = true) | |||
| public class WxBillPayWay extends TenantEntity { | |||
| private static final long serialVersionUID = 7009117540201976664L; | |||
| @io.swagger.annotations.ApiModelProperty(value="id",name="id") | |||
| private Long id; | |||
| @io.swagger.annotations.ApiModelProperty(value="name",name="name") | |||
| private String name; | |||
| @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") | |||
| private Date createTime; | |||
| @io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime") | |||
| private Date updateTime; | |||
| @io.swagger.annotations.ApiModelProperty(value = "isDel", name = "isDel") | |||
| private Integer isDel; | |||
| @io.swagger.annotations.ApiModelProperty(value = "isSystem", name = "isSystem") | |||
| private Integer isSystem; | |||
| } | |||
| @@ -86,8 +86,8 @@ public class WxBillProperty extends WxBillBaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") | |||
| private String shopInfo; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "滞纳金状态", name = "latePayStatus") | |||
| private Integer latePayStatus; | |||
| @@ -69,8 +69,8 @@ public class WxBillPropertyDeposit extends WxBillBaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") | |||
| private String shopInfo; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze") | |||
| private Integer freeze; | |||
| @@ -157,9 +157,8 @@ public class WxBillRent extends WxBillBaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") | |||
| private String shopInfo; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "滞纳金状态", name = "latePayStatus") | |||
| private Integer latePayStatus; | |||
| @@ -93,8 +93,8 @@ public class WxBillRentManage extends WxBillBaseEntity { | |||
| @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") | |||
| private String shopInfo; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式:见枚举EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付方式", name = "payWay") | |||
| private Long payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "滞纳金状态", name = "latePayStatus") | |||
| @@ -12,8 +12,8 @@ public class FmInsideNotifyBillPaidSuccessMsg extends BaseMsg { | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付渠道 EnumBillPayChannel", name = "payWay") | |||
| private Integer payChannel; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付渠道 EnumBillPayWay", name = "payWay") | |||
| private Integer payWay; | |||
| @io.swagger.annotations.ApiModelProperty(value = "支付渠道", name = "payWay") | |||
| private String payWayJson; | |||
| @io.swagger.annotations.ApiModelProperty(value = "消息内容", name = "jsonMsg") | |||
| private String jsonMsg; | |||
| @@ -1,5 +1,6 @@ | |||
| package com.iformall.enums; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| /** | |||
| * @author gongbiao | |||
| @@ -42,22 +43,18 @@ public enum EnumBillAction { | |||
| return message; | |||
| } | |||
| public String getDescription(String oldMoney,String newMoney,Integer payWay,EnumBillStatus oldStatus,EnumBillStatus newStatus) { | |||
| EnumBillPayWay pw = null; | |||
| if (null != payWay) { | |||
| pw = EnumBillPayWay.getEnum(payWay); | |||
| } | |||
| public String getDescription(String oldMoney,String newMoney,WxBillPayWay payWay,EnumBillStatus oldStatus,EnumBillStatus newStatus) { | |||
| StringBuffer sb = new StringBuffer("[").append(this.message).append("]"); | |||
| if (code.intValue() == SELF_SERVICE_PAY.code.intValue()) { | |||
| if (null != pw) { | |||
| sb.append(pw.getMessage()).append("支付"); | |||
| if (null != payWay) { | |||
| sb.append(payWay.getName()).append("支付"); | |||
| } | |||
| sb.append(newMoney).append("元"); | |||
| }else if (code.intValue() == UPDATE_BILL.code.intValue()) { | |||
| sb.append("应付金额").append(oldMoney).append("元变更成").append(newMoney).append("元"); | |||
| }else if (code.intValue() == OFFLINE_PAY.code.intValue()) { | |||
| if (null != pw) { | |||
| sb.append(pw.getMessage()).append("支付"); | |||
| if (null != payWay) { | |||
| sb.append(payWay.getName()).append("支付"); | |||
| } | |||
| sb.append(newMoney).append("元"); | |||
| }else if (code.intValue() == RETURN.code.intValue()) { | |||
| @@ -1,37 +0,0 @@ | |||
| package com.iformall.enums; | |||
| /** | |||
| * Created by Stormeye on 2018/08/09. | |||
| */ | |||
| public enum EnumBillPayWay { | |||
| CASH(1, "现金缴费"), | |||
| ALIPAY(2, "支付宝缴费"), | |||
| WECHAT_PAY(3, "微信缴费"), | |||
| BANK(4, "银行卡转账缴费"), | |||
| OTHER(-1, "其他缴费"); | |||
| public static EnumBillPayWay getEnum(Integer code) { | |||
| for (EnumBillPayWay value : values()) { | |||
| if (value.getCode().equals(code)) { | |||
| return value; | |||
| } | |||
| } | |||
| return null; | |||
| } | |||
| private Integer code; | |||
| private String message; | |||
| EnumBillPayWay(Integer code, String message) { | |||
| this.code = code; | |||
| this.message = message; | |||
| } | |||
| public Integer getCode() { | |||
| return code; | |||
| } | |||
| public String getMessage() { | |||
| return message; | |||
| } | |||
| } | |||
| @@ -0,0 +1,18 @@ | |||
| package com.iformall.mapper; | |||
| import com.iformall.common.CommonMapper; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import org.apache.ibatis.annotations.Param; | |||
| import java.util.List; | |||
| /** | |||
| */ | |||
| public interface WxBillPayWayMapper extends CommonMapper<WxBillPayWay, Long> { | |||
| List<WxBillPayWay> findList(WxBillPayWay wxBillRent); | |||
| WxBillPayWay selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | |||
| void setIsDel(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("isDel")Integer isDel); | |||
| } | |||
| @@ -0,0 +1,18 @@ | |||
| package com.iformall.service; | |||
| import java.util.Map; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| /** | |||
| */ | |||
| public interface WxFinanceService { | |||
| //支付方式 | |||
| PageInfo<WxBillPayWay> payWayListAsPage(WxBillPayWay record, Integer pageIndex, Integer pageSize); | |||
| WxBillPayWay getPayWayById(TenantEntity tenantEntity,Long id); | |||
| void saveOrUpdatePayWay(WxBillPayWay record); | |||
| void updatePayWayIsDel(WxBillPayWay record); | |||
| Map<Long,WxBillPayWay> getPayWayMap(WxBillPayWay record); | |||
| void payWayInit(TenantEntity tenantInfo); | |||
| } | |||
| @@ -9,9 +9,9 @@ import org.springframework.stereotype.Service; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillAllType; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumSystemUserType; | |||
| import com.iformall.service.WxBillActionService; | |||
| @@ -24,7 +24,7 @@ public class WxBillBaseService{ | |||
| @Autowired | |||
| private WxBillActionService wxBillActionService; | |||
| protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,Date payDate,Integer payWay,String remark, EnumBillStatus oldStatus,EnumBillStatus newStatus,MallUserInfo mallUserInfo) { | |||
| protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,Date payDate,WxBillPayWay payWay,String remark, EnumBillStatus oldStatus,EnumBillStatus newStatus,MallUserInfo mallUserInfo) { | |||
| WxBillAction wxBillAction = new WxBillAction(); | |||
| wxBillAction.setBillId(billId); | |||
| wxBillAction.setBillType(billType); | |||
| @@ -33,13 +33,13 @@ public class WxBillBaseService{ | |||
| wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,payWay,oldStatus,newStatus)); | |||
| wxBillAction.setAction(billAction.getCode()); | |||
| wxBillAction.setPayDate(payDate); | |||
| wxBillAction.setPayWay(payWay); | |||
| wxBillAction.setPayWay(payWay.getId()); | |||
| wxBillAction.setRemark(remark); | |||
| wxBillAction.setUserType(EnumSystemUserType.ADMIN.getCode()); | |||
| wxBillActionService.modifyBill(wxBillAction, mallUserInfo); | |||
| } | |||
| protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,Date payDate,Integer payWay,String remark,EnumBillStatus oldStatus,EnumBillStatus newStatus, WxMerchantBUser bUser) { | |||
| protected void addBillAction(EnumBillAction billAction, Integer billType,Long billId, String oldMoney, String newMoney,Date payDate,WxBillPayWay payWay,String remark,EnumBillStatus oldStatus,EnumBillStatus newStatus, WxMerchantBUser bUser) { | |||
| WxBillAction wxBillAction = new WxBillAction(); | |||
| wxBillAction.setBillId(billId); | |||
| wxBillAction.setBillType(billType); | |||
| @@ -48,7 +48,7 @@ public class WxBillBaseService{ | |||
| wxBillAction.setDetails(billAction.getDescription(oldMoney, newMoney,payWay,oldStatus,newStatus)); | |||
| wxBillAction.setAction(billAction.getCode()); | |||
| wxBillAction.setPayDate(payDate); | |||
| wxBillAction.setPayWay(payWay); | |||
| wxBillAction.setPayWay(payWay.getId()); | |||
| wxBillAction.setRemark(remark); | |||
| wxBillAction.setUserType(EnumSystemUserType.MERCHANT.getCode()); | |||
| wxBillActionService.modifyBill(wxBillAction, bUser); | |||
| @@ -1,7 +1,5 @@ | |||
| package com.iformall.service.impl; | |||
| import com.alibaba.druid.Constants; | |||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| @@ -10,14 +8,22 @@ import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.WxBillPayDTO; | |||
| import com.iformall.domain.dto.WxBillReceiveUpdateDTO; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDaily; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxBillDailyExportVo; | |||
| import com.iformall.domain.vo.WxBillDailyVo; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxBillDailyMapper; | |||
| import com.iformall.mapper.WxMerchantMapper; | |||
| @@ -26,12 +32,12 @@ import com.iformall.mapper.WxShopMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillDailyService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.slf4j.Logger; | |||
| @@ -41,15 +47,15 @@ import org.springframework.context.annotation.Lazy; | |||
| import org.springframework.data.redis.core.StringRedisTemplate; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| import java.util.*; | |||
| import java.util.concurrent.TimeUnit; | |||
| import java.util.ArrayList; | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Service | |||
| public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillDailyService { | |||
| @@ -80,6 +86,10 @@ public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillD | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillDaily> listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize) { | |||
| @@ -495,12 +505,12 @@ public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillD | |||
| //租赁账单更新 | |||
| wxBillDaily.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillDaily.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillDailyMapper.updateById(wxBillDaily); | |||
| @@ -592,7 +602,7 @@ public class WxBillDailyServiceImpl extends WxBillBaseService implements WxBillD | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillDailyMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -14,6 +14,7 @@ import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDeposit; | |||
| import com.iformall.domain.po.WxBillOtherDeposit; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| @@ -25,7 +26,6 @@ import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.enums.EnumRentContractType; | |||
| @@ -37,6 +37,7 @@ import com.iformall.mapper.WxRentContractMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillDepositService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.WxShopService; | |||
| @@ -97,6 +98,10 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillDeposit> listAsPage(WxBillDeposit record, Integer pageIndex, Integer pageSize) { | |||
| @@ -448,12 +453,12 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil | |||
| dto.getServiceChargePayBefore(), dto.getServiceChargePayUpdate(),null,null,dto.getRemark(),null,null, user); | |||
| }else { | |||
| wxBillDeposit.setReceivePay(dto.getNewPrice()); | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillDeposit.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillDepositMapper.updateById(wxBillDeposit); | |||
| @@ -526,7 +531,7 @@ public class WxBillDepositServiceImpl extends WxBillBaseService implements WxBil | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillDepositMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -14,6 +14,7 @@ import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDaily; | |||
| import com.iformall.domain.po.WxBillDeposit; | |||
| import com.iformall.domain.po.WxBillOtherDeposit; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| @@ -22,7 +23,9 @@ import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxBillOtherDepositMapper; | |||
| import com.iformall.mapper.WxMerchantMapper; | |||
| @@ -30,11 +33,12 @@ import com.iformall.mapper.WxShopMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillOtherDepositService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.slf4j.Logger; | |||
| @@ -43,7 +47,6 @@ import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.context.annotation.Lazy; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| @@ -54,7 +57,6 @@ import java.util.List; | |||
| import java.util.Map; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Service | |||
| public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements WxBillOtherDepositService { | |||
| @@ -85,6 +87,10 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillOtherDeposit> listAsPage(WxBillOtherDeposit record, Integer pageIndex, Integer pageSize) { | |||
| @@ -456,12 +462,12 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements | |||
| }else { | |||
| wxBillOtherDeposit.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillOtherDeposit.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillOtherDepositMapper.updateById(wxBillOtherDeposit); | |||
| @@ -536,7 +542,7 @@ public class WxBillOtherDepositServiceImpl extends WxBillBaseService implements | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillOtherDepositMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -13,6 +13,7 @@ import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDaily; | |||
| import com.iformall.domain.po.WxBillOther; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| @@ -21,7 +22,9 @@ import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxBillOtherMapper; | |||
| import com.iformall.mapper.WxMerchantMapper; | |||
| @@ -29,11 +32,12 @@ import com.iformall.mapper.WxShopMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillOtherService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.slf4j.Logger; | |||
| @@ -42,7 +46,6 @@ import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.context.annotation.Lazy; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| @@ -53,7 +56,6 @@ import java.util.List; | |||
| import java.util.Map; | |||
| /** | |||
| * @author gongbiao | |||
| */ | |||
| @Service | |||
| public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillOtherService { | |||
| @@ -84,6 +86,10 @@ public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillO | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillOther> listAsPage(WxBillOther record, Integer pageIndex, Integer pageSize) { | |||
| @@ -399,12 +405,12 @@ public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillO | |||
| }else { | |||
| wxBillOther.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillOther.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillOtherMapper.updateById(wxBillOther); | |||
| @@ -479,7 +485,7 @@ public class WxBillOtherServiceImpl extends WxBillBaseService implements WxBillO | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillOtherMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -12,6 +12,7 @@ import com.iformall.domain.dto.WxBillReceiveUpdateDTO; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDeposit; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillProperty; | |||
| import com.iformall.domain.po.WxBillPropertyDeposit; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| @@ -25,7 +26,6 @@ import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.enums.EnumRentShopType; | |||
| @@ -36,6 +36,7 @@ import com.iformall.mapper.WxPropertyContractMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillPropertyDepositService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.WxShopService; | |||
| @@ -91,6 +92,10 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillPropertyDeposit> listAsPage(WxBillPropertyDeposit record, Integer pageIndex, Integer pageSize) { | |||
| @@ -433,12 +438,12 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen | |||
| }else { | |||
| wxBillPropertyDeposit.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillPropertyDeposit.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillPropertyDepositMapper.updateById(wxBillPropertyDeposit); | |||
| @@ -510,7 +515,7 @@ public class WxBillPropertyDepositServiceImpl extends WxBillBaseService implemen | |||
| } | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillPropertyDepositMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -9,20 +9,41 @@ import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.WxBillPayDTO; | |||
| import com.iformall.domain.dto.WxBillReceiveUpdateDTO; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillProperty; | |||
| import com.iformall.domain.po.WxBillPropertyDeposit; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.WxPropertyContract; | |||
| import com.iformall.domain.po.WxShop; | |||
| import com.iformall.domain.po.base.BaseEntity; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.enums.EnumRentShopType; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxBillActionMapper; | |||
| import com.iformall.mapper.WxBillPropertyDepositMapper; | |||
| import com.iformall.mapper.WxBillPropertyMapper; | |||
| import com.iformall.mapper.WxPropertyContractMapper; | |||
| import com.iformall.service.*; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillPropertyDepositService; | |||
| import com.iformall.service.WxBillPropertyService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.WxShopService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| @@ -37,7 +58,12 @@ import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| import java.util.*; | |||
| import java.util.ArrayList; | |||
| import java.util.Date; | |||
| import java.util.HashMap; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.Set; | |||
| import java.util.stream.Collectors; | |||
| /** | |||
| @@ -81,7 +107,10 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillProperty> listAsPage(WxBillProperty record, Integer pageIndex, Integer pageSize) { | |||
| @@ -519,13 +548,13 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi | |||
| dto.getServiceChargePayBefore(), dto.getServiceChargePayUpdate(),null,null,dto.getRemark(),null,null, user); | |||
| } else { | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| wxBillProperty.setReceivePay(dto.getNewPrice()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillProperty.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillPropertyMapper.updateById(wxBillProperty); | |||
| @@ -618,7 +647,7 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi | |||
| } | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillPropertyMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -11,8 +11,7 @@ import com.iformall.domain.dto.WxBillPayDTO; | |||
| import com.iformall.domain.dto.WxBillReceiveUpdateDTO; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDeposit; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillRentManage; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| @@ -22,7 +21,12 @@ import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.enums.EnumIsPreview; | |||
| import com.iformall.enums.EnumRentShopType; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.WxBillActionMapper; | |||
| import com.iformall.mapper.WxBillRentManageMapper; | |||
| @@ -30,11 +34,11 @@ import com.iformall.mapper.WxRentContractMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillRentManageService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| import org.apache.commons.collections.CollectionUtils; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| @@ -43,12 +47,16 @@ import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.context.annotation.Lazy; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| import java.util.*; | |||
| import java.util.ArrayList; | |||
| import java.util.Date; | |||
| import java.util.HashMap; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.Set; | |||
| import java.util.stream.Collectors; | |||
| /** | |||
| @@ -83,6 +91,11 @@ public class WxBillRentManageServiceImpl extends WxBillBaseService implements W | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillRentManage> listAsPage(WxBillRentManage wxBillRentManage, Integer pageIndex, Integer pageSize) { | |||
| @@ -449,12 +462,12 @@ public class WxBillRentManageServiceImpl extends WxBillBaseService implements W | |||
| //租赁账单更新 | |||
| wxBillRent.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillRentManageMapper.updateById(wxBillRent); | |||
| @@ -548,7 +561,7 @@ public class WxBillRentManageServiceImpl extends WxBillBaseService implements W | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillRentManageMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -9,16 +9,43 @@ import com.iformall.common.Result; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.domain.dto.WxBillPayDTO; | |||
| import com.iformall.domain.dto.WxBillReceiveUpdateDTO; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.MallUserInfo; | |||
| import com.iformall.domain.po.WxBillAction; | |||
| import com.iformall.domain.po.WxBillDeposit; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxBillRent; | |||
| import com.iformall.domain.po.WxMerchant; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.WxRentContract; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.vo.RatioVo; | |||
| import com.iformall.domain.vo.WxBillHotNotify; | |||
| import com.iformall.domain.vo.WxBillNotify; | |||
| import com.iformall.domain.vo.WxBillSum; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.enums.EnumBillAction; | |||
| import com.iformall.enums.EnumBillStatus; | |||
| import com.iformall.enums.EnumBusRatioTime; | |||
| import com.iformall.enums.EnumDelStatus; | |||
| import com.iformall.enums.EnumGetRatioFrom; | |||
| import com.iformall.enums.EnumMissTimeType; | |||
| import com.iformall.enums.EnumRentContractType; | |||
| import com.iformall.enums.EnumRentShopType; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.*; | |||
| import com.iformall.mapper.WxBillActionMapper; | |||
| import com.iformall.mapper.WxBillDepositMapper; | |||
| import com.iformall.mapper.WxBillRentManageMapper; | |||
| import com.iformall.mapper.WxBillRentMapper; | |||
| import com.iformall.mapper.WxRentContractMapper; | |||
| import com.iformall.service.ExcelService; | |||
| import com.iformall.service.WxBillActionService; | |||
| import com.iformall.service.WxBillDepositService; | |||
| import com.iformall.service.WxBillRentService; | |||
| import com.iformall.service.WxFinanceService; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxMerchantTradeDailyService; | |||
| import com.iformall.service.WxPayAccountBillService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| import com.iformall.utils.Constant; | |||
| import com.iformall.utils.DateUtils; | |||
| @@ -41,7 +68,13 @@ import javax.servlet.http.HttpServletResponse; | |||
| import java.math.BigDecimal; | |||
| import java.math.RoundingMode; | |||
| import java.text.SimpleDateFormat; | |||
| import java.util.*; | |||
| import java.util.ArrayList; | |||
| import java.util.Calendar; | |||
| import java.util.Date; | |||
| import java.util.HashMap; | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.Set; | |||
| import java.util.stream.Collectors; | |||
| /** | |||
| @@ -79,6 +112,10 @@ public class WxBillRentServiceImpl extends WxBillBaseService implements WxBillRe | |||
| @Lazy | |||
| @Autowired | |||
| WxBillAllHelper wxBillAllHelper; | |||
| @Lazy | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Override | |||
| public PageInfo<WxBillRent> listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize) { | |||
| @@ -621,12 +658,12 @@ public class WxBillRentServiceImpl extends WxBillBaseService implements WxBillRe | |||
| //租赁账单更新 | |||
| wxBillRent.setReceivePay(dto.getNewPrice()); | |||
| Date payDate = null; | |||
| Integer payWay = null; | |||
| WxBillPayWay payWay = null; | |||
| String remark = StringUtils.trimToEmpty(dto.getRemark()); | |||
| if (new BigDecimal(dto.getNewPrice()).compareTo(new BigDecimal(dbBill.getPay())) <= 0) { | |||
| wxBillRent.setStatus(EnumBillStatus.PAID.getCode()); | |||
| payDate = new Date(); | |||
| payWay = EnumBillPayWay.OTHER.getCode(); | |||
| payWay = wxFinanceService.getPayWayById(dto, Constant.bill_pay_way_system); | |||
| remark = remark + ";【系统】账单实际应付金额调整至小于等于已付金额,自动归结为结清。"; | |||
| } | |||
| wxBillRentMapper.updateById(wxBillRent); | |||
| @@ -719,7 +756,7 @@ public class WxBillRentServiceImpl extends WxBillBaseService implements WxBillRe | |||
| } | |||
| wxBillRent.setPayDate(new Date()); | |||
| wxBillRent.setPayWay(dto.getPayWay()); | |||
| wxBillRent.setPayWay(dto.getPayWay().getId()); | |||
| wxBillRentMapper.updateById(wxBillRent); | |||
| dto.setRemark(sb.toString()); | |||
| return wxBillRent; | |||
| @@ -0,0 +1,104 @@ | |||
| package com.iformall.service.impl; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.*; | |||
| import com.iformall.utils.Constant; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import java.util.*; | |||
| /** | |||
| */ | |||
| @Service | |||
| public class WxFinanceServiceImpl implements WxFinanceService { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| WxBillPayWayMapper wxBillPayWayMapper; | |||
| @Override | |||
| public PageInfo<WxBillPayWay> payWayListAsPage(WxBillPayWay record, Integer pageIndex, Integer pageSize) { | |||
| PageInfo<WxBillPayWay> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillPayWayMapper.findList(record)); | |||
| return page; | |||
| } | |||
| @Override | |||
| public WxBillPayWay getPayWayById(TenantEntity tenantEntity,Long id) { | |||
| return wxBillPayWayMapper.selectById(id, tenantEntity.getTenantId()); | |||
| } | |||
| @Override | |||
| public void saveOrUpdatePayWay(WxBillPayWay record) { | |||
| Date date = new Date(); | |||
| if (record.getId() == null) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| record.setCreateTime(date); | |||
| record.setUpdateTime(date); | |||
| record.setIsSystem(EnumYesOrNo.NO.getCode()); | |||
| try { | |||
| wxBillPayWayMapper.insert(record); | |||
| } catch (Exception e) { | |||
| logger.error("保存租赁账单失败,e:" + e.getMessage()); | |||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | |||
| } | |||
| } else { | |||
| record.setUpdateTime(date); | |||
| wxBillPayWayMapper.updateById(record); | |||
| } | |||
| } | |||
| @Override | |||
| public void updatePayWayIsDel(WxBillPayWay record) { | |||
| wxBillPayWayMapper.setIsDel(record.getId(), record.getTenantId(), record.getIsDel()); | |||
| } | |||
| @Override | |||
| public Map<Long, WxBillPayWay> getPayWayMap(WxBillPayWay record) { | |||
| List<WxBillPayWay> list = wxBillPayWayMapper.findList(record); | |||
| if (null != list && list.size() > 0 ) { | |||
| Map<Long,WxBillPayWay> retMap = new HashMap<Long,WxBillPayWay>(); | |||
| for (int i = 0 ; i<list.size() ; i ++) { | |||
| WxBillPayWay m = list.get(i); | |||
| retMap.put(m.getId(), m); | |||
| } | |||
| return retMap; | |||
| } | |||
| return null; | |||
| } | |||
| @Override | |||
| public void payWayInit(TenantEntity tenantInfo) { | |||
| WxBillPayWay payway1 = new WxBillPayWay(); | |||
| payway1.updateTenantInfo(tenantInfo); | |||
| payway1.setId(Constant.bill_pay_way_minigrame); | |||
| payway1.setName("商户小程序"); | |||
| payway1.setIsDel(EnumYesOrNo.NO.getCode()); | |||
| payway1.setIsSystem(EnumYesOrNo.YES.getCode()); | |||
| payway1.setCreateTime(new Date()); | |||
| payway1.setUpdateTime(new Date()); | |||
| wxBillPayWayMapper.insert(payway1); | |||
| WxBillPayWay payway2 = new WxBillPayWay(); | |||
| payway2.updateTenantInfo(tenantInfo); | |||
| payway2.setId(Constant.bill_pay_way_system); | |||
| payway2.setName("系统自动结清"); | |||
| payway2.setIsDel(EnumYesOrNo.NO.getCode()); | |||
| payway2.setIsSystem(EnumYesOrNo.YES.getCode()); | |||
| payway2.setCreateTime(new Date()); | |||
| payway2.setUpdateTime(new Date()); | |||
| wxBillPayWayMapper.insert(payway2); | |||
| } | |||
| } | |||
| @@ -68,6 +68,8 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { | |||
| MallUserInfoService userInfoService; | |||
| @Autowired | |||
| WxBusinessService wxBusinessService; | |||
| @Autowired | |||
| WxFinanceService wxFinanceService; | |||
| @Autowired | |||
| @Qualifier("objectCommonRedisTemplate") | |||
| @@ -159,6 +161,8 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { | |||
| wxBusinessService.businessInit(wxMall.getTenantInfo()); | |||
| //wx_pay_account_bill | |||
| wxPayAccountBillService.payAccountBillInit(wxMall.getTenantInfo()); | |||
| //wx_bill_pay_way | |||
| wxFinanceService.payWayInit(wxMall.getTenantInfo()); | |||
| } | |||
| wxMallService.update(wxMall); | |||
| } | |||
| @@ -1,10 +1,9 @@ | |||
| package com.iformall.service.msg.impl; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.msg.BaseMsg; | |||
| import com.iformall.domain.po.msg.FmInsideNotifyBillPaidSuccessMsg; | |||
| import com.iformall.enums.EnumBillPayChannel; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.service.msg.MsgSendService; | |||
| import com.iformall.service.payBill.PayBillServiceFactory; | |||
| import org.slf4j.Logger; | |||
| @@ -22,12 +21,13 @@ public class FmInsideNotifyBillPaidSuccessMsgServiceImpl implements MsgSendServi | |||
| @Autowired | |||
| private PayBillServiceFactory payBillServiceFactory; | |||
| @Override | |||
| public void send(BaseMsg baseMsg) throws Exception { | |||
| FmInsideNotifyBillPaidSuccessMsg msg = (FmInsideNotifyBillPaidSuccessMsg)baseMsg; | |||
| Map<String, String> paramMap = JSON.parseObject(msg.getJsonMsg(), Map.class); | |||
| WxBillPayWay payWay = JSON.parseObject(msg.getPayWayJson(), WxBillPayWay.class); | |||
| payBillServiceFactory.getPayAdapterService(msg.getPayChannel()) | |||
| .paidCallBack(msg.getTenantId(),EnumBillPayWay.getEnum(msg.getPayWay()),paramMap); | |||
| .paidCallBack(msg.getTenantId(),payWay,paramMap); | |||
| } | |||
| } | |||
| @@ -2,10 +2,10 @@ package com.iformall.service.payBill; | |||
| import java.util.Map; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.base.WxBillBaseEntity; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| public interface PayBillAdapterService { | |||
| @@ -13,5 +13,5 @@ public interface PayBillAdapterService { | |||
| public Object createPay(WxPayAccountBill wxPayAccountBill,WxMerchantBUser buser,WxBillBaseEntity billdetail,Double money,Map<String,String> params) throws Exception; | |||
| //支付通知处理 | |||
| public void paidCallBack(String tenantId,EnumBillPayWay payWay,Map paramMap); | |||
| public void paidCallBack(String tenantId,WxBillPayWay payWay,Map paramMap); | |||
| } | |||
| @@ -1,46 +1,12 @@ | |||
| package com.iformall.service.payBill; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.enums.EnumAppPlat; | |||
| import com.iformall.enums.EnumBillPayChannel; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.enums.EnumPayVersion; | |||
| import com.iformall.enums.EnumPayWay; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.service.pay.service.cashout.CashOutAdapterService; | |||
| import com.iformall.service.pay.service.cashout.wx.sft.WxCashOutSFTAdapterService; | |||
| import com.iformall.service.pay.service.cashout.wx.v2.WxCashOutQYFKAdapterService; | |||
| import com.iformall.service.pay.service.fee.ServiceFeeAdapterService; | |||
| import com.iformall.service.pay.service.fee.TtServiceFeeService; | |||
| import com.iformall.service.pay.service.fee.WxServiceFeeService; | |||
| import com.iformall.service.pay.service.pay.CDrivingPayService; | |||
| import com.iformall.service.pay.service.pay.CPassivePayService; | |||
| import com.iformall.service.pay.service.pay.PayAdapterService; | |||
| import com.iformall.service.pay.service.pay.douyin.v2.miniApp.TtMiniAppPayAdapterService; | |||
| import com.iformall.service.pay.service.pay.douyin.v3.open.TtOpenPayAdapterService; | |||
| import com.iformall.service.pay.service.pay.wx.sft.h5.WxH5PaySFTService; | |||
| import com.iformall.service.pay.service.pay.wx.sft.miniApp.appPay.WxMiniAppPaySFTAdapterService; | |||
| import com.iformall.service.pay.service.pay.wx.v2.h5.WxH5PayService; | |||
| import com.iformall.service.pay.service.pay.wx.v2.miniApp.appPay.WxMiniAppPayAdapterService; | |||
| import com.iformall.service.pay.service.pay.wx.v2.miniApp.maPay.WxMiniMaPayAdapterService; | |||
| import com.iformall.service.pay.service.pay.wx.v3.miniApp.appPay.WxMiniAppPayV3AdapterService; | |||
| import com.iformall.service.pay.service.refund.RefundPayAdapterService; | |||
| import com.iformall.service.pay.service.refund.douyin.v2.TtRefundAdapterService; | |||
| import com.iformall.service.pay.service.refund.douyin.v3.TtOpenRefundAdapterService; | |||
| import com.iformall.service.pay.service.refund.wx.v2.WxRefundAdapterService; | |||
| import com.iformall.service.pay.service.refund.wx.v3.WxRefundV3AdapterService; | |||
| import com.iformall.service.pay.service.share.PayShareAdapterService; | |||
| import com.iformall.service.pay.service.share.douyin.v2.TtPayShareService; | |||
| import com.iformall.service.pay.service.share.douyin.v3.TtOpenShareService; | |||
| import com.iformall.service.pay.service.share.wx.sft.WxPayShareSFTService; | |||
| import com.iformall.service.pay.service.share.wx.v2.WxPayShareService; | |||
| import com.iformall.service.pay.service.share.wx.v3.WxPayShareV3Service; | |||
| import com.iformall.service.payBill.impl.jianhang.JianHangMaServiceImpl; | |||
| import com.iformall.service.payBill.impl.wx.WxMiniProgramServiceImpl; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import java.util.Map; | |||
| import java.util.concurrent.ConcurrentHashMap; | |||
| @@ -4,9 +4,9 @@ import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import com.iformall.domain.dto.WxBillPayDTO; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.enums.EnumBillAllType; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.service.WxMerchantBUserService; | |||
| import com.iformall.service.helper.WxBillAllHelper; | |||
| @@ -18,13 +18,13 @@ public class PayBillBaseService { | |||
| @Autowired | |||
| WxMerchantBUserService wxMerchantBUserService; | |||
| public void updateBillPaid(String tenantId,Long merchantBUserId,EnumBillAllType billType,Long billId,String paid,EnumBillPayWay payWay,String remark) { | |||
| public void updateBillPaid(String tenantId,Long merchantBUserId,EnumBillAllType billType,Long billId,String paid,WxBillPayWay payWay,String remark) { | |||
| WxBillPayDTO dto = new WxBillPayDTO(); | |||
| dto.setTenantId(tenantId); | |||
| dto.setId(billId); | |||
| dto.setBillTypeValue(billType.getCode()); | |||
| dto.setAddpay(paid); | |||
| dto.setPayWay(payWay.getCode()); | |||
| dto.setPayWay(payWay); | |||
| dto.setRemark(remark); | |||
| WxMerchantBUser buser = wxMerchantBUserService.getById(merchantBUserId); | |||
| @@ -13,11 +13,11 @@ import com.alibaba.fastjson.JSON; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.base.WxBillBaseEntity; | |||
| import com.iformall.enums.EnumBillAllType; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.service.payBill.PayBillAdapterService; | |||
| import com.iformall.service.payBill.impl.PayBillBaseService; | |||
| import com.iformall.utils.DateUtils; | |||
| @@ -45,7 +45,7 @@ public class JianHangMaServiceImpl extends PayBillBaseService implements PayBill | |||
| } | |||
| @Override | |||
| public void paidCallBack(String tenantId,EnumBillPayWay payWay, Map paramMap) { | |||
| public void paidCallBack(String tenantId,WxBillPayWay payWay, Map paramMap) { | |||
| String success = (String) paramMap.get("SUCCESS"); | |||
| if ("Y".equals(success.toUpperCase())) { | |||
| String money = (String) paramMap.get("PAYMENT"); | |||
| @@ -13,16 +13,13 @@ import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.domain.po.WxBillPayWay; | |||
| import com.iformall.domain.po.WxMerchantBUser; | |||
| import com.iformall.domain.po.WxPark; | |||
| import com.iformall.domain.po.WxPayAccount; | |||
| import com.iformall.domain.po.WxPayAccountBill; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.domain.po.base.WxBillBaseEntity; | |||
| import com.iformall.enums.EnumAppPlat; | |||
| import com.iformall.enums.EnumBillAllType; | |||
| import com.iformall.enums.EnumBillPayWay; | |||
| import com.iformall.enums.EnumPayWay; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.service.WxAppinfoService; | |||
| import com.iformall.service.WxPayAccountService; | |||
| @@ -30,7 +27,6 @@ import com.iformall.service.pay.service.pay.entity.PayAdapterResult; | |||
| import com.iformall.service.pay.service.pay.wx.v2.miniApp.appPay.WxMiniAppPayAdapterService; | |||
| import com.iformall.service.payBill.PayBillAdapterService; | |||
| import com.iformall.service.payBill.impl.PayBillBaseService; | |||
| import com.iformall.utils.DateUtils; | |||
| import lombok.extern.slf4j.Slf4j; | |||
| @@ -84,7 +80,7 @@ public class WxMiniProgramServiceImpl extends PayBillBaseService implements PayB | |||
| } | |||
| @Override | |||
| public void paidCallBack(String tenantId,EnumBillPayWay payWay, Map paramMap) { | |||
| public void paidCallBack(String tenantId,WxBillPayWay payWay, Map paramMap) { | |||
| log.debug("handleWxBillPaidCallBack."+JSON.toJSONString(paramMap)); | |||
| //支付返回消息 | |||
| String returnCode = (String)paramMap.get("return_code"); | |||
| @@ -142,5 +142,9 @@ public class Constant { | |||
| public static final Integer default_short_decimal_size = 2; | |||
| public static final Integer bill_near_default_days = 5; | |||
| public static final Integer bill_all_type_manage_fee = 999; | |||
| public static final Long bill_pay_way_minigrame = 1L; | |||
| public static final Long bill_pay_way_system = 2L; | |||
| } | |||
| @@ -18,7 +18,7 @@ | |||
| <result column="createtime" jdbcType="TIMESTAMP" property="createtime"/> | |||
| <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/> | |||
| <result column="pay_date" jdbcType="TIMESTAMP" property="payDate"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="remark" jdbcType="VARCHAR" property="remark"/> | |||
| </resultMap> | |||
| @@ -27,7 +27,7 @@ | |||
| <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime" /> | |||
| <result column="type" jdbcType="INTEGER" property="type" /> | |||
| <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="price_detail" jdbcType="VARCHAR" property="priceDetail"/> | |||
| <result column="starttime" property="starttime"/> | |||
| @@ -28,7 +28,7 @@ | |||
| <result column="updatetime" jdbcType="TIMESTAMP" property="updatetime" /> | |||
| <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/> | |||
| <result column="return_price" jdbcType="VARCHAR" property="returnPrice"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="service_charge_pay" property="serviceChargePay"/> | |||
| <result column="shop_info" property="shopInfo"/> | |||
| <result column="freeze" property="freeze"/> | |||
| @@ -29,7 +29,7 @@ | |||
| <result column="comments" jdbcType="VARCHAR" property="comments"/> | |||
| <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/> | |||
| <result column="return_price" jdbcType="VARCHAR" property="returnPrice"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="last_owe_call_time" jdbcType="TIMESTAMP" property="lastOweCallTime"/> | |||
| <result column="last_owe_call_user" jdbcType="VARCHAR" property="lastOweCallUser"/> | |||
| <result column="merchant_name" property="merchantName"/> | |||
| @@ -30,7 +30,7 @@ | |||
| <result column="last_owe_call_user" jdbcType="VARCHAR" property="lastOweCallUser"/> | |||
| <result column="comments" jdbcType="VARCHAR" property="comments" /> | |||
| <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="merchant_name" property="merchantName"/> | |||
| @@ -0,0 +1,58 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||
| <mapper namespace="com.iformall.mapper.WxBillPayWayMapper"> | |||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxBillPayWay"> | |||
| <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="create_time" jdbcType="TIMESTAMP" property="createTime"/> | |||
| <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/> | |||
| <result column="is_del" jdbcType="INTEGER" property="isDel"/> | |||
| <result column="is_system" jdbcType="INTEGER" property="isSystem"/> | |||
| <result column="name" jdbcType="VARCHAR" property="name"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`is_del`,`name`,`is_system` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| where 1=1 | |||
| <if test=" null != id ">and `id` = #{id}</if> | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||
| and `parent_tenant_id` = #{parentTenantId} | |||
| </if> | |||
| <if test=" null != isDel ">and `is_del` = #{isDel}</if> | |||
| <if test=" null != isSystem ">and `is_system` = #{isSystem}</if> | |||
| <if test=" null != name and '' != name ">and name like concat('%', #{name},'%')</if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| #{idItem} | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != sortColumns">order by ${sortColumns}</if> | |||
| </sql> | |||
| <select id="findList" parameterType="com.iformall.domain.po.WxBillPayWay" resultMap="BaseResultMap"> | |||
| select | |||
| <include refid="allColumns"/> | |||
| from wx_bill_pay_way | |||
| <include refid="dynamicWhereConditions"/> | |||
| </select> | |||
| <select id="selectById" parameterType="HashMap" resultMap="BaseResultMap"> | |||
| select | |||
| <include refid="allColumns"/> | |||
| from wx_bill_pay_way where id = #{id} and `tenant_id` = #{tenantId} | |||
| </select> | |||
| <update id = "setIsDel" parameterType="HashMap"> | |||
| update wx_bill_pay_way set is_del = #{isDel} where id = #{id} and `tenant_id` = #{tenantId} | |||
| </update> | |||
| </mapper> | |||
| @@ -29,7 +29,7 @@ | |||
| <result column="rent_shop_type" jdbcType="INTEGER" property="rentShopType"/> | |||
| <result column="return_price" jdbcType="VARCHAR" property="returnPrice"/> | |||
| <result column="shop_info" jdbcType="VARCHAR" property="shopInfo"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="freeze" property="freeze"/> | |||
| <result column="service_charge_pay" property="serviceChargePay"/> | |||
| <result column="starttime" property="starttime"/> | |||
| @@ -34,7 +34,7 @@ | |||
| <result column="period" jdbcType="INTEGER" property="period"/> | |||
| <result column="is_preview" property="isPreview"/> | |||
| <result column="shop_info" jdbcType="VARCHAR" property="shopInfo"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="late_pay_status" jdbcType="INTEGER" property="latePayStatus"/> | |||
| <result column="comments" jdbcType="VARCHAR" property="comments"/> | |||
| <result column="parent_bill_id" jdbcType="BIGINT" property="parentBillId"/> | |||
| @@ -33,7 +33,7 @@ | |||
| <result column="late_pay_price" jdbcType="VARCHAR" property="latePayPrice"/> | |||
| <result column="period" jdbcType="INTEGER" property="period"/> | |||
| <result column="shop_info" jdbcType="VARCHAR" property="shopInfo"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="late_pay_status" jdbcType="INTEGER" property="latePayStatus"/> | |||
| <result column="starttime" property="starttime"/> | |||
| <result column="endtime" property="endtime"/> | |||
| @@ -38,7 +38,7 @@ | |||
| <result column="period" jdbcType="INTEGER" property="period"/> | |||
| <result column="is_preview" property="isPreview"/> | |||
| <result column="shop_info" jdbcType="VARCHAR" property="shopInfo"/> | |||
| <result column="pay_way" jdbcType="INTEGER" property="payWay"/> | |||
| <result column="pay_way" jdbcType="BIGINT" property="payWay"/> | |||
| <result column="late_pay_status" jdbcType="INTEGER" property="latePayStatus"/> | |||
| <result column="comments" jdbcType="VARCHAR" property="comments"/> | |||
| <result column="starttime" property="starttime"/> | |||