From c3dbe648f601fbe62c8c473e9e5f061d845ab568 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 27 May 2020 11:09:14 +0800 Subject: [PATCH 1/7] swagger mysql --- .../impl/PmnActivityInstanceServiceImpl.java | 24 ++++++++++- .../store/controller/PoiStoreController.java | 40 ++++++++++--------- .../ic/store/service/PoiStoreService.java | 22 +++++++++- 3 files changed, 65 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java index 8f99de2..1026c77 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java @@ -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 pageVO(Long userId, Date startDate, Date endDate, Long organizationId, Long storeId, Integer status, Integer pageNum, Integer pageSize, Date beginTime, Date endTime) { Map results = new HashMap<>(); List shopIds = new ArrayList<>(); - + if(userId != null) { + PrivilageAccountDO privilageAccountDO = privilageAccountDOMapper.selectOne(Wrappers.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.lambdaQuery().eq(PrivilageOrganizationalMember::getUserId, userId)); + organizationId = organizationalMember.getOrgId(); + } + } // if(userId != null) { // if (storeId != null) { // shopIds.add(storeId); diff --git a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java index e1e8ca9..e8b60e4 100644 --- a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java +++ b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java @@ -29,31 +29,31 @@ public class PoiStoreController extends BaseController { private PoiStoreService poiStoreService; - /** * 根据用户id,区域id获取店铺 + * * @return */ - @RequestMapping(value = "/user/shop",method = RequestMethod.POST) + @RequestMapping(value = "/user/shop", method = RequestMethod.POST) @ResponseBody - public Map getUserShop(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ + public Map getUserShop(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds) { try { List customers = null; - if (StringUtils.isNotBlank(customerIds)){ + if (StringUtils.isNotBlank(customerIds)) { String[] split = customerIds.replace("[", "").replace("]", "").split(","); List 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.getRegionShop(userId,customers)); - }catch (Exception e){ - log.error("获取用户店铺失败",e); + return data(poiStoreService.getRegionShop(userId, customers)); + } catch (Exception e) { + log.error("获取用户店铺失败", e); return fail(); } @@ -61,32 +61,34 @@ public class PoiStoreController extends BaseController { /** * 根据用户id,区域id获取店铺 + * * @return */ - @RequestMapping(value = "/user/shopDTO",method = RequestMethod.POST) + @RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST) @ResponseBody - public Map getUserShopDTO(@RequestParam("userId")long userId, @RequestParam(value = "customerIds",required =false)String customerIds){ + public Map getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds, @RequestParam("scheduleId") long scheduleId) { try { List customers = null; - if (StringUtils.isNotBlank(customerIds)){ + if (StringUtils.isNotBlank(customerIds)) { String[] split = customerIds.replace("[", "").replace("]", "").split(","); List 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, scheduleId)); + } catch (Exception e) { + log.error("获取用户店铺失败", e); return fail(); } } + /** * 查询所有店铺 * diff --git a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java index 5deca0e..7ec978a 100644 --- a/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java +++ b/src/main/java/com/kiisoo/ic/store/service/PoiStoreService.java @@ -2,6 +2,12 @@ package com.kiisoo.ic.store.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kiisoo.ic.activity.entity.PmnActivityInstance; +import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation; +import com.kiisoo.ic.activity.entity.PmnPromotionSrc; +import com.kiisoo.ic.activity.service.IPmnActivityInstanceService; +import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService; +import com.kiisoo.ic.activity.service.IPmnPromotionSrcService; import com.kiisoo.ic.customer.service.CustomerViewService; import com.kiisoo.ic.domain.entity.PrivilageDomainEntityDO; import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper; @@ -53,6 +59,10 @@ public class PoiStoreService { private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper; @Autowired private RetailCompanyMapper retailCompanyMapper; + @Autowired + private IPmnActivityInstanceService pmnActivityInstanceService; + @Autowired + private IPmnActivityStoreRelationService storeRelationService; /** * 根据区域id找到店铺集合 * @param regionId @@ -96,17 +106,27 @@ public class PoiStoreService { * 根据区域id找到店铺集合,若没有,则查用户所有店铺 * @param regionId */ - public List getRegionShopDTO(long userId,List customerIds){ + public List getRegionShopDTO(long userId,List customerIds, Long scheduleId){ List poiStores = new ArrayList<>(); //找到店铺集合 if(null != customerIds && customerIds.size()>0){ Set cs = new HashSet<>(); cs.addAll(customerIds); + Set joined = new HashSet<>(); + if(scheduleId != null) { + List instances = pmnActivityInstanceService.list(Wrappers.lambdaQuery().eq(PmnActivityInstance::getScheduleId, scheduleId).select(PmnActivityInstance::getId)); + Set instanceIds = instances.stream().map(PmnActivityInstance::getId).collect(Collectors.toSet()); + List relations = storeRelationService.list(Wrappers.lambdaQuery().in(PmnActivityStoreRelation::getInstanceId, instanceIds).select(PmnActivityStoreRelation::getStoreId)); + joined = relations.stream().map(PmnActivityStoreRelation::getStoreId).collect(Collectors.toSet()); + } Set childs = retailCompanyMapper.selectChildList(cs); List domains = privilageOrganizationalDomainMapper.selectList(Wrappers.lambdaQuery().in(PrivilageOrganizationalDomain::getOrgId, childs).select(PrivilageOrganizationalDomain::getDomainId)); Set domainIds = domains.stream().map(PrivilageOrganizationalDomain::getDomainId).collect(Collectors.toSet()); List entityDOS = privilageDomainEntityDOMapper.selectList(Wrappers.lambdaQuery().in(PrivilageDomainEntityDO::getDomainId, domainIds).eq(PrivilageDomainEntityDO::getType, 3).select(PrivilageDomainEntityDO::getEntityId)); Set shopIds = entityDOS.stream().map(PrivilageDomainEntityDO::getEntityId).collect(Collectors.toSet()); + if(joined.size() > 0) { + shopIds.removeAll(joined); + } if(shopIds.size() > 0){ poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds); } From 338a8da6152621c267614c37590a6ef0fb581566 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 27 May 2020 11:32:09 +0800 Subject: [PATCH 2/7] swagger mysql --- .../ic/activity/service/impl/PmnPromotionSrcServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java index 8061f20..51a3824 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java @@ -103,7 +103,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl srcs = list(Wrappers.lambdaQuery().eq(PmnPromotionSrc::getPromoterId, userId).eq(PmnPromotionSrc::getType, type)); + List srcs = list(Wrappers.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) { From b044dbac0b1c3e9e32556c924bd2e6d76a559530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=9A=87?= <236220500@qq.com> Date: Wed, 27 May 2020 12:11:21 +0800 Subject: [PATCH 3/7] 1 --- .../kiisoo/ic/activity/controller/WebAppActivityController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java index dfabd6a..9ee3403 100644 --- a/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java +++ b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java @@ -101,7 +101,7 @@ public class WebAppActivityController extends BaseController { */ PmnPromotionSrc up = new PmnPromotionSrc(); up.setStatus(2L); - pmnPromotionSrcService.update(up, Wrappers.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.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).notIn(PmnPromotionSrc::getPromoterId, staffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).ne(PmnPromotionSrc::getType, 2)); // Map ret = new HashMap<>(); ret.put("success", success); From 074ad3b4f39b93fe2bb623d0c516199070d3d63c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E7=9A=87?= <236220500@qq.com> Date: Wed, 27 May 2020 12:12:57 +0800 Subject: [PATCH 4/7] 1 --- .../kiisoo/ic/activity/controller/WebAppActivityController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java index 9ee3403..a77cc74 100644 --- a/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java +++ b/src/main/java/com/kiisoo/ic/activity/controller/WebAppActivityController.java @@ -101,7 +101,7 @@ public class WebAppActivityController extends BaseController { */ PmnPromotionSrc up = new PmnPromotionSrc(); up.setStatus(2L); - pmnPromotionSrcService.update(up, Wrappers.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).notIn(PmnPromotionSrc::getPromoterId, staffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).ne(PmnPromotionSrc::getType, 2)); + pmnPromotionSrcService.update(up, Wrappers.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).notIn(PmnPromotionSrc::getPromoterId, staffs.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).eq(PmnPromotionSrc::getType, 1)); // Map ret = new HashMap<>(); ret.put("success", success); From bf9874cc96a2eda8f7033d7878abe88574395d76 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 27 May 2020 14:43:05 +0800 Subject: [PATCH 5/7] swagger mysql --- .../impl/PmnPromotionSrcServiceImpl.java | 1 + .../java/com/kiisoo/ic/config/CorsFilter.java | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/main/java/com/kiisoo/ic/config/CorsFilter.java diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java index 51a3824..1381e36 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnPromotionSrcServiceImpl.java @@ -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; diff --git a/src/main/java/com/kiisoo/ic/config/CorsFilter.java b/src/main/java/com/kiisoo/ic/config/CorsFilter.java new file mode 100644 index 0000000..fa89322 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/config/CorsFilter.java @@ -0,0 +1,23 @@ +package com.kiisoo.ic.config; + +import org.springframework.context.annotation.Configuration; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +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; + response.setHeader("Access-Control-Allow-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", "Origin, X-Requested-With, Content-Type, Accept"); + chain.doFilter(req, res); + } +} From 854f678b22a5816f09db9a559f66ab28f7ae1330 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 27 May 2020 14:56:04 +0800 Subject: [PATCH 6/7] swagger mysql --- src/main/java/com/kiisoo/ic/config/CorsFilter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/kiisoo/ic/config/CorsFilter.java b/src/main/java/com/kiisoo/ic/config/CorsFilter.java index fa89322..301de52 100644 --- a/src/main/java/com/kiisoo/ic/config/CorsFilter.java +++ b/src/main/java/com/kiisoo/ic/config/CorsFilter.java @@ -4,6 +4,7 @@ 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; @@ -13,11 +14,12 @@ public class CorsFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException { HttpServletResponse response = (HttpServletResponse) res; - response.setHeader("Access-Control-Allow-Origin","*"); + 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", "Origin, X-Requested-With, Content-Type, Accept"); + response.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers")); chain.doFilter(req, res); } } From 1c9e7ea3ac9fa8b58b9e9a24eac11d0040b871c0 Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 27 May 2020 15:18:41 +0800 Subject: [PATCH 7/7] swagger mysql --- .../java/com/kiisoo/ic/store/controller/PoiStoreController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java index e8b60e4..f369797 100644 --- a/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java +++ b/src/main/java/com/kiisoo/ic/store/controller/PoiStoreController.java @@ -66,7 +66,7 @@ public class PoiStoreController extends BaseController { */ @RequestMapping(value = "/user/shopDTO", method = RequestMethod.POST) @ResponseBody - public Map getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds, @RequestParam("scheduleId") long scheduleId) { + public Map getUserShopDTO(@RequestParam("userId") long userId, @RequestParam(value = "customerIds", required = false) String customerIds, @RequestParam("scheduleId") Long scheduleId) { try { List customers = null; if (StringUtils.isNotBlank(customerIds)) {