Просмотр исходного кода

fix contract

release_toaliyun_real
winter 1 год назад
Родитель
Сommit
41271bc7b2
12 измененных файлов: 157 добавлений и 11 удалений
  1. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java
  2. +58
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFeesStandardsController.java
  3. +7
    -0
      mallinkAdmin/src/main/resources/db/migration/V202405010.sql
  4. +38
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxFeesStandards.java
  5. +15
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java
  6. +13
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumContractReceivePeriodUnit.java
  7. +6
    -0
      mallinkService/src/main/java/com/iformall/service/WxFeesStandardsService.java
  8. +6
    -4
      mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java
  9. +8
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxFeesStandardsServiceImpl.java
  10. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java
  11. +2
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  12. +2
    -1
      mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml

+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java Просмотреть файл

@@ -161,7 +161,7 @@ public class WxPropertyContractController extends WxContractBaseController {
result.put("pageInfo", pageInfo);
return new ResultData(result);
}
@PostMapping("add")
public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) {
logger.debug("[" + getIpAddr() + "] WxPropertyContractController::add");


+ 58
- 1
mallinkAdmin/src/main/java/com/iformall/controller/market/WxFeesStandardsController.java Просмотреть файл

@@ -1,14 +1,24 @@
package com.iformall.controller.market;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxFeesStandards;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.enums.EnumFeesStandardsCalcuteUnit;
import com.iformall.enums.EnumFeesStandardsTimeUnit;
import com.iformall.enums.EnumFeesStandardsType;
import com.iformall.service.WxFeesStandardsService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,5 +60,52 @@ public class WxFeesStandardsController extends BaseController {
WxFeesStandards record = wxFeesStandardsService.getById(id,getTenantInfo().getTenantId());
return new ResultData(record);
}

@ApiOperation("查询某一个类型费用标砖列表")
@GetMapping("typeList")
public ResultData typeList(Integer type) {
if (null == type) {
return new ResultData(Result.ERROR,"参数错误");
}
WxFeesStandards record = new WxFeesStandards();
record.updateTenantInfo(getTenantInfo());
record.setType(type);
return new ResultData(wxFeesStandardsService.list(record));
}
@ApiOperation("查询某一个类型计量单位列表")
@GetMapping("typeCalcuteUnitList")
public ResultData typeCalcuteUnitList(Integer type) {
if (null == type) {
return new ResultData(Result.ERROR,"参数错误");
}
List<EnumFeesStandardsCalcuteUnit> enumList = EnumFeesStandardsType.getCalucuteUnites(type);
if (null != enumList) {
Map<Integer,String> retMap = new HashMap<Integer,String>();
for (int i = 0 ; i < enumList.size(); i++) {
EnumFeesStandardsCalcuteUnit cu = enumList.get(i);
retMap.put(cu.getCode(), cu.getMessage());
}
return new ResultData(retMap);
}
return new ResultData();
}
@ApiOperation("查询某一个类型时间单位列表")
@GetMapping("typeTimeUnitList")
public ResultData typeTimeUnitList(Integer type) {
if (null == type) {
return new ResultData(Result.ERROR,"参数错误");
}
List<EnumFeesStandardsTimeUnit> enumList = EnumFeesStandardsType.getTimeUnites(type);
if (null != enumList) {
Map<Integer,String> retMap = new HashMap<Integer,String>();
for (int i = 0 ; i < enumList.size(); i++) {
EnumFeesStandardsTimeUnit cu = enumList.get(i);
retMap.put(cu.getCode(), cu.getMessage());
}
return new ResultData(retMap);
}
return new ResultData();
}
}

+ 7
- 0
mallinkAdmin/src/main/resources/db/migration/V202405010.sql Просмотреть файл

@@ -0,0 +1,7 @@
ALTER TABLE wx_property_contract ADD COLUMN create_type INT(1) NOT NULL DEFAULT 1 COMMENT '创建方式' ;
ALTER TABLE wx_property_contract ADD COLUMN shop_ids VARCHAR(100) COMMENT '店铺ids,根据店铺创建' ;
ALTER TABLE wx_property_contract ADD COLUMN shop_numbers VARCHAR(100) COMMENT '店铺ids,根据店铺创建' ;
ALTER TABLE wx_rent_contract ADD COLUMN price_detail TEXT COMMENT '费用详细说明' AFTER rent_price;
ALTER TABLE wx_property_contract ADD COLUMN price_detail TEXT COMMENT '费用详细说明' AFTER rent_price;
ALTER TABLE wx_property_contract ADD COLUMN fees_standards_info TEXT COMMENT '其他标准费用信息' ;


+ 38
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxFeesStandards.java Просмотреть файл

@@ -1,7 +1,12 @@
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 com.iformall.enums.EnumFeesStandardsCalcuteUnit;
import com.iformall.enums.EnumFeesStandardsTimeUnit;
import com.iformall.enums.EnumYesOrNo;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -30,12 +35,44 @@ public class WxFeesStandards extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "单价", name = "price")
private String price;
@io.swagger.annotations.ApiModelProperty(value = "类型EnumFeesStandardsType", name = "type")
private Integer type;
private Integer type;
@io.swagger.annotations.ApiModelProperty(value = "是否一次性费用EnumYesOrNo", name = "fixedPrice")
private Integer fixedPrice;
@TableField(exist = false)
private String fixedPriceName;
public String getFixedPriceName() {
if (null != fixedPrice) {
if (fixedPrice.intValue() == EnumYesOrNo.YES.getCode().intValue()) {
return "一次性费用";
}else {
return "非一次性费用";
}
}
return "";
}
@io.swagger.annotations.ApiModelProperty(value = "计量单位EnumFeesStandardsCalcuteUnit【非固定费用使用】", name = "calcuteUnit")
private Integer calcuteUnit;
@TableField(exist = false)
private String calcuteUnitName;
public String getCalcuteUnitName() {
if (null != calcuteUnit) {
EnumFeesStandardsCalcuteUnit.getEnum(calcuteUnit).getMessage();
}
return "";
}
@io.swagger.annotations.ApiModelProperty(value = "时间单位EnumFeesStandardsTimeUnit【非固定费用使用】", name = "timeUnit")
private Integer timeUnit;
@TableField(exist = false)
private String timeUnitName;
public String getTimeUnitName() {
if (null != timeUnit) {
EnumFeesStandardsTimeUnit.getEnum(timeUnit).getMessage();
}
return "";
}
}


+ 15
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -215,6 +216,9 @@ public class WxPropertyContract extends TenantEntity {
@TableField(exist = false)
private Integer flowHas;
@io.swagger.annotations.ApiModelProperty(value = "其他标准费用信息", name = "feesStandardsInfo")
private String feesStandardsInfo;
@io.swagger.annotations.ApiModelProperty(value = "到期提醒提前天数", name = "outDateNotifyDays")
private Integer outDateNotifyDays;
@@ -297,11 +301,22 @@ public class WxPropertyContract extends TenantEntity {
}
return shopList;
}
public List<WxFeesStandards> getFeesStardarsList() {
if (StringUtils.isNotBlank(feesStandardsInfo)) {
return JSON.parseArray(feesStandardsInfo, WxFeesStandards.class);
}
return null;
}

@io.swagger.annotations.ApiModelProperty(value = "合同类型", name = "contractType")
private Integer contractType;
@TableField(exist = false)
private List<Long> merchantIds;
@TableField(exist = false)
List<WxFeesStandards> feeStandards;

}

+ 13
- 2
mallinkService/src/main/java/com/iformall/enums/EnumContractReceivePeriodUnit.java Просмотреть файл

@@ -41,7 +41,8 @@ public enum EnumContractReceivePeriodUnit {
public static Calendar getAfterCalendarDay(Calendar instance,int period,int unit) {
if (unit == MONTH.getCode().intValue()) {
instance.add(Calendar.MONTH, period);
instance.add(Calendar.DATE, -1);
//instance.add(Calendar.DATE, -1);
instance.add(Calendar.SECOND, -1);
//几个季度之后
}else if (unit == QUARTER.getCode().intValue()) {
instance = DateUtils.getAfterQuaterStartDay(instance.getTime(), period);
@@ -60,7 +61,8 @@ public enum EnumContractReceivePeriodUnit {
Calendar instance = Calendar.getInstance();
instance.setTime(firstDay);
instance.add(Calendar.MONTH, period);
instance.add(Calendar.DAY_OF_MONTH, -1);
//instance.add(Calendar.DAY_OF_MONTH, -1);
instance.add(Calendar.SECOND, -1);
}
//几个季度之后
}else if (unit == QUARTER.getCode().intValue()) {
@@ -71,4 +73,13 @@ public enum EnumContractReceivePeriodUnit {
return date;
}
public static void main(String[] args) {
Date date = DateUtils.stringToDate("2024-02-03 00:00:00", DateUtils.DATE_TIME_PATTERN);
Calendar instance = Calendar.getInstance();
instance.setTime(date);
System.out.println(DateUtils.format(getAfterCalendarDay(instance, 3, 1).getTime(),DateUtils.DATE_TIME_PATTERN));
System.out.println(DateUtils.format(getAfterCalendarDay(instance, 3, 2).getTime(),DateUtils.DATE_TIME_PATTERN));
System.out.println(DateUtils.getLastDayForMonth(date));
}
}

+ 6
- 0
mallinkService/src/main/java/com/iformall/service/WxFeesStandardsService.java Просмотреть файл

@@ -1,5 +1,7 @@
package com.iformall.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxFeesStandards;

@@ -15,6 +17,8 @@ public interface WxFeesStandardsService {
* @return
*/
PageInfo<WxFeesStandards> listAsPage(WxFeesStandards record, Integer pageIndex, Integer pageSize);
List<WxFeesStandards> list(WxFeesStandards record);

/**
* id+tenantId
@@ -22,4 +26,6 @@ public interface WxFeesStandardsService {
* @return
*/
WxFeesStandards getById(Long id, String tenantId);
}

+ 6
- 4
mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java Просмотреть файл

@@ -421,8 +421,9 @@ public class WxRentContractHelper {
//判断是否满足整月
Calendar instance = Calendar.getInstance();
instance.setTime(startDate);
instance.add(dayType, receivePeriod);
instance.add(Calendar.DATE, -1);
// instance.add(dayType, receivePeriod);
// instance.add(Calendar.DATE, -1);
instance = EnumContractReceivePeriodUnit.getAfterCalendarDay(instance, receivePeriod, dayType);
if(sd.format(instance.getTime()).equals(sd.format(endDate))){
int months = WxRentContractHelper.getMonths(sdM.format(startDate)+"-01",sdM.format(DateUtils.getDaySet(endDate,Calendar.DATE,1))+"-01");
needpay = new BigDecimal(months).multiply(priceD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString();
@@ -522,8 +523,9 @@ public class WxRentContractHelper {
}else{
Calendar instance = Calendar.getInstance();
instance.setTime(start);
instance.add(dayType, receivePeriod);
instance.add(Calendar.DATE, -1);
// instance.add(dayType, receivePeriod);
// instance.add(Calendar.DATE, -1);
instance = EnumContractReceivePeriodUnit.getAfterCalendarDay(instance, receivePeriod, receivePeriod);
if(sd.format(instance.getTime()).equals(sd.format(end))){
isFullMonth = true;
}


+ 8
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxFeesStandardsServiceImpl.java Просмотреть файл

@@ -5,6 +5,9 @@ import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.*;
import com.iformall.mapper.WxFeesStandardsMapper;
import com.iformall.service.*;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,5 +33,10 @@ public class WxFeesStandardsServiceImpl implements WxFeesStandardsService {
recordQ.setTenantId(tenantId);
return wxFeesStandardsMapper.getById(recordQ);
}

@Override
public List<WxFeesStandards> list(WxFeesStandards record) {
return wxFeesStandardsMapper.findList(record);
}
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java Просмотреть файл

@@ -669,6 +669,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
BillTimeVo billTimeVo = billTimeVoList.get(i);
//计算金额
String needpay = "0";
//结算其他金额

boolean flag = false;
if(yearList.size() > 1) {


+ 2
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Просмотреть файл

@@ -3042,7 +3042,8 @@ public class WxRentContractServiceImpl implements WxRentContractService {
list.add(timeVo);

//next
start = DateUtils.getDaySet(timeVo.getEndDate(),Calendar.DATE,1);
//start = DateUtils.getDaySet(timeVo.getEndDate(),Calendar.DATE,1);
start = DateUtils.getDaySet(timeVo.getEndDate(),Calendar.SECOND,1);

if(start.after(end)) {
break;


+ 2
- 1
mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml Просмотреть файл

@@ -60,13 +60,14 @@
<result column="shop_ids" jdbcType="VARCHAR" property="shopIds"/>
<result column="shop_numbers" jdbcType="VARCHAR" property="shopNumbers"/>
<result column="price_detail" jdbcType="VARCHAR" property="priceDetail"/>
<result column="fees_standards_info" jdbcType="VARCHAR" property="feesStandardsInfo"/>
</resultMap>
<sql id="allColumns">
`id`,`merchant_id`,`decimal_size`,`price`,`rental_start_date`,`rental_end_date`,`create_type`,`shop_ids`,`shop_numbers`,
`sign_date`,`receive_period`,`tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`,`price_detail`,
`deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`,`receive_period_unit`,
`shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`,
`shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`,`fees_standards_info`,
`link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`,
`start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio,`rent_info`,fixed_price,
`file_names`,price_unit,rent_price,subject_name,rent_start_type,`operation_type`,late_pay_ratio,late_pay_day,end_contract_time,out_date_notify_days,out_date_notify_phone


Загрузка…
Отмена
Сохранить