diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index 1a54f02f5..9f24b542b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -85,6 +85,14 @@ public class WxPropertyContractController extends WxContractBaseController { if (null == wxPropertyContract.getIsPrivateMerchant()) { wxPropertyContract.setIsPrivateMerchant(EnumYesOrNo.NO.getCode()); } + //如果是已售,则查询虚拟商户,并且店铺类型是商业的 + if (wxPropertyContract.getIsPrivateMerchant()==EnumShopSellStatus.SELLED.getCode()) { + wxPropertyContract.setIsPrivateMerchant(EnumYesOrNo.YES.getCode()); + List rentShopTypeList = new ArrayList(); + rentShopTypeList.add(EnumRentShopType.SHOP.getCode()); + rentShopTypeList.add(EnumRentShopType.POINT.getCode()); + wxPropertyContract.setPrivateRentShopTypeList(rentShopTypeList); + } PageInfo pageInfo = wxPropertyContractService.listAsPage(wxPropertyContract, pageNum, pageSize); Integer hasFlow = null; if (null != pageInfo && null != pageInfo.getList()) { @@ -214,6 +222,7 @@ public class WxPropertyContractController extends WxContractBaseController { wxPropertyContract.setLinkPhone(merchant.getLinkPhone()); //wxPropertyContract.setRentShopType(merchant.getType()); wxPropertyContract.setIsPrivateMerchant(merchant.getIsPrivate()); + wxPropertyContract.setPrivateRentShopType(merchant.getCreateShopType()); wxPropertyContract.setRentStartType(EnumRentStartType.RENTTIME.getCode()); return wxPropertyContractService.save(wxPropertyContract, user, user.getName(),false); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java index c809444f8..a62a9ce23 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java @@ -81,6 +81,14 @@ public class WxRentContractController extends WxContractBaseController { if (null == wxRentContract.getIsPrivateMerchant()) { wxRentContract.setIsPrivateMerchant(EnumYesOrNo.NO.getCode()); } + //如果是已售,则查询虚拟商户,并且店铺类型是商业的 + if (wxRentContract.getIsPrivateMerchant()==EnumShopSellStatus.SELLED.getCode()) { + wxRentContract.setIsPrivateMerchant(EnumYesOrNo.YES.getCode()); + List rentShopTypeList = new ArrayList(); + rentShopTypeList.add(EnumRentShopType.SHOP.getCode()); + rentShopTypeList.add(EnumRentShopType.POINT.getCode()); + wxRentContract.setPrivateRentShopTypeList(rentShopTypeList); + } PageInfo page = wxRentContractService.getRentContractList(wxRentContract, pageNum, pageSize); Integer hasFlow = null; if (null != page && null != page.getList()) { @@ -277,7 +285,7 @@ public class WxRentContractController extends WxContractBaseController { shopList = new ArrayList(); //不从这取,因为这是存的第一次创建时店铺的编号,这个店铺有可能被删除重新创建 //shopList.add(Long.parseLong(merchant.getCreateFromId())); - String shopNumber = merchant.getCreateFromData(); + String shopNumber = merchant.getCreateShopNumber(); WxShop shop = wxShopService.getShopByShopNumber(merchant, shopNumber); if (null != shop) { shopList.add(shop.getId()); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java index acdd913fd..40a2780a6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentPropertyContractController.java @@ -9,6 +9,9 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxUserDataRule; import com.iformall.domain.vo.WxRentPropertyContractVo; +import com.iformall.enums.EnumRentShopType; +import com.iformall.enums.EnumShopSellStatus; +import com.iformall.enums.EnumYesOrNo; import com.iformall.service.WxMallBuildingService; import com.iformall.service.WxMallFloorService; import com.iformall.service.WxRentPropertyContractService; @@ -58,6 +61,9 @@ public class WxRentPropertyContractController extends WxContractBaseController { wxRentPropertyContractVo.setBusinessForRule(dataRule.getBussinessIds()); wxRentPropertyContractVo.setShopTypeForRule(dataRule.getShopTypes()); } + if (null == wxRentPropertyContractVo.getIsPrivateMerchant()) { + wxRentPropertyContractVo.setIsPrivateMerchant(EnumYesOrNo.NO.getCode()); + } PageInfo page = wxRentPropertyContractService.listContractVo(wxRentPropertyContractVo, pageNum, pageSize); Integer hasFlow = null; if (null != page && null != page.getList()) { diff --git a/mallinkAdmin/src/main/resources/db/migration/V202409000000002.sql b/mallinkAdmin/src/main/resources/db/migration/V202409000000002.sql index 8e12a24f6..900265cac 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202409000000002.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202409000000002.sql @@ -2,3 +2,9 @@ ALTER TABLE wx_shop ADD COLUMN sell_status INT(1) NOT NULL DEFAULT 1 COMMENT ' 更新虚拟商户的铺位为待出租状态。 删除虚拟商户的关联铺位。 + + +ALTER TABLE wx_merchant CHANGE `create_from_data` create_shop_number VARCHAR(100); +ALTER TABLE wx_merchant ADD COLUMN create_shop_type INT(1) COMMENT '创建店铺类型'; +ALTER TABLE wx_rent_contract ADD COLUMN private_rent_shop_type INT(1) COMMENT '虚拟商户店铺类型'; +ALTER TABLE wx_property_contract ADD COLUMN private_rent_shop_type INT(1) COMMENT '虚拟商户店铺类型'; \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index 9f20f63df..216492eea 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -158,8 +158,11 @@ public class WxMerchant extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "创建来源Id", name = "createFromId") private String createFromId; - @io.swagger.annotations.ApiModelProperty(value = "创建来源数据", name = "createFromData") - private String createFromData; + @io.swagger.annotations.ApiModelProperty(value = "创建来源铺位号", name = "createShopNumber") + private String createShopNumber; + + @io.swagger.annotations.ApiModelProperty(value = "创建来源铺位号类型", name = "createShopType") + private Integer createShopType; @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "开始时间", name = "startTime") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java index fa30466a5..29b74507b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java @@ -57,6 +57,8 @@ public class WxPropertyContract extends TenantEntity { private Long merchantId; @io.swagger.annotations.ApiModelProperty(value = "是不是私密商户(虚拟)", name = "isPrivateMerchant") private Integer isPrivateMerchant; + @io.swagger.annotations.ApiModelProperty(value = "虚拟商户店铺类型EnumRentShopType", name = "privateRentShopType") + private Integer privateRentShopType; /*月租金/分成(分)**/ @io.swagger.annotations.ApiModelProperty(value="物业费(分)",name="price") private String price; @@ -373,5 +375,8 @@ public class WxPropertyContract extends TenantEntity { @TableField(exist = false) private String queryShopNumber; + + @TableField(exist = false) + private List privateRentShopTypeList; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java index ca818bd14..99964a314 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxRentContract.java @@ -230,6 +230,8 @@ public class WxRentContract extends TenantEntity { private Long merchantId; @io.swagger.annotations.ApiModelProperty(value = "是不是私密商户(虚拟)", name = "isPrivateMerchant") private Integer isPrivateMerchant; + @io.swagger.annotations.ApiModelProperty(value = "虚拟商户店铺类型EnumRentShopType", name = "privateRentShopType") + private Integer privateRentShopType; @io.swagger.annotations.ApiModelProperty(value = "月租金/分成(元)", name = "price") private String price; @TableField(exist = false) @@ -631,5 +633,7 @@ public class WxRentContract extends TenantEntity { private Date yearsEnd; @TableField(exist = false) private String queryShopNumber; + @TableField(exist = false) + private List privateRentShopTypeList; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 8a38f606a..d86ad86c0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -432,6 +432,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { // WxMerchant merchant = wxMerchantMapper.selectById(record.getMerchantId()); record.setIsPrivateMerchant(merchant.getIsPrivate()); + record.setPrivateRentShopType(merchant.getCreateShopType()); try { record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); record.setStatus(EnumRentContractStatus.UNWRITE.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java index 443b2880a..557c29d94 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java @@ -391,7 +391,7 @@ public class WxShopServiceImpl implements WxShopService { WxMerchant merchant = new WxMerchant(); merchant.updateTenantInfo(record); merchant.setName("[系统铺位号]"+record.getShopNumber()); - merchant.setCreateFromData(record.getShopNumber()); + merchant.setCreateShopNumber(record.getShopNumber()); merchant.setCreateFrom(EnumMerchantCreateFrom.SYS_SHOP_CREATE.getCode()); List ids = wxMerchantMapper.findIdList(merchant); if (null == ids || ids.size() <= 0 ) { @@ -405,6 +405,7 @@ public class WxShopServiceImpl implements WxShopService { merchant.setUpdateDate(new Date()); merchant.setIsPublic(EnumMerchantPublic.PRIVATE.getCode()); merchant.setIsPrivate(EnumYesOrNo.YES.getCode()); + merchant.setCreateShopType(record.getType()); merchant.setBillSetting(3); merchant.setCreateFromId(String.valueOf(record.getId())); merchant.setCarVendorType(0); diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 606c43b3e..7bab28eca 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -50,14 +50,15 @@ - + + m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`, m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`is_public`,m.`is_private`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,m.`tt_qr_code`, m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.search_card_by_phone,m.credit_locked,m.credit_locked,m.entry_amount,m.cash_out_count, - m.cash_out_last_time,m.create_from,m.create_from_id,m.create_from_data + m.cash_out_last_time,m.create_from,m.create_from_id,m.create_shop_number,m.create_shop_type @@ -178,8 +179,12 @@ and m.`create_from_id` = #{createFromId} - - and m.`create_from_data` = #{createFromData} + + and m.`create_shop_number` = #{createShopNumber} + + + + and m.`create_shop_type` = #{createShopType} diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index f7871797e..86006aeb7 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -5,6 +5,7 @@ + @@ -72,7 +73,7 @@ - `id`,`merchant_id`,`is_private_merchant`,`decimal_size`,`price`,`rental_start_date`,`rental_end_date`,`create_type`,`shop_ids`,`shop_numbers`, + `id`,`merchant_id`,`is_private_merchant`,`private_rent_shop_type`,`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`,`create_by`,`update_by`,`first_bill_receive_date`, `shop_type`,`updatetime`,`createtime`,`rent_area`,`fees_standards_info`,`first_bill_date_start`,`first_bill_date_end`, @@ -86,6 +87,7 @@ and `id` = #{id} and `merchant_id` = #{merchantId} and `is_private_merchant` = #{isPrivateMerchant} + and `private_rent_shop_type` = #{privateRentShopType} and `price` = #{price} and `rental_start_date` = #{rentalStartDate} and `rental_end_date` = #{rentalEndDate} @@ -132,6 +134,14 @@ and concat(',',shop_numbers,',') like concat('%,',#{queryShopNumber},',%') + + + and private_rent_shop_type in + + #{pmItem} + + + and merchant_id in diff --git a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml index 46ceba4ba..83b4d7692 100644 --- a/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxRentContractMapper.xml @@ -5,6 +5,7 @@ + @@ -132,7 +133,7 @@ - `id`,`merchant_id`,`is_private_merchant`, + `id`,`merchant_id`,`is_private_merchant`,`private_rent_shop_type`, `shop_type_sub`,`lease_purpose`,`contractual_rules`,`delivery_date`,`delivery_grace_period`,`opening_date`,`business_hours`,`scope_metre`, `decimal_size`,`price`,`rental_start_date`,`rental_end_date`,`sign_date`,`receive_period`,`receive_period_unit`, `tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`,`price_detail`,`create_by`,`update_by`, @@ -156,6 +157,7 @@ and `from_id` = #{fromId} and `merchant_id` = #{merchantId} and `is_private_merchant` = #{isPrivateMerchant} + and `private_rent_shop_type` = #{privateRentShopType} and `price` = #{price} and `rental_start_date` = #{rentalStartDate} and `rental_end_date` = #{rentalEndDate} @@ -207,6 +209,13 @@ and business_id in (${businessForRule}) + + and private_rent_shop_type in + + #{pmItem} + + + and merchant_id in