diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestBaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestBaseController.java index 8676891bc..492ca2e03 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestBaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestBaseController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.InitBinder; import java.beans.PropertyEditor; import java.beans.PropertyEditorSupport; import java.util.function.BiConsumer; +import java.util.function.Consumer; import java.util.function.Function; @@ -54,7 +55,7 @@ public class InvestBaseController extends BaseController { } } - public void export(T t, U u, BiConsumer action) { + public void exportData(T t, U u, BiConsumer action) { try { log.debug("[" + getIpAddr() + "] request , params : {}", JSON.toJSONString(t)); InvestUserContext.setUser(getUser()); @@ -64,6 +65,16 @@ public class InvestBaseController extends BaseController { } } + public void importData(T t, Consumer action) { + try { + log.debug("[" + getIpAddr() + "] request , params : {}", JSON.toJSONString(t)); + InvestUserContext.setUser(getUser()); + action.accept(t); + } finally { + InvestUserContext.remove(); + } + } + private void setUserRule() { EnumInvestUserType investUserType = EnumInvestUserType.getEnum(getUser().getInvestRule()) ; InvestUserContext.setInvestUserType(investUserType); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestCustomerController.java b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestCustomerController.java index 02c72a0cd..0f36c74f6 100755 --- a/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestCustomerController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/invest/InvestCustomerController.java @@ -15,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -90,7 +91,14 @@ public class InvestCustomerController extends InvestBaseController{ @GetMapping("/exportCustomer") @SystemControllerLog(description = "招商管理-导出客户信息") public void exportCustomer(InvestDemandQuery params, HttpServletResponse response) { - export(params, response, (p, u) -> investBizService.exportCustomer(p, u)); + exportData(params, response, (p, u) -> investBizService.exportCustomer(p, u)); + } + + @ApiOperation("导入客户信息") + @GetMapping("/importCustomer") + @SystemControllerLog(description = "招商管理-导入客户信息") + public void importCustomer(@RequestParam("file") MultipartFile mFile) { + importData(mFile, p -> investBizService.importCustomer(p)); } } diff --git a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java index d01a83ce0..95633606b 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/InvestBizService.java @@ -5,6 +5,8 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.invest.InvestMessageEntity; import com.iformall.domain.po.invest.InvestTaskEntity; import com.iformall.domain.vo.invest.*; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.Collection; @@ -16,6 +18,8 @@ public interface InvestBizService { void exportCustomer(InvestDemandQuery params, HttpServletResponse response); + void importCustomer(@RequestParam("file") MultipartFile mFile); + List queryCustomer(); InvestPageResult queryPageTask(InvestTaskQuery params); diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java index d234f5020..fbecc043f 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBaseServiceImpl.java @@ -165,7 +165,7 @@ public class InvestBaseServiceImpl, T> extends ServiceIm */ private void checkShopNotNull(WxShop shop) { InvestHelper.notNull(shop, ErrorCode.SHOP_IS_NOT_FOUND); - InvestHelper.isTrue(Objects.equals(shop.getStatus(), EnumShopStatus.NOT_RENT.getCode()), ErrorCode.SHOP_IS_RENT, null); + //InvestHelper.isTrue(Objects.equals(shop.getStatus(), EnumShopStatus.NOT_RENT.getCode()), ErrorCode.SHOP_IS_RENT, null); } /** diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java index 2ecda7c80..2dd366c58 100644 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestBizServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -122,6 +123,11 @@ public class InvestBizServiceImpl implements InvestBizService { } } + @Override + public void importCustomer(MultipartFile mFile) { + + } + @Override public List queryCustomer() { List customerEntities = customerService.list(); @@ -397,7 +403,9 @@ public class InvestBizServiceImpl implements InvestBizService { customerService.save(customerEntity); InvestDemandEntity demandEntity = demandDto.getDemand(); demandEntity.setCustomerId(customerEntity.getId()); - return demandService.save(demandEntity); + demandService.save(demandEntity); + saveMessage(demandEntity, demandDto.getCustomer()); + return true; } @Transactional(rollbackFor = Exception.class) @@ -414,7 +422,20 @@ public class InvestBizServiceImpl implements InvestBizService { if (Objects.isNull(demandEntity.getCustomerId())) { demandEntity.setCustomerId(customerId); } - return demandService.updateById(demandEntity); + demandService.updateById(demandEntity); + saveMessage(demandEntity, demandDto.getCustomer()); + return true; + } + + private void saveMessage(InvestDemandEntity entity, InvestCustomerEntity customerEntity) { + if (Objects.isNull(entity)) { + return; + } + Long owner = entity.getOwner(); + if (Objects.nonNull(owner)) { + List ownerArray = Arrays.asList(owner); + demandService.saveBatchMessage(ownerArray, EnumInvestMessageType.CUSTOMER_CREATE.getInfo(), EnumInvestMessageTag.CUSTOMER_CREATE, EnumFollowType.DEMAND, customerEntity.getId()); + } } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java index a30509947..ea1c6eb0b 100755 --- a/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/invest/impl/InvestDemandServiceImpl.java @@ -32,33 +32,19 @@ public class InvestDemandServiceImpl extends InvestBaseServiceImpl updateWrapper) { - super.updateActon(entity, updateWrapper, this::checkBeforeSaveOrUpdate); - saveMessage(entity); - return true; + return super.updateActon(entity, updateWrapper, this::checkBeforeSaveOrUpdate); } @TableLog @Override public boolean updateById(InvestDemandEntity entity) { - super.updateByIdAction(entity, this::checkBeforeSaveOrUpdate); - saveMessage(entity); - return true; - } - - private void saveMessage(InvestDemandEntity entity) { - Long owner = entity.getOwner(); - if (Objects.nonNull(owner)) { - List ownerArray = Arrays.asList(owner); - this.saveBatchMessage(ownerArray, EnumInvestMessageType.CUSTOMER_CREATE.getInfo(), EnumInvestMessageTag.CUSTOMER_CREATE, EnumFollowType.DEMAND, entity.getId()); - } + return super.updateByIdAction(entity, this::checkBeforeSaveOrUpdate); } private void checkBeforeSaveOrUpdate(InvestDemandEntity entity) {