swagger mysql

dev_0531
zhenghuang 5 years ago
parent 8eab265b3e
commit 45e53a944c

@ -3,6 +3,8 @@ package com.kiisoo.ic.activity.bean;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import lombok.Data;
@ -25,10 +27,14 @@ public class PromotionSrcVO {
private ActivityInstanceVO instanceVO;
private PrivilageOrganizational organizational;
private PromotionFriendsSrcVO friendsSrc;
private List<PoiStoreStaff> storeStaffs;
private PoiStore store;
private Long caseId;
private Long status;

@ -0,0 +1,15 @@
package com.kiisoo.ic.activity.bean;
import lombok.Data;
import java.util.List;
@Data
public class PushPromotionsVO {
Long userId;
List<Long> list;
Long instanceId;
}

@ -64,6 +64,7 @@ public class ActivityInstanceController extends BaseController {
return fail();
}
}
@ApiOperation(value = "店铺码分页列表")
@GetMapping(value = "/StoreCode")
@ApiImplicitParams({

@ -3,6 +3,7 @@ package com.kiisoo.ic.activity.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
import com.kiisoo.ic.activity.bean.PromotionSrcVO;
import com.kiisoo.ic.activity.bean.PushPromotionsVO;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import com.kiisoo.ic.activity.entity.PmnPromotionFriendsSrc;
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
@ -42,6 +43,8 @@ import java.util.stream.Collectors;
public class WebAppActivityController extends BaseController {
@Autowired
private IPmnPromotionSrcService pmnPromotionSrcService;
@Autowired
private PoiStoreStaffDOMapper poiStoreStaffDOMapper;
@ApiOperation(value = "我的活动推广列表")
@GetMapping("/get/promotions")
@ -65,18 +68,28 @@ public class WebAppActivityController extends BaseController {
@PostMapping("/post/promotions")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户ID", dataType = "int", paramType = "form"),
@ApiImplicitParam(name = "list", value = "选中导购列表", dataType = "array", paramType = "form"),
@ApiImplicitParam(name = "list", value = "选中导购staffId列表", dataType = "array", paramType = "form"),
@ApiImplicitParam(name = "instanceId", value = "活动ID", dataType = "array", paramType = "form"),
})
public Map<String, Object> pushPromotion(long userId, List<PoiStoreStaff> list, long instanceId) {
public Map<String, Object> pushPromotion(@RequestBody PushPromotionsVO vo) {
// TODO 将活动推广给单个或多个导购 promotion_src
// TODO 如果已经推广过了,则忽略
try {
List<PoiStoreStaff> fails = new ArrayList<>();
List<PoiStoreStaff> success = new ArrayList<>();
for (PoiStoreStaff staff : list) {
boolean create = pmnPromotionSrcService.createCode(staff, instanceId);
if (!create) {
Long instanceId = vo.getInstanceId();
Long userId = vo.getUserId();
List<Long> ids = vo.getList();
if(ids.size() <= 0) {
return fail("00004", "请传入list");
}
if(instanceId == null) {
return fail("00004", "请传入实例ID");
}
List<PoiStoreStaff> staffs = poiStoreStaffDOMapper.selectBatchIds(ids);
for (PoiStoreStaff staff : staffs) {
PmnPromotionSrc create = pmnPromotionSrcService.createCode(staff, instanceId);
if (create != null) {
fails.add(staff);
} else {
success.add(staff);
@ -87,7 +100,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, list.stream().map(PoiStoreStaff::getUserId).collect(Collectors.toList())).notIn(PmnPromotionSrc::getType, list.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())).notIn(PmnPromotionSrc::getType, staffs.stream().map(PoiStoreStaff::getType).collect(Collectors.toList())));
//
Map<String, Object> ret = new HashMap<>();
ret.put("success", success);

@ -3,6 +3,7 @@ package com.kiisoo.ic.activity.listener;
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.event.ActivityInstanceCreatedEvent;
import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService;
import com.kiisoo.ic.activity.service.IPmnPromotionSrcService;
@ -44,9 +45,10 @@ public class GenerateQRCodeListener {
List<PoiStoreStaff> staffs = poiStoreStaffDOMapper.selectList(Wrappers.<PoiStoreStaff>lambdaQuery().in(PoiStoreStaff::getStoreId, storeIds).eq(PoiStoreStaff::getType, 1).eq(PoiStoreStaff::getStatus, 1));
log.info("staffs: {}", staffs);
List<PoiStoreStaff> fails = new LinkedList<>();
staffs.stream().forEach(item -> {
boolean save = pmnPromotionSrcService.createCode(item, instance.getId());
if (!save) {
staffs.stream().collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(staff -> staff.getStoreId()))), ArrayList::new)).forEach(item -> {
PmnPromotionSrc save = pmnPromotionSrcService.createCode(item, instance.getId());
if (save == null) {
fails.add(item);
}
});

@ -5,8 +5,8 @@ import com.kiisoo.ic.activity.bean.PromotionSrcVO;
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* <p>
@ -18,7 +18,7 @@ import java.util.List;
*/
public interface IPmnPromotionSrcService extends IService<PmnPromotionSrc> {
List<PromotionSrcVO> listUserCodes(Long userId) throws Exception;
List<PromotionSrcVO> pageStoreCode(Long userId, Long instanceId, Integer pageNum, Integer pageSize) throws Exception;
Map<String, Object> pageStoreCode(Long userId, Long instanceId, Integer pageNum, Integer pageSize) throws Exception;
String saveCodeFile(String fileUrl, String code);
boolean createCode(PoiStoreStaff staff, Long instanceId);
PmnPromotionSrc createCode(PoiStoreStaff staff, Long instanceId);
}

@ -1,14 +1,13 @@
package com.kiisoo.ic.activity.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
import com.kiisoo.ic.activity.bean.PromotionSrcVO;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import com.kiisoo.ic.activity.entity.PmnActivityInstanceConfig;
import com.kiisoo.ic.activity.entity.PmnActivityStoreRelation;
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
@ -18,24 +17,17 @@ 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.constants.Constants;
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PrivilageCpUserStoreDO;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
import com.kiisoo.ic.store.service.PoiStoreService;
import com.kiisoo.ic.store.service.StoreEmployeeService;
import com.kiisoo.ic.system.entity.PrivilageAccountDO;
import com.kiisoo.ic.system.entity.PrivilageRoleDO;
import com.kiisoo.ic.system.entity.PrivilageUserDO;
import com.kiisoo.ic.system.enums.RoleEnum;
import com.kiisoo.ic.system.mapper.PrivilageRoleDOMapper;
import com.kiisoo.ic.system.mapper.PrivilageUserDOMapper;
import com.kiisoo.ic.system.service.PrivilageAccountService;
import com.kiisoo.ic.webappmy.vo.StafferInfoVO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.apache.shiro.crypto.hash.SimpleHash;
@ -45,9 +37,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.FileOutputStream;
import java.net.URL;
import java.sql.Wrapper;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@ -163,7 +153,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
@Override
@Transactional
public boolean createCode(PoiStoreStaff staff, Long instanceId) {
public PmnPromotionSrc createCode(PoiStoreStaff staff, Long instanceId) {
try {
Long promoterId = staff.getUserId();
int type = 1;
@ -186,7 +176,7 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
saveSrc.setExpiredTime(instanceVO.getEndTime());
saveSrc.setInstanceId(instanceId);
saveSrc.setIsAddition(2L); //是否要独立码: 1、默认 2、额外码
saveSrc.setType(staff.getType()); //要注意,波司登接口是0门店1导购
saveSrc.setType(staff.getType().equals(1L) ? 2L : 1L); //要注意,波司登接口是0门店1导购
saveSrc.setUpdateTime(new Date());
saveSrc.setStatus(1L);
String url = storeEmployeeService.createActivityQrCode(staff.getStaffCode(), staff.getStoreCode(), type, instanceId, promoterId);
@ -196,34 +186,43 @@ public class PmnPromotionSrcServiceImpl extends ServiceImpl<PmnPromotionSrcDOMap
saveSrc.setQrCode(url);
pmnPromotionSrcService.saveCodeFile(url, new SimpleHash("MD5", state).toHex());
boolean save = pmnPromotionSrcService.saveOrUpdate(saveSrc);
return save;
return saveSrc;
} catch (Exception e) {
log.error("活动码创建失败", e);
e.printStackTrace();
return false;
return null;
}
}
@Override
public List<PromotionSrcVO> pageStoreCode(Long userId, Long instanceId, Integer pageNum, Integer pageSize) throws Exception {
public Map<String, Object> pageStoreCode(Long userId, Long instanceId, Integer pageNum, Integer pageSize) throws Exception {
Map<String, Object> results = new HashMap<>();
PageHelper.startPage(pageNum, pageSize);
List<PmnActivityStoreRelation> storeRelations = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instanceId));
if (CollectionUtils.isEmpty(storeRelations)) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page(pageNum, pageSize);
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmnActivityStoreRelation> storeRelations = pmnActivityStoreRelationService.page(page, Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getInstanceId, instanceId));
if (CollectionUtils.isEmpty(storeRelations.getRecords())) {
results.put("this", null);
}
AtomicInteger number = new AtomicInteger(1 + ((pageNum - 1) * pageSize));
for (PmnActivityStoreRelation store : storeRelations) {
PmnPromotionSrc src = getOne(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, store.getStoreId()).eq(PmnPromotionSrc::getInstanceId, instanceId).eq(PmnPromotionSrc::getType, 2));
List<PromotionSrcVO> srcs = new ArrayList<>();
for (PmnActivityStoreRelation store : storeRelations.getRecords()) {
PmnPromotionSrc src = getOne(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, store.getStoreId()).eq(PmnPromotionSrc::getInstanceId, instanceId).eq(PmnPromotionSrc::getType, 2).last("limit 0,1"));
if(src == null || src.getCode() == null) {
File codeFile = new File("activity/" + src.getCode() + ".png");
PoiStoreStaff staff = poiStoreStaffDOMapper.selectOne(Wrappers.<PoiStoreStaff>lambdaQuery().eq(PoiStoreStaff::getStoreId, store.getStoreId()).eq(PoiStoreStaff::getType, 1).ne(PoiStoreStaff::getUserId, 0).eq(PoiStoreStaff::getDeleted, 0).eq(PoiStoreStaff::getStatus, 1));
src = createCode(staff, instanceId);
}
PromotionSrcVO vo = new PromotionSrcVO();
BeanUtils.copyProperties(src, vo);
vo.setStore(poiStoreDOMapper.selectById(store.getStoreId()));
vo.setOrganizational(poiStoreDOMapper.findStoreCompany(store.getStoreId()));
srcs.add(vo);
number.incrementAndGet();
}
//求分页总数
// Page<ActivityInstanceVO> pageList = (Page<ActivityInstanceVO>) storeRelations;
// Long totalSize = pageList.getTotal();
return null;
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PromotionSrcVO> srcVoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<PromotionSrcVO>();
BeanUtils.copyProperties(storeRelations, srcVoPage);
srcVoPage.setRecords(srcs);
results.put("this", srcVoPage);
return results;
}
@Override

@ -1,8 +1,11 @@
package com.kiisoo.ic.store.bean;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import com.kiisoo.ic.store.entity.PoiStoreStaff;
import lombok.Data;
import java.util.List;
/**
*
*/
@ -26,4 +29,6 @@ public class PoiStoreStaffDTO extends PoiStoreStaff {
/**员工id*/
private Long staffId;
private List<PmnActivityInstance> instanceList;
}

@ -2,6 +2,7 @@ package com.kiisoo.ic.store.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kiisoo.ic.generalize.entity.CompanyStoreDO;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
import com.kiisoo.ic.generalize.entity.ShopRegionDO;
import com.kiisoo.ic.store.bean.PoiStoreDTO;
import com.kiisoo.ic.store.entity.PoiStore;
@ -47,12 +48,14 @@ public interface PoiStoreDOMapper extends BaseMapper<PoiStore> {
List<PrivilageUserDO> selectSellerByShop(Long shopId);
String selectStoreQrCode(@Param("shopId") Long shopId);
List<PoiStore> selectShopByNameOrCode(@Param("name") String name);
List<PoiStore> selectShopByCustomerIds(@Param("customerIds") List<Long> customerIds);
/**
*
*
* @return
*/
List<CompanyStoreDO> selectAllCompanyStore();
@ -75,4 +78,12 @@ public interface PoiStoreDOMapper extends BaseMapper<PoiStore> {
*/
List<Long> selectShopIdByCustomerId(@Param("orgId") Long orgId);
/**
*
*
* @param storeId
* @return
*/
PrivilageOrganizational findStoreCompany(@Param("storeId") Long storeId);
}

@ -1,5 +1,10 @@
package com.kiisoo.ic.store.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kiisoo.ic.activity.entity.PmnActivityInstance;
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
import com.kiisoo.ic.activity.service.IPmnActivityInstanceService;
import com.kiisoo.ic.activity.service.IPmnPromotionSrcService;
import com.kiisoo.ic.customer.service.CustomerViewService;
import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.service.RetailCompanyService;
@ -32,8 +37,14 @@ public class PoiSellerService {
@Autowired
private CustomerViewService customerViewService;
@Autowired
private IPmnActivityInstanceService pmnActivityInstanceService;
@Autowired
private IPmnPromotionSrcService pmnPromotionSrcService;
/**
* id
*
* @param shopId id
*/
public List<PoiStoreStaffDTO> getShopSeller(List<Long> shopId) {
@ -72,6 +83,14 @@ public class PoiSellerService {
shopIds = privilageDomainService.listUserDatePermission(userId);
}
List<PoiStoreStaffDTO> sellers = poiStoreStaffDOMapper.selectSellersByShopIds(shopIds);
for (PoiStoreStaffDTO seller : sellers) {
List<PmnPromotionSrc> srcs = pmnPromotionSrcService.list(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getPromoterId, seller.getUserId()).eq(PmnPromotionSrc::getType, 1).eq(PmnPromotionSrc::getStatus, 1).select(PmnPromotionSrc::getInstanceId));
List<Long> instanceIds = srcs.stream().map(PmnPromotionSrc::getInstanceId).collect(Collectors.toList());
if(instanceIds.size() > 0) {
List<PmnActivityInstance> instances = pmnActivityInstanceService.listByIds(instanceIds);
seller.setInstanceList(instances);
}
}
return sellers;
}

@ -1,8 +1,14 @@
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.customer.service.CustomerViewService;
import com.kiisoo.ic.domain.entity.PrivilageDomainEntityDO;
import com.kiisoo.ic.domain.mapper.PrivilageDomainEntityDOMapper;
import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalDomain;
import com.kiisoo.ic.generalize.mapper.PrivilageOrganizationalDomainMapper;
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
import com.kiisoo.ic.generalize.service.RetailCompanyService;
import com.kiisoo.ic.store.bean.PoiStoreDTO;
import com.kiisoo.ic.store.bean.PoiStoreStaffDTO;
@ -18,6 +24,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList;
@ -38,6 +45,14 @@ public class PoiStoreService {
@Autowired
private CustomerViewService customerViewService;
@Autowired
private PrivilageDomainEntityDOMapper privilageDomainEntityDOMapper;
@Autowired
private PrivilageOrganizationalDomainMapper privilageOrganizationalDomainMapper;
@Autowired
private RetailCompanyMapper retailCompanyMapper;
/**
* id
* @param regionId
@ -84,25 +99,19 @@ public class PoiStoreService {
public List<PoiStoreDTO> getRegionShopDTO(long userId,List<Long> customerIds){
List<PoiStoreDTO> poiStores = new ArrayList<>();
//找到店铺集合
List<Long> shopsIds = privilageDomainService.listUserDatePermission(userId);
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)){
shopIds.addAll(shops);
}
});
Set<Long> cs = new HashSet<>();
cs.addAll(customerIds);
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){
List<PoiStoreDTO> regionPoiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds);
for(PoiStoreDTO item : regionPoiStores){
if(shopsIds.contains(item.getId())){
poiStores.add(item);
}
}
poiStores = poiStoreDOMapper.selectDTOBatchIds(shopIds);
}
}else{
poiStores = poiStoreDOMapper.selectDTOBatchIds(shopsIds);
poiStores = poiStoreDOMapper.selectDTOBatchIds(privilageDomainService.listUserDatePermission(userId));
}
return poiStores;
}

@ -206,4 +206,37 @@
and t4.entity_id = t5.id
and t4.type = 3 ;
</select>
<select id="findStoreCompany" resultType="com.kiisoo.ic.generalize.entity.PrivilageOrganizational">
SELECT
t.*
FROM
privilage_organizational t
WHERE
t.id = (
SELECT
t1.parent_id
FROM
privilage_organizational t1
WHERE
id = (
SELECT
t1.org_id
FROM
privilage_organizational_domain t1
WHERE
t1.domain_id = (
SELECT
t2.domain_id
FROM
privilage_domain_entity t2
WHERE
t2.entity_id = #{storeId}
)
)
)
AND t.LEVEL = 2
LIMIT 0,
1;
</select>
</mapper>

@ -11,7 +11,7 @@
</select>
<select id="selectSellersByShopIds" resultType="com.kiisoo.ic.store.bean.PoiStoreStaffDTO">
select
t2.id, t2.name, t2.mobil, t2.email, t2.address, t2.remark, t2.status,t1.id as staffId,t1.staff_code
t2.id, t2.name, t2.mobil, t2.email, t2.address, t2.remark, t2.status,t1.id as staffId,t1.staff_code,t1.store_id,t1.user_id,t1.store_code,t1.type,t1.avatar
from poi_store_staff t1, privilage_user t2
where t1.user_id = t2.id and
<choose>

Loading…
Cancel
Save