Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java
#	src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java
dev_0531
zyy 5 years ago
commit 3ac8cfbb9b

@ -101,7 +101,7 @@ public class WebAppActivityController extends BaseController {
*/
PmnPromotionSrc up = new PmnPromotionSrc();
up.setStatus(2L);
pmnPromotionSrcService.update(up, Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).notIn(PmnPromotionSrc::getPromoterId, staffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).notIn(PmnPromotionSrc::getType, staffs.stream().map(PoiStoreStaff::getType).collect(Collectors.toList())));
pmnPromotionSrcService.update(up, Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).notIn(PmnPromotionSrc::getPromoterId, staffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).eq(PmnPromotionSrc::getType, 1));
//
Map<String, Object> ret = new HashMap<>();
ret.put("success", success);

@ -12,10 +12,17 @@ import com.kiisoo.ic.activity.mapper.PmnActivityInstanceDOMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalMember;
import com.kiisoo.ic.generalize.mapper.OrganizationalMemberMapper;
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.system.entity.PrivilageAccountDO;
import com.kiisoo.ic.system.entity.PrivilageRoleDO;
import com.kiisoo.ic.system.enums.RoleEnum;
import com.kiisoo.ic.system.mapper.PrivilageAccountDOMapper;
import com.kiisoo.ic.system.mapper.PrivilageRoleDOMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
@ -69,6 +76,12 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
@Autowired
private PoiStoreDOMapper poiStoreDOMapper;
@Autowired
private PrivilageRoleDOMapper privilageRoleDOMapper;
@Autowired
private PrivilageAccountDOMapper privilageAccountDOMapper;
@Autowired
private OrganizationalMemberMapper organizationalMemberMapper;
@Transactional
public boolean saveVO(ActivityInstanceVO activityInstanceVO, boolean isTerminate) {
@ -163,7 +176,16 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
public Map<String, Object> pageVO(Long userId, Date startDate, Date endDate, Long organizationId, Long storeId, Integer status, Integer pageNum, Integer pageSize, Date beginTime, Date endTime) {
Map<String, Object> results = new HashMap<>();
List<Long> shopIds = new ArrayList<>();
if(userId != null) {
PrivilageAccountDO privilageAccountDO = privilageAccountDOMapper.selectOne(Wrappers.<PrivilageAccountDO>lambdaQuery().eq(PrivilageAccountDO::getUserId, userId));
PrivilageRoleDO roleDO = privilageRoleDOMapper.selectRoleName(privilageAccountDO.getUserId());
System.out.println(roleDO.getCode());
System.out.println(RoleEnum.getCodeByName("运营人员").getRoleCode());
if(roleDO.getCode().equals(RoleEnum.getCodeByName("运营人员").getRoleCode())) {
PrivilageOrganizationalMember organizationalMember = organizationalMemberMapper.selectOne(Wrappers.<PrivilageOrganizationalMember>lambdaQuery().eq(PrivilageOrganizationalMember::getUserId, userId));
organizationId = organizationalMember.getOrgId();
}
}
// if(userId != null) {
// if (storeId != null) {
// shopIds.add(storeId);

@ -35,6 +35,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.shiro.crypto.hash.SimpleHash;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -103,7 +104,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
if (type.equals(2L)) {
userId = staff.getStoreId();
}
List<PmnPromotionSrc> srcs = list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, userId).eq(PmnPromotionSrc::getType, type));
List<PmnPromotionSrc> srcs = list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, userId).eq(PmnPromotionSrc::getType, type).eq(PmnPromotionSrc::getStatus, 1));
for (PmnPromotionSrc src : srcs) {
File codeFile = new File("activity/" + src.getCode() + ".png");
if (!codeFile.exists() || src.getQrCode() == null) {

@ -0,0 +1,25 @@
package com.kiisoo.ic.config;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebFilter(filterName = "CorsFilter")
@Configuration
public class CorsFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest httpServletRequest = (HttpServletRequest) req;
response.setHeader("Access-Control-Allow-Origin",httpServletRequest.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
chain.doFilter(req, res);
}
}

@ -29,9 +29,9 @@ public class PoiStoreController extends BaseController {
private PoiStoreService poiStoreService;
/**
* idid
*
* @return
*/
@RequestMapping(value = "/user/shop", method = RequestMethod.POST)
@ -61,34 +61,32 @@ public class PoiStoreController extends BaseController {
/**
* idid
*
* @return
*/
@RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST)
@RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds) {
public Map<String,Object> getUserShopDTO(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){
try {
List<Long> customers = null;
if (StringUtils.isNotBlank(customerIds)) {
if (StringUtils.isNotBlank(customerIds)){
String[] split = customerIds.replace("[", "").replace("]", "").split(",");
List<String> strings = Arrays.asList(split);
if (CollectionUtils.isNotEmpty(strings)) {
if (CollectionUtils.isNotEmpty(strings)){
customers = new ArrayList<>();
for (String customerId : strings) {
if (StringUtils.isNotBlank(customerId)) {
for (String customerId:strings){
if (StringUtils.isNotBlank(customerId)){
customers.add(Long.parseLong(customerId));
}
}
}
}
return data(poiStoreService.getRegionShopDTO(userId, customers));
} catch (Exception e) {
log.error("获取用户店铺失败", e);
return data(poiStoreService.getRegionShopDTO(userId,customers));
}catch (Exception e){
log.error("获取用户店铺失败",e);
return fail();
}
}
/**
*
*

@ -53,43 +53,44 @@ public class PoiStoreService {
private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper;
@Autowired
private RetailCompanyMapper retailCompanyMapper;
@Autowired
private IPmnActivityInstanceService pmnActivityInstanceService;
@Autowired
private IPmnActivityStoreRelationService storeRelationService;
/**
* id
*
* @param regionId
*/
public List<PoiStore> getRegionShop(long regionId) {
public List<PoiStore> getRegionShop(long regionId){
List<PoiStore> poiStores = poiStoreDOMapper.selectRegionShop(regionId);
return poiStores;
}
/**
* id
*
* @param regionId
*/
public List<PoiStore> getRegionShop(long userId, List<Long> customerIds) {
public List<PoiStore> getRegionShop(long userId,List<Long> customerIds){
List<PoiStore> poiStores = new ArrayList<>();
//找到店铺集合
List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId);
if (null != customerIds && customerIds.size() > 0) {
if(null != customerIds && customerIds.size()>0){
Set<Long> shopIds = new HashSet<>();
customerIds.forEach(customerId -> {
Set<Long> shops = customerViewService.getCompanyShop(customerId, userId);
if (CollectionUtils.isNotEmpty(shops)) {
Set<Long> shops = customerViewService.getCompanyShop(customerId,userId);
if (CollectionUtils.isNotEmpty(shops)){
shopIds.addAll(shops);
}
});
if (shopIds.size() > 0) {
if(shopIds.size() > 0){
List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shopIds);
for (PoiStore item : regionPoiStores) {
if (shopsIds.contains(item.getId())) {
for(PoiStore item : regionPoiStores){
if(shopsIds.contains(item.getId())){
poiStores.add(item);
}
}
}
} else {
}else{
poiStores = poiStoreDOMapper.selectBatchIds(shopsIds);
}
return poiStores;
@ -97,29 +98,37 @@ public class PoiStoreService {
/**
* id
*
* @param regionId
*/
public List<PoiStoreDTO> getRegionShopDTO(long userId, List<Long> customerIds) {
public List<PoiStoreDTO> getRegionShopDTO(long userId,List<Long> customerIds, Long scheduleId){
List<PoiStoreDTO> poiStores = new ArrayList<>();
//找到店铺集合
if (null != customerIds && customerIds.size() > 0) {
if(null != customerIds && customerIds.size()>0){
Set<Long> cs = new HashSet<>();
cs.addAll(customerIds);
Set<Long> joined = new HashSet<>();
if(scheduleId != null) {
List<PmnActivityInstance> instances = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().eq(PmnActivityInstance::getScheduleId, scheduleId).select(PmnActivityInstance::getId));
Set<Long> instanceIds = instances.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet());
List<PmnActivityStoreRelation> relations = storeRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, instanceIds).select(PmnActivityStoreRelation::getStoreId));
joined = relations.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toSet());
}
Set<Long> childs = retailCompanyMapper.selectChildList(cs);
List<PrivilageOrganizationalDomain> domains = privilageOrganizationalDomainMapper.selectList(Wrappers.<PrivilageOrganizationalDomain>lambdaQuery().in(PrivilageOrganizationalDomain::getOrgId, childs).select(PrivilageOrganizationalDomain::getDomainId));
Set<Long> domainIds = domains.stream().map(PrivilageOrganizationalDomain::getDomainId).collect(Collectors.toSet());
List<PrivilageDomainEntityDO> entityDOS = privilageDomainEntityDOMapper.selectList(Wrappers.<PrivilageDomainEntityDO>lambdaQuery().in(PrivilageDomainEntityDO::getDomainId, domainIds).eq(PrivilageDomainEntityDO::getType, 3).select(PrivilageDomainEntityDO::getEntityId));
Set<Long> shopIds = entityDOS.stream().map(PrivilageDomainEntityDO::getEntityId).collect(Collectors.toSet());
if (shopIds.size() > 0) {
if(joined.size() > 0) {
shopIds.removeAll(joined);
}
if(shopIds.size() > 0){
poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds);
}
} else {
}else{
poiStores = poiStoreDOMapper.selectDTOBatchIds(privilageDomainService.listUserDatePermission(userId));
}
return poiStores;
}
/**
*
*
@ -132,21 +141,20 @@ public class PoiStoreService {
/**
* id
*
* @param companyId ID
*/
public List<PoiStore> getStoreByCompanyId(long userId, Long companyId) {
public List<PoiStore> getStoreByCompanyId(long userId,Long companyId){
List<PoiStore> poiStores = new ArrayList<>();
//找到店铺集合
List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId);
if (!companyId.equals(0L)) {
Set<Long> shops = customerViewService.getCompanyShop(companyId, userId);
if (shops.size() > 0) {
if(!companyId.equals(0L)){
Set<Long> shops = customerViewService.getCompanyShop(companyId,userId);
if(shops.size() > 0){
List<PoiStore> regionPoiStores = poiStoreDOMapper.selectBatchIds(shops);
List<PoiStore> intersection = regionPoiStores.stream().filter(item -> shops.contains(item.getId())).collect(toList());
return intersection;
}
} else {
}else{
poiStores = poiStoreDOMapper.selectBatchIds(shopsIds);
}
return poiStores;

Loading…
Cancel
Save