package com.java110.store.cmd.store; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.annotation.Java110Transactional; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.core.factory.AuthenticationFactory; import com.java110.core.factory.GenerateCodeFactory; import com.java110.doc.annotation.*; import com.java110.dto.account.AccountDto; import com.java110.dto.shop.ShopDto; import com.java110.dto.shopCommunity.ShopCommunityDto; import com.java110.dto.store.StoreUserDto; import com.java110.dto.storeShop.StoreShopDto; import com.java110.dto.storeShopCommunity.StoreShopCommunityDto; import com.java110.intf.acct.IAccountBondObjInnerServiceSMO; import com.java110.intf.acct.IAccountInnerServiceSMO; import com.java110.intf.community.ICommunityV1InnerServiceSMO; import com.java110.intf.mall.IShopCommunityInnerServiceSMO; import com.java110.intf.mall.IShopInnerServiceSMO; import com.java110.intf.store.*; import com.java110.intf.user.IOrgV1InnerServiceSMO; import com.java110.intf.user.IPrivilegeUserV1InnerServiceSMO; import com.java110.intf.user.IUserV1InnerServiceSMO; import com.java110.po.account.AccountPo; import com.java110.po.store.StorePo; import com.java110.po.storeShop.StoreShopPo; import com.java110.po.storeShopCommunity.StoreShopCommunityPo; import com.java110.po.user.UserPo; import com.java110.utils.cache.MappingCache; import com.java110.utils.constant.UserLevelConstant; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @Java110CmdDoc(title = "物业公司删除商户和商铺功能", description = "此接口目前主要计划用于停车卷相关使用", httpMethod = "post", url = "http://{ip}:{port}/app/store.propertyDeleteStoreAndShop", resource = "storeDoc", author = "吴学文", serviceCode = "store.propertyDeleteStoreAndShop" ) @Java110ParamsDoc(params = { @Java110ParamDoc(name = "shopId", length = 30, remark = "商铺编号"), @Java110ParamDoc(name = "communityId", length = 30, remark = "小区ID"), }) @Java110ResponseDoc( params = { @Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "返回编号,0 成功 其他失败"), @Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "成功", remark = "描述"), } ) @Java110ExampleDoc( reqBody = "{\"shopId\":\"123123123\",\"communityId\":\"2022081539020475\"}", resBody = "{'code':0,'msg':'成功'}" ) /** * 物业公司删除 商户和商铺功能 *
* 此接口目前主要计划用于停车卷相关使用
*/
@Java110Cmd(serviceCode = "store.propertyDeleteStoreAndShop")
public class PropertyDeleteStoreAndShopCmd extends Cmd {
public static final String CODE_PREFIX_ID = "10";
@Autowired
private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
@Autowired
private IStoreAttrV1InnerServiceSMO storeAttrV1InnerServiceSMOImpl;
@Autowired
private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
@Autowired
private IStoreUserV1InnerServiceSMO storeUserV1InnerServiceSMOImpl;
@Autowired
private IOrgV1InnerServiceSMO orgV1InnerServiceSMOImpl;
@Autowired
private IOrgStaffRelV1InnerServiceSMO orgStaffRelV1InnerServiceSMOImpl;
@Autowired
private IPrivilegeUserV1InnerServiceSMO privilegeUserV1InnerServiceSMOImpl;
@Autowired
private IStoreShopV1InnerServiceSMO storeShopV1InnerServiceSMOImpl;
@Autowired
private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
@Autowired
private IAccountBondObjInnerServiceSMO accountBondObjInnerServiceSMOImpl;
@Autowired
private IStoreShopCommunityV1InnerServiceSMO storeShopCommunityV1InnerServiceSMOImpl;
@Autowired
private ICommunityV1InnerServiceSMO communityV1InnerServiceSMOImpl;
@Autowired(required = false)
private IShopInnerServiceSMO shopInnerServiceSMOImpl;
@Autowired(required = false)
private IShopCommunityInnerServiceSMO shopCommunityInnerServiceSMOImpl;
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
Assert.hasKeyAndValue(reqJson, "shopId", "未包含商家商铺");
Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
}
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
//1.0 删除 商铺和小区的关系
StoreShopCommunityDto shopCommunityDto = new StoreShopCommunityDto();
shopCommunityDto.setCommunityId(reqJson.getString("communityId"));
shopCommunityDto.setShopId(reqJson.getString("shopId"));
List