diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCarController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCarController.java index 30d61e2e5..09b4b23f5 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCarController.java @@ -245,38 +245,42 @@ public class WxCarController extends BaseController { } - @ApiOperation("优免券模板已分配总数") + @ApiOperation("优免券模板库存总数") @GetMapping("/templateAmtCount") @ApiImplicitParams({ @ApiImplicitParam(name = "templateId", value = "模板ID", dataType = "Long", paramType = "query", required = true)}) @SystemControllerLog(description = "车-优免券模板已分配总数") public ResultData getTemplateAmountSum(Long templateId) { logger.debug("[" + getIpAddr() + "] WxCarController::getTemplateAmountSum"); - Map map = new HashMap(); + // 库存总数 = 库存总数(status=0) + 作废券已领取(待使用+已使用) Integer amountCount = 0; try { - amountCount = wxCouponCarService.getAmtCountByTemplateId(templateId); + amountCount = wxCouponCarService.getAmtCountByTemplateId(templateId) + + wxCouponCarService.getClaimCountByTemplateId(templateId); } catch (Exception e) { logger.error(e.getMessage()); } + Map map = new HashMap(); map.put("amountCount", amountCount); return new ResultData(map); } - @ApiOperation("优免券模板库存总数") + @ApiOperation("优免券模板已分配总数") @GetMapping("/templateAvaiCount") @ApiImplicitParams({ @ApiImplicitParam(name = "templateId", value = "模板ID", dataType = "Long", paramType = "query", required = true)}) @SystemControllerLog(description = "车-优免券模板库存总数") public ResultData getTemplateAvailSum(Long templateId) { logger.debug("[" + getIpAddr() + "] WxCarController::getTemplateAvailSum"); - Map map = new HashMap(); + // 已分配总数 = 可用库存总数(status=0)+ 作废券已领取(待使用+已使用) Integer availCount = 0; try { - availCount = wxCouponCarService.getAvaibleCountByTemplateId(templateId); + availCount = wxCouponCarService.getAvaibleCountByTemplateId(templateId) + + wxCouponCarService.getClaimCountByTemplateId(templateId); } catch (Exception e) { logger.error(e.getMessage()); } + Map map = new HashMap(); map.put("availCount", availCount); return new ResultData(map); } diff --git a/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java b/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java index c221fd175..b43dcd84d 100644 --- a/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java +++ b/mallinkAdmin/src/main/java/com/iformall/shiro/MyShiroRealm.java @@ -53,6 +53,10 @@ public class MyShiroRealm extends AuthorizingRealm { if(user == null) { throw new UnknownAccountException(ErrorCode.USER_IS_EMPTY.getMessage()); } + if(user.getTenantId().equals("1")) { + // 只支持租户为1的用户 + throw new UnknownAccountException("租户不支持"); + } if(user.getStatus()==null || !EnumMallUserStatus.VALID.getCode().equals(user.getStatus())) {//用户被禁用 throw new DisabledAccountException(ErrorCode.USER_IS_LOCKED.getMessage()); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java index 35b631854..e9ff8121b 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCarController.java @@ -95,50 +95,7 @@ public class WxCarController extends BaseController { WxPark park = getCurrentPark(getTenantId()); // 2. get vendor params if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { - String phone = paramMap.get("phone"); - if (StringUtils.isBlank(phone) && StringUtils.isBlank(user.getPhone()) && StringUtils.isBlank(user.getVerifyCodePhone())) { - logger.error("手机号为空,请授权手机号"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号为空,请授权手机号"); - } - if (!StringUtils.isBlank(user.getPhone()) && !user.getPhone().contains("*")) { - phone = user.getPhone(); - } else { - phone = user.getVerifyCodePhone(); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String appId = objParams.getString("appId"); - String merchantNo = objParams.getString("merchantNo"); - String merchantKey = objParams.getString("merchantKey"); - String version = objParams.getString("version"); - - String ret = ""; - try { - ret = etcp.userSignin(url, appId, merchantNo, merchantKey, version, phone); - } catch (MallinkException e) { - logger.error("ETCP failed: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { - // 获取绑定的车牌 - JSONObject dataObj = retObj.getJSONObject("data"); - dataObj.put("vendor", EnumCarVendor.CAR_ETCP.getCode()); - String etcpToken = dataObj.getString("token"); - try { - JSONObject dataObj1 = syncCarNumbers(user.getId(), user.getTenantId(), park.getVendorType(), - url, merchantNo, merchantKey, version, - etcpToken); - } catch (MallinkException e) { - logger.error("ETCP cmd error: " + e.getMessage()); - } - // c端必须保存此token - return new ResultData(dataObj); - } else { - logger.error("共同登录失败: "+phone); - return new ResultData(ErrorCode.ETCP_LOGIN_FAIL.getCode(), "共同登录失败"); - } + return initForEtcp(paramMap, user, park); } else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()){ // TJD不需要共同登录 Map resultMap = new HashMap(); @@ -149,8 +106,55 @@ public class WxCarController extends BaseController { return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "登录失败"); } + private ResultData initForEtcp(Map paramMap, WxCUser user, WxPark park) { + String phone = paramMap.get("phone"); + if (StringUtils.isBlank(phone) && StringUtils.isBlank(user.getPhone()) && StringUtils.isBlank(user.getVerifyCodePhone())) { + logger.error("手机号为空,请授权手机号"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号为空,请授权手机号"); + } + if (!StringUtils.isBlank(user.getPhone()) && !user.getPhone().contains("*")) { + phone = user.getPhone(); + } else { + phone = user.getVerifyCodePhone(); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String appId = objParams.getString("appId"); + String merchantNo = objParams.getString("merchantNo"); + String merchantKey = objParams.getString("merchantKey"); + String version = objParams.getString("version"); + + String ret = ""; + try { + ret = etcp.userSignin(url, appId, merchantNo, merchantKey, version, phone); + } catch (MallinkException e) { + logger.error("ETCP failed: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { + // 获取绑定的车牌 + JSONObject dataObj = retObj.getJSONObject("data"); + dataObj.put("vendor", EnumCarVendor.CAR_ETCP.getCode()); + String etcpToken = dataObj.getString("token"); + try { + JSONObject dataObj1 = etcpSyncCarNumbers(user.getId(), user.getTenantId(), park.getVendorType(), + url, merchantNo, merchantKey, version, + etcpToken); + } catch (MallinkException e) { + logger.error("ETCP cmd error: " + e.getMessage()); + } + // c端必须保存此token + return new ResultData(dataObj); + } else { + logger.error("共同登录失败: "+phone); + return new ResultData(ErrorCode.ETCP_LOGIN_FAIL.getCode(), "共同登录失败"); + } + } + /** - * 同步 + * ETCP同步 * @param cUserId * @param tenantId * @param iVendorType @@ -161,9 +165,9 @@ public class WxCarController extends BaseController { * @param etcpToken * @return */ - private JSONObject syncCarNumbers(Long cUserId, String tenantId, int iVendorType, - String url, String merchantNo, String merchantKey, String version, - String etcpToken) { + private JSONObject etcpSyncCarNumbers(Long cUserId, String tenantId, int iVendorType, + String url, String merchantNo, String merchantKey, String version, + String etcpToken) { String ret; JSONObject retObj; /*{"code": 0,"msg": "ok","data": {"number": 3,"carList": ["晋 BMZ105","云 C12345"]}} */ @@ -253,115 +257,134 @@ public class WxCarController extends BaseController { WxPark park = getCurrentPark(getTenantId()); // 2. get vendor params if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { - String etcpToken = paramMap.get("etcpToken"); - if (StringUtils.isBlank(etcpToken)) { - logger.error("etcpToken为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); - } - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(carNumber)) { - logger.error("carNumber为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String merchantNo = objParams.getString("merchantNo"); - String merchantKey = objParams.getString("merchantKey"); - String version = objParams.getString("version"); + return etcpBindCar(paramMap, park); + } + else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { + return tjdBindCar(paramMap, park); + } + return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "绑车牌失败"); + } - String ret = ""; - try { - ret = etcp.bindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber, null); - } catch (MallinkException e) { - logger.error("ETCP failed: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == 0) { - // 插入车牌 - Date curr = new Date(); - WxCUserCar userCar = new WxCUserCar(); - userCar.setCUserId(getUserId()); - userCar.setTenantId(getTenantId()); - userCar.setCarNumber(carNumber); - userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); - userCar.setCreateDate(curr); - userCar.setUpdateDate(curr); - wxCUserCarService.saveOrUpdate(userCar); + private ResultData etcpBindCar(Map paramMap, WxPark park) { + String etcpToken = paramMap.get("etcpToken"); + if (StringUtils.isBlank(etcpToken)) { + logger.error("etcpToken为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); + } + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + logger.error("carNumber为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String merchantNo = objParams.getString("merchantNo"); + String merchantKey = objParams.getString("merchantKey"); + String version = objParams.getString("version"); + + String ret = ""; + try { + ret = etcp.bindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber, null); + } catch (MallinkException e) { + logger.error("ETCP failed: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == 0) { + addCarInfoToDB(carNumber); + JSONObject dataObj = retObj.getJSONObject("data"); + return new ResultData(dataObj); + } else { + String message = retObj.getString("message"); + logger.error("绑车牌失败: " + carNumber); + return new ResultData(ErrorCode.ETCP_BIND_FAIL.getCode(), message, retObj); + } + } - wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar); - //增加积分 - addCredit(); - JSONObject dataObj = retObj.getJSONObject("data"); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId()); - return new ResultData(dataObj); - } else { - String message = retObj.getString("message"); - logger.error("绑车牌失败: " + carNumber); - return new ResultData(ErrorCode.ETCP_BIND_FAIL.getCode(), message, retObj); - } + private void addCarInfoToDB(String carNumber) { + // 插入车牌 + Date curr = new Date(); + WxCUserCar userCar = new WxCUserCar(); + userCar.setCUserId(getUserId()); + userCar.setTenantId(getTenantId()); + userCar.setCarNumber(carNumber); + userCar.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); + userCar.setCreateDate(curr); + userCar.setUpdateDate(curr); + wxCUserCarService.saveOrUpdate(userCar); + + // 成长值 + wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar); + //增加积分 + addCredit(); + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId()); + } + + private ResultData tjdBindCar(@RequestBody Map paramMap, WxPark park) { + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + logger.error("carNumber为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); } - else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(carNumber)) { - logger.error("carNumber为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - String carNumColor = paramMap.get("carNumColor"); - //if (StringUtils.isBlank(carNumColor)) { - // logger.error("carNumColor为空"); - // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumColor为空"); - //} - Long newCarId = 0L; - String outCarId = paramMap.get("outCarId"); - if (StringUtils.isBlank(outCarId)) { - logger.warn("outCarId为空"); - newCarId = wxCUserCarService.getNewCarID(); - outCarId = String.valueOf(newCarId); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String partner = objParams.getString("partner"); - String key = objParams.getString("key"); - String version = objParams.getString("version"); - String ret = tjd.registerCar(url, partner, key, version, - carNumber, carNumColor, null, outCarId); - JSONObject retObj = JSON.parseObject(ret); - retObj.put("vendor", park.getVendorType()); - if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { - String carId = retObj.getString("carId"); - // 插入车牌 - Date curr = new Date(); - WxCUserCar userCar = new WxCUserCar(); - userCar.setId(newCarId); - userCar.setCUserId(getUserId()); - userCar.setTenantId(getTenantId()); - userCar.setCarNumber(carNumber); - userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode()); - JSONObject jo = new JSONObject(); - jo.put("carId", carId); - userCar.setVendorParams(JSON.toJSONString(jo)); - userCar.setCreateDate(curr); - userCar.setUpdateDate(curr); - try { - wxCUserCarService.save(userCar); - wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar); - //增加积分 - addCredit(); - } catch (Exception e) { - logger.error(e.getMessage()); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); - } + String carNumColor = paramMap.get("carNumColor"); + //if (StringUtils.isBlank(carNumColor)) { + // logger.error("carNumColor为空"); + // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumColor为空"); + //} + Long newCarId = 0L; + String outCarId = paramMap.get("outCarId"); + if (StringUtils.isBlank(outCarId)) { + logger.warn("outCarId为空"); + newCarId = wxCUserCarService.getNewCarID(); + outCarId = String.valueOf(newCarId); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String partner = objParams.getString("partner"); + String key = objParams.getString("key"); + String version = objParams.getString("version"); + String ret = tjd.registerCar(url, partner, key, version, + carNumber, carNumColor, null, outCarId); + JSONObject retObj = JSON.parseObject(ret); + retObj.put("vendor", park.getVendorType()); + if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { + ResultData e = tjdInsertToDB(carNumber, newCarId, retObj); + if (e != null) return e; + return new ResultData(retObj); + } else { + return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj); + } + } - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId()); - return new ResultData(retObj); - } else { - return new ResultData(ErrorCode.TJD_BIND_FAIL.getCode(), "绑车牌失败", retObj); - } + private ResultData tjdInsertToDB(String carNumber, Long newCarId, JSONObject retObj) { + String carId = retObj.getString("carId"); + // 插入车牌 + Date curr = new Date(); + WxCUserCar userCar = new WxCUserCar(); + userCar.setId(newCarId); + userCar.setCUserId(getUserId()); + userCar.setTenantId(getTenantId()); + userCar.setCarNumber(carNumber); + userCar.setVendorType(EnumCarVendor.CAR_TJD.getCode()); + JSONObject jo = new JSONObject(); + jo.put("carId", carId); + userCar.setVendorParams(JSON.toJSONString(jo)); + userCar.setCreateDate(curr); + userCar.setUpdateDate(curr); + try { + wxCUserCarService.save(userCar); + wxScoreRulesService.addScore(EnumScoreType.BIND_CAR,userCar); + //增加积分 + addCredit(); + } catch (Exception e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.DB_FAIL.getCode(), "TJD保存车牌失败, e:" + e.getMessage()); } - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "绑车牌失败"); + + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_CAR,getUserId()); + return null; } //-----增加积分start----- @@ -399,89 +422,98 @@ public class WxCarController extends BaseController { // 1, get mall's park WxPark park = getCurrentPark(getTenantId()); if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { - String etcpToken = paramMap.get("etcpToken"); - if (StringUtils.isBlank(etcpToken)) { - logger.error("etcpToken为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); - } - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(carNumber)) { - logger.error("carNumber为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String merchantNo = objParams.getString("merchantNo"); - String merchantKey = objParams.getString("merchantKey"); - String version = objParams.getString("version"); + return etcpUnbindCar(paramMap, park); + } + else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { + ResultData e = tjdUnbindCar(paramMap, park); + if (e != null) return e; + } + return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "解绑车牌失败"); + } - String ret = ""; + private ResultData etcpUnbindCar(Map paramMap, WxPark park) { + String etcpToken = paramMap.get("etcpToken"); + if (StringUtils.isBlank(etcpToken)) { + logger.error("etcpToken为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); + } + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + logger.error("carNumber为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String merchantNo = objParams.getString("merchantNo"); + String merchantKey = objParams.getString("merchantKey"); + String version = objParams.getString("version"); + + String ret = ""; + try { + ret = etcp.unbindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber); + } catch (MallinkException e) { + logger.error("ETCP failed: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == 0) { try { - ret = etcp.unbindCar(url, merchantNo, merchantKey, version, etcpToken, carNumber); - } catch (MallinkException e) { - logger.error("ETCP failed: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); + WxCUserCar userCar = new WxCUserCar(); + userCar.setCUserId(getUserId()); + userCar.setTenantId(getTenantId()); + userCar.setCarNumber(carNumber); + wxCUserCarService.deleteByObj(userCar); + } catch (Exception e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.DB_FAIL.getCode(), "解绑车牌数据库错误, e:" + e.getMessage()); } + return new ResultData(); + } else { + String message = retObj.getString("message"); + logger.error("解绑车牌失败"); + return new ResultData(ErrorCode.ETCP_UNBIND_FAIL.getCode(), message, retObj); + } + } + + private ResultData tjdUnbindCar(@RequestBody Map paramMap, WxPark park) { + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + WxCUserCar queryOne = new WxCUserCar(); + queryOne.setCarNumber(carNumber); + queryOne.setTenantId(getTenantId()); + queryOne.setCUserId(getUserId()); + WxCUserCar userCar = wxCUserCarService.getOne(queryOne); + if (userCar != null) { + String params = userCar.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String carId = objParams.getString("carId"); + + params = park.getVendorParams(); + String url = objParams.getString("url"); + String partner = objParams.getString("partner"); + String key = objParams.getString("key"); + String version = objParams.getString("version"); + String ret = tjd.writeOffCar(url, partner, key, version, carId); JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == 0) { + if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { try { - WxCUserCar userCar = new WxCUserCar(); - userCar.setCUserId(getUserId()); - userCar.setTenantId(getTenantId()); - userCar.setCarNumber(carNumber); wxCUserCarService.deleteByObj(userCar); } catch (Exception e) { - logger.error(e.getMessage()); + logger.error("解绑车牌数据库错误, e:" + e.getMessage()); return new ResultData(ErrorCode.DB_FAIL.getCode(), "解绑车牌数据库错误, e:" + e.getMessage()); } return new ResultData(); } else { - String message = retObj.getString("message"); - logger.error("解绑车牌失败"); - return new ResultData(ErrorCode.ETCP_UNBIND_FAIL.getCode(), message, retObj); + return new ResultData(ErrorCode.TJD_UNBIND_FAIL, "解绑车牌失败"); } } - else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(carNumber)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - WxCUserCar queryOne = new WxCUserCar(); - queryOne.setCarNumber(carNumber); - queryOne.setTenantId(getTenantId()); - queryOne.setCUserId(getUserId()); - WxCUserCar userCar = wxCUserCarService.getOne(queryOne); - if (userCar != null) { - String params = userCar.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String carId = objParams.getString("carId"); - - params = park.getVendorParams(); - String url = objParams.getString("url"); - String partner = objParams.getString("partner"); - String key = objParams.getString("key"); - String version = objParams.getString("version"); - String ret = tjd.writeOffCar(url, partner, key, version, carId); - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { - try { - wxCUserCarService.deleteByObj(userCar); - } catch (Exception e) { - logger.error("解绑车牌数据库错误, e:" + e.getMessage()); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "解绑车牌数据库错误, e:" + e.getMessage()); - } - - return new ResultData(); - } else { - return new ResultData(ErrorCode.TJD_UNBIND_FAIL, "解绑车牌失败"); - } - } - - } - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "解绑车牌失败"); + return null; } /** @@ -529,76 +561,84 @@ public class WxCarController extends BaseController { // 1, get mall's park WxPark park = getCurrentPark(getTenantId()); if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { - String etcpToken = paramMap.get("etcpToken"); - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(etcpToken)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); - } - if (StringUtils.isBlank(carNumber)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String appId = objParams.getString("appId"); - String merchantNo = objParams.getString("merchantNo"); - String merchantKey = objParams.getString("merchantKey"); - String version = objParams.getString("version"); + return etcpCarStopFee(paramMap, park); + } + else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { + return tjdCarStopFee(paramMap, park); + } + return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "停车费获取失败"); + } - String ret = ""; + private ResultData etcpCarStopFee(@RequestBody Map paramMap, WxPark park) { + String etcpToken = paramMap.get("etcpToken"); + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(etcpToken)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "etcpToken为空"); + } + if (StringUtils.isBlank(carNumber)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); + } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String appId = objParams.getString("appId"); + String merchantNo = objParams.getString("merchantNo"); + String merchantKey = objParams.getString("merchantKey"); + String version = objParams.getString("version"); + + String ret = ""; + try { + ret = etcp.orderUnpay(url, appId, merchantNo, merchantKey, version, etcpToken, carNumber); + } catch (MallinkException e) { + logger.error("ETCP failed: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == 0) { + JSONObject feeObj = retObj.getJSONArray("data").getJSONObject(0); + /* + Date currentDate = new Date(); + WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); + wxCarCmdLog.setTenantId(user.getTenantId()); + wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); + wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_UNPAY.getCode()); + String feeStr = JSON.toJSONString(feeObj); + wxCarCmdLog.setCmdJson(feeStr); + wxCarCmdLog.setCreateDate(currentDate); + wxCarCmdLog.setUpdateDate(currentDate); try { - ret = etcp.orderUnpay(url, appId, merchantNo, merchantKey, version, etcpToken, carNumber); - } catch (MallinkException e) { - logger.error("ETCP failed: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } + wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); + } catch (Exception e) { + logger.error("etcpOrderUnpay: 入库错误:" + feeStr); + return new ResultData(ErrorCode.DB_FAIL.getCode(), "入库错误", feeStr); + } + */ + return new ResultData(Result.SUCCESS, "停车费获取成功", feeObj); + } else { + String message = retObj.getString("message"); + return new ResultData(ErrorCode.ETCP_STOP_FEE_FAIL.getCode(), message, retObj); + } + } - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == 0) { - JSONObject feeObj = retObj.getJSONArray("data").getJSONObject(0); - /* - Date currentDate = new Date(); - WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); - wxCarCmdLog.setTenantId(user.getTenantId()); - wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); - wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_UNPAY.getCode()); - String feeStr = JSON.toJSONString(feeObj); - wxCarCmdLog.setCmdJson(feeStr); - wxCarCmdLog.setCreateDate(currentDate); - wxCarCmdLog.setUpdateDate(currentDate); - try { - wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); - } catch (Exception e) { - logger.error("etcpOrderUnpay: 入库错误:" + feeStr); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "入库错误", feeStr); - } - */ - return new ResultData(Result.SUCCESS, "停车费获取成功", feeObj); - } else { - String message = retObj.getString("message"); - return new ResultData(ErrorCode.ETCP_STOP_FEE_FAIL.getCode(), message, retObj); - } + private ResultData tjdCarStopFee(@RequestBody Map paramMap, WxPark park) { + String carNumber = paramMap.get("carNumber"); + if (StringUtils.isBlank(carNumber)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); } - else if (park.getVendorType() == EnumCarVendor.CAR_TJD.getCode()) { - String carNumber = paramMap.get("carNumber"); - if (StringUtils.isBlank(carNumber)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "carNumber为空"); - } - String params = park.getVendorParams(); - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String partner = objParams.getString("partner"); - String key = objParams.getString("key"); - String version = objParams.getString("version"); - String ret = tjd.infoForFreeMins(url, partner, key, version, carNumber); - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { - return new ResultData(retObj); - } else { - return new ResultData(ErrorCode.TJD_STOP_FEE_FAIL.getCode(), "停车费获取失败"); - } + String params = park.getVendorParams(); + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String partner = objParams.getString("partner"); + String key = objParams.getString("key"); + String version = objParams.getString("version"); + String ret = tjd.infoForFreeMins(url, partner, key, version, carNumber); + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getString("returnCode").equalsIgnoreCase(EnumTJDCode.SUCCESS.getMessage())) { + return new ResultData(retObj); + } else { + return new ResultData(ErrorCode.TJD_STOP_FEE_FAIL.getCode(), "停车费获取失败"); } - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "停车费获取失败"); } /** @@ -782,62 +822,68 @@ public class WxCarController extends BaseController { /// 1, get mall's park WxPark park = getCurrentPark(getTenantId()); if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { - String params = park.getVendorParams(); - if(params == null) { - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "车场不支持"); - } - JSONObject objParams = JSON.parseObject(params); - String url = objParams.getString("url"); - String merchantNo = objParams.getString("merchantNo"); - String merchantKey = objParams.getString("merchantKey"); - String version = objParams.getString("version"); - if (park.getParkingId() == null) { - // those code is not supported - /* - String lat = objParams.getString("lat"); - String lon = objParams.getString("lon"); - String radius = objParams.getString("radius"); - String ret = etcp.parkingInfo(url, merchantNo, merchantKey, version, lat, lon, radius); - logger.info(ret); - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { - JSONObject retData = retObj.getJSONObject("data"); - if (retData != null) { - JSONArray retDataList = retData.getJSONArray("list"); - if (retDataList != null) { - JSONObject parkData = retDataList.getJSONObject(0); - if (parkData != null) { - String parkId = parkData.getString("id"); - objParams.put("parkId", parkId); - params = JSON.toJSONString(objParams); - park.setVendorParams(params); - park.setParkingId(parkId); - wxParkService.saveOrUpdate(park); - } + ResultData e = etcpParkStatus(park); + if (e != null) return e; + } + return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "车场不支持"); + } + + private ResultData etcpParkStatus(WxPark park) { + String params = park.getVendorParams(); + if(params == null) { + return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "车场不支持"); + } + JSONObject objParams = JSON.parseObject(params); + String url = objParams.getString("url"); + String merchantNo = objParams.getString("merchantNo"); + String merchantKey = objParams.getString("merchantKey"); + String version = objParams.getString("version"); + if (park.getParkingId() == null) { + // those code is not supported + /* + String lat = objParams.getString("lat"); + String lon = objParams.getString("lon"); + String radius = objParams.getString("radius"); + String ret = etcp.parkingInfo(url, merchantNo, merchantKey, version, lat, lon, radius); + logger.info(ret); + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { + JSONObject retData = retObj.getJSONObject("data"); + if (retData != null) { + JSONArray retDataList = retData.getJSONArray("list"); + if (retDataList != null) { + JSONObject parkData = retDataList.getJSONObject(0); + if (parkData != null) { + String parkId = parkData.getString("id"); + objParams.put("parkId", parkId); + params = JSON.toJSONString(objParams); + park.setVendorParams(params); + park.setParkingId(parkId); + wxParkService.saveOrUpdate(park); } } } - */ } + */ + } - if (park.getParkingId() != null) { - String ret = ""; - try { - ret = etcp.parkingStatus(url, merchantNo, merchantKey, version, park.getParkingId()); - } catch (MallinkException e) { - logger.error("ETCP failed: " + e.getMessage()); - return new ResultData(e.getErrorCode(), e.getMessage()); - } + if (park.getParkingId() != null) { + String ret = ""; + try { + ret = etcp.parkingStatus(url, merchantNo, merchantKey, version, park.getParkingId()); + } catch (MallinkException e) { + logger.error("ETCP failed: " + e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } - JSONObject retObj = JSON.parseObject(ret); - if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { - if (retObj.get("data") != null) { - return new ResultData(retObj.getJSONObject("data")); - } + JSONObject retObj = JSON.parseObject(ret); + if (retObj.getIntValue("code") == EnumETCPCode.SUCCESS.getCode()) { + if (retObj.get("data") != null) { + return new ResultData(retObj.getJSONObject("data")); } } } - return new ResultData(ErrorCode.CAR_VENDOR_NOT_SUPPORT.getCode(), "车场不支持"); + return null; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponCarMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponCarMapper.java index 929f0c3ce..d188258c3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponCarMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponCarMapper.java @@ -15,5 +15,7 @@ public interface WxCouponCarMapper extends CommonMapper { Integer findTemplateAvailCount(Long templateId); + Integer findAmtCountForCouponOrderTakeOff(Long templateId); + WxCouponCarVo findVoDetail(@Param("id")Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponCarService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponCarService.java index f64c11a09..b8938b309 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponCarService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponCarService.java @@ -47,19 +47,26 @@ public interface WxCouponCarService { void deleteById(Long id); /** - * 根据templateId获取分配总数 + * 根据templateId获取库存总数 * * @param templateId */ Integer getAmtCountByTemplateId(Long templateId); /** - * 根据templateId获取库存总数 + * 根据templateId获取已分配总数 * * @param templateId */ Integer getAvaibleCountByTemplateId(Long templateId); + /** + * 根据templateId获取作废券的已领取总数 + * + * @param templateId + */ + Integer getClaimCountByTemplateId(Long templateId); + /** * 根据coupon获得实体 * diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index df5b63a83..0ae1743cd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -2504,3 +2504,4 @@ public class WxChartServiceImpl implements WxChartDataService { } } + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponCarServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponCarServiceImpl.java index 36e0bf7a7..4243ef9f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponCarServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponCarServiceImpl.java @@ -56,6 +56,11 @@ public class WxCouponCarServiceImpl implements WxCouponCarService { return wxCouponCarMapper.findTemplateAvailCount(templateId); } + @Override + public Integer getClaimCountByTemplateId(Long templateId) { + return wxCouponCarMapper.findAmtCountForCouponOrderTakeOff(templateId); + } + @Override public WxCouponCarVo findDetailVo(Long id) { return wxCouponCarMapper.findVoDetail(id); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 5b03c2c0b..f3dfb7098 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -223,10 +223,11 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { WxCreditHistory wxCreditHistory = new WxCreditHistory(); wxCreditHistory.setBusinessId(Long.valueOf(wxMerchant.getBusinessId())); wxCreditHistory.setTenantId(tenantId); - if (StringUtils.isNotEmpty(spendStr)) { + int credit = 0; + if (StringUtils.isNotBlank(spendStr)) { wxCreditHistory.setSpend(new BigDecimal(spendStr).multiply(new BigDecimal(100)).intValue()); + credit = payAddCredit(wxCreditHistory); } - int credit = payAddCredit(wxCreditHistory); creditMap.put("credit", credit); } return creditMap; diff --git a/mallinkService/src/main/resources/mapper/WxBillDepositMapper.xml b/mallinkService/src/main/resources/mapper/WxBillDepositMapper.xml index 88522578f..74e79294e 100644 --- a/mallinkService/src/main/resources/mapper/WxBillDepositMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillDepositMapper.xml @@ -22,9 +22,9 @@ - + - + `id`,`rent_contract_id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`, `expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`,`merchant_id`,`user_id`,`shop_id`,`updatetime`, @@ -32,42 +32,42 @@ - where 1 = 1 - and `id` = #{id} - and `rent_contract_id` = #{rentContractId} - and `receive_pay` = #{receivePay} - and `pay` = #{pay} - and `receive_date` = #{receiveDate} - and `pay_date` = #{payDate} - and `createtime` = #{createtime} - and `expired_day` = #{expiredDay} - and `tenant_id` = #{tenantId} - and `owe` = #{owe} - and `status` = #{status} - and `is_del` = #{isDel} - and `need_pay` = #{needPay} - and `merchant_id` = #{merchantId} - and `user_id` = #{userId} + where 1 = 1 + and `id` = #{id} + and `rent_contract_id` = #{rentContractId} + and `receive_pay` = #{receivePay} + and `pay` = #{pay} + and `receive_date` = #{receiveDate} + and `pay_date` = #{payDate} + and `createtime` = #{createtime} + and `expired_day` = #{expiredDay} + and `tenant_id` = #{tenantId} + and `owe` = #{owe} + and `status` = #{status} + and `is_del` = #{isDel} + and `need_pay` = #{needPay} + and `merchant_id` = #{merchantId} + and `user_id` = #{userId} and `shop_id` = #{shopId} and `updatetime` = #{updatetime} and `rent_shop_type` = #{rentShopType} and `pay_way` = #{payWay} - + - and id in + and id in - #{idItem} + #{idItem} - + order by ${sortColumns} - + - - + + - + - + + diff --git a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml index 10a7fa12d..10acfc640 100644 --- a/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillOtherMapper.xml @@ -21,9 +21,9 @@ - + - + `id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`, `tenant_id`,`owe`,`status`,`is_del`,`merchant_id`,`user_id`,`shop_id`,`updatetime`,`name`,`comments`, @@ -31,40 +31,40 @@ - where 1 = 1 - and `id` = #{id} - and `receive_pay` = #{receivePay} - and `pay` = #{pay} - and `receive_date` = #{receiveDate} - and `pay_date` = #{payDate} - and `createtime` = #{createtime} - and `expired_day` = #{expiredDay} - and `tenant_id` = #{tenantId} - and `owe` = #{owe} - and `status` = #{status} - and `is_del` = #{isDel} - and `merchant_id` = #{merchantId} - and `user_id` = #{userId} - and `shop_id` = #{shopId} + where 1 = 1 + and `id` = #{id} + and `receive_pay` = #{receivePay} + and `pay` = #{pay} + and `receive_date` = #{receiveDate} + and `pay_date` = #{payDate} + and `createtime` = #{createtime} + and `expired_day` = #{expiredDay} + and `tenant_id` = #{tenantId} + and `owe` = #{owe} + and `status` = #{status} + and `is_del` = #{isDel} + and `merchant_id` = #{merchantId} + and `user_id` = #{userId} + and `shop_id` = #{shopId} and `updatetime` = #{updatetime} and `name` = #{name} and `rent_shop_type` = #{rentShopType} and `pay_way` = #{payWay} - + - and id in + and id in - #{idItem} + #{idItem} - + order by ${sortColumns} - + - + - + update wx_bill_other set status=#{notPaid},expired_day=DATEDIFF(now(),receive_date) where tenant_id=#{tenantId} and status!=#{paid} and DATEDIFF(now(),receive_date)>0 - + update wx_bill_other set status=#{waitPay} where tenant_id=#{tenantId} and status!=#{paid} and DATEDIFF(now(),receive_date) <=0 @@ -114,5 +114,6 @@ select IFNULL(round(sum(owe)/100,2),0) owe,tenant_id from wx_bill_other where status = 1 and tenant_id=#{tenantId} and receive_date between #{startdate} and #{enddate} - + + diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index d2fb4c507..ea8656d46 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -30,9 +30,9 @@ - + - + `id`,`property_contract_id`,`receive_pay`,`pay`,`receive_date`,`pay_date`, `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, @@ -43,21 +43,21 @@ where 1=1 - and `id` = #{id} + and `id` = #{id} and `property_contract_id` = #{propertyContractId} - and `receive_pay` = #{receivePay} - and `pay` = #{pay} - and `receive_date` = #{receiveDate} - and `pay_date` = #{payDate} - and `createtime` = #{createtime} - and `expired_day` = #{expiredDay} - and `tenant_id` = #{tenantId} - and `owe` = #{owe} - and `status` = #{status} - and `is_del` = #{isDel} - and `need_pay` = #{needPay} - and `merchant_id` = #{merchantId} - and `user_id` = #{userId} + and `receive_pay` = #{receivePay} + and `pay` = #{pay} + and `receive_date` = #{receiveDate} + and `pay_date` = #{payDate} + and `createtime` = #{createtime} + and `expired_day` = #{expiredDay} + and `tenant_id` = #{tenantId} + and `owe` = #{owe} + and `status` = #{status} + and `is_del` = #{isDel} + and `need_pay` = #{needPay} + and `merchant_id` = #{merchantId} + and `user_id` = #{userId} and `shop_id` = #{shopId} and `updatetime` = #{updatetime} and `rent_shop_type` = #{rentShopType} @@ -67,19 +67,19 @@ and `late_pay_status` = #{latePayStatus} - and id in + and id in - #{idItem} + #{idItem} - + order by ${sortColumns} - + - + - + - + update wx_bill_property set status=#{notPaid},expired_day=DATEDIFF(now(),receive_date) where tenant_id=#{tenantId} and status!=#{paid} and status != 6 and DATEDIFF(now(),receive_date)>0 - + - update wx_bill_property set status=#{waitPay} where id in( - select a.id from (select br.id,rc.receive_period,br.property_contract_id,br.receive_date from wx_bill_property br + update wx_bill_property set status=#{waitPay} where id in( + select a.id from (select br.id,rc.receive_period,br.property_contract_id,br.receive_date from wx_bill_property br left join wx_property_contract rc on br.property_contract_id=rc.id where br.tenant_id=#{tenantId} and br.status!=#{paid} and br.status != 6 and now() < br.receive_date and DATE_ADD(now(),INTERVAL 1 MONTH)>br.receive_date) a) @@ -179,3 +179,4 @@ where c.id = br.property_contract_id and br.status = 1 and c.id = #{contractId} + diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 4ea0d0708..97cc826bb 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -30,9 +30,9 @@ - + - + `id`,`rent_contract_id`,`receive_pay`,`pay`,`receive_date`,`pay_date`, `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, @@ -40,7 +40,7 @@ `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`, `pay_way`,`late_pay_status`,`comments` - + where 1=1 and `id` = #{id} @@ -74,15 +74,15 @@ order by ${sortColumns} - + - - + + - + - + update wx_bill_rent set status=#{notPaid},expired_day=DATEDIFF(now(),receive_date) where tenant_id=#{tenantId} and status!=#{paid} and status!=6 and DATEDIFF(now(),receive_date)>0 - update wx_bill_rent set status=#{waitPay} where id in( - select a.id from (select br.id,rc.receive_period,br.rent_contract_id,br.receive_date from wx_bill_rent br + update wx_bill_rent set status=#{waitPay} where id in( + select a.id from (select br.id,rc.receive_period,br.rent_contract_id,br.receive_date from wx_bill_rent br left join wx_rent_contract rc on br.rent_contract_id=rc.id where br.tenant_id=#{tenantId} and br.status!=#{paid} and br.status!=6 and now() < br.receive_date and DATE_ADD(now(),INTERVAL 1 MONTH)>br.receive_date) a) @@ -178,3 +178,4 @@ + diff --git a/mallinkService/src/main/resources/mapper/WxCouponCarMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponCarMapper.xml index b2c57fbc8..a86cae044 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponCarMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponCarMapper.xml @@ -71,7 +71,18 @@ from wx_coupon_car car, wx_coupon c where car.id = c.id and c.status = 0 - and json_extract(vendor_params,'$.id') = ${value} + and json_extract(car.vendor_params,'$.id') = ${value} + + +