对接波司登二维码

master
LegnaYet 6 years ago
parent 9c71d104d7
commit 3d67816f26

@ -94,6 +94,10 @@ public class QrCodeDO {
* code * code
*/ */
private String staffCode; private String staffCode;
/**
*
*/
private String qrCode;
/** /**
* *
*/ */

@ -75,4 +75,13 @@ public class Constants {
// 人员状态 1 有效 2 无效 // 人员状态 1 有效 2 无效
public static final long STATUS_USEFUL = 1; public static final long STATUS_USEFUL = 1;
public static final long STATUS_UNUSEFUL = 2; public static final long STATUS_UNUSEFUL = 2;
/**
* type
*/
public static final String BSD_REQ_QRCODE_TYPE_STORE = "0";
/**
* type
*/
public static final String BSD_REQ_QRCODE_TYPE_SELLER = "1";
} }

@ -18,6 +18,10 @@ public class StoreUserDTO extends PoiStore{
* *
*/ */
private String cpUserId; private String cpUserId;
/**
* privilage_cp_user id
*/
private Long userId;
/** /**
* *
*/ */

@ -45,8 +45,7 @@ import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.kiisoo.ic.store.constant.Constants.TYPE_MANAGER; import static com.kiisoo.ic.store.constant.Constants.*;
import static com.kiisoo.ic.store.constant.Constants.TYPE_SELLER;
/** /**
* *
@ -63,6 +62,8 @@ public class PoiStoreStaffService {
@Autowired @Autowired
private PrivilageUserDOMapper privilageUserDOMapper; private PrivilageUserDOMapper privilageUserDOMapper;
@Autowired @Autowired
private StoreEmployeeService storeEmployeeService;
@Autowired
private PoiStoreDOMapper poiStoreDOMapper; private PoiStoreDOMapper poiStoreDOMapper;
@Autowired @Autowired
private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper; private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper;
@ -86,6 +87,8 @@ public class PoiStoreStaffService {
* @param shopId id * @param shopId id
*/ */
public IPage<PoiStoreStaffVO> getStaffByUserAndDate(int pageNum, int pageSize, Long shopId) { public IPage<PoiStoreStaffVO> getStaffByUserAndDate(int pageNum, int pageSize, Long shopId) {
String cpUserId = privilageCpUserStoreDOMapper.selectCpUserIdByStoreId(shopId);
PoiStore storeInfo = poiStoreDOMapper.selectById(shopId);
//根据店铺查询所有扫码客户信息 //根据店铺查询所有扫码客户信息
QueryWrapper<PoiStoreStaff> wrapper = new QueryWrapper<>(); QueryWrapper<PoiStoreStaff> wrapper = new QueryWrapper<>();
@ -111,6 +114,20 @@ public class PoiStoreStaffService {
poiStoreStaffVO.setName(privilageUserBean.getName()); poiStoreStaffVO.setName(privilageUserBean.getName());
poiStoreStaffVO.setMobil(privilageUserBean.getMobil()); poiStoreStaffVO.setMobil(privilageUserBean.getMobil());
} }
String epWechatQrCode = poiStoreStaffVO.getEpWechatQrCode();
if (StringUtils.isBlank(epWechatQrCode)){
try {
epWechatQrCode = storeEmployeeService.getQrCodeFromBSD(cpUserId,BSD_REQ_QRCODE_TYPE_SELLER,poiStoreStaffVO.getStaffCode(),storeInfo.getCode());
poiStoreStaffVO.setEpWechatQrCode(epWechatQrCode);
PoiStoreStaff update = new PoiStoreStaff();
update.setId(poiStoreStaffVO.getId());
update.setEpWechatQrCode(epWechatQrCode);
poiStoreStaffDOMapper.updateById(update);
} catch (Exception e) {
}
}
//店铺信息 //店铺信息
PoiStore poiStore = poiStoreDOMapper.selectById(poiStoreStaff.getStoreId()); PoiStore poiStore = poiStoreDOMapper.selectById(poiStoreStaff.getStoreId());
if (null != poiStore) { if (null != poiStore) {
@ -211,14 +228,13 @@ public class PoiStoreStaffService {
privilageAccountService.insertAccount(poiStoreStaffVO.getStaffCode(), AccountEnum.ACCOUNT_FIRST_PWD.getDescribe(), userId); privilageAccountService.insertAccount(poiStoreStaffVO.getStaffCode(), AccountEnum.ACCOUNT_FIRST_PWD.getDescribe(), userId);
} }
//去生成一个推广人员二维码 //去生成一个推广人员二维码
QrCodeVO qrCodeVO = parseQrCode(poiStoreStaffVO); QrCodeDO qrCodeDO = parseQrCodeBSD(poiStoreStaffVO);
//添加一个店铺人员 //添加一个店铺人员
PoiStoreStaff poiStoreStaff = new PoiStoreStaff(); PoiStoreStaff poiStoreStaff = new PoiStoreStaff();
BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff); BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff);
poiStoreStaff.setUserId(userId); poiStoreStaff.setUserId(userId);
poiStoreStaff.setType(poiStoreStaffVO.getRoleId()); poiStoreStaff.setType(poiStoreStaffVO.getRoleId());
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code()); poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
return poiStoreStaffDOMapper.insert(poiStoreStaff); return poiStoreStaffDOMapper.insert(poiStoreStaff);
} }
@ -240,9 +256,8 @@ public class PoiStoreStaffService {
//修改了所属店铺 //修改了所属店铺
if (!oldStaffInfo.getStoreId().equals(poiStoreStaffVO.getStoreId())){ if (!oldStaffInfo.getStoreId().equals(poiStoreStaffVO.getStoreId())){
// 判断条件是否重新修改二维码 // 判断条件是否重新修改二维码
QrCodeVO qrCodeVO = parseQrCode(poiStoreStaffVO); QrCodeDO qrCodeDO = parseQrCodeBSD(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code()); poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
} }
BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff); BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff);
poiStoreStaff.setType(poiStoreStaffVO.getRoleId()); poiStoreStaff.setType(poiStoreStaffVO.getRoleId());
@ -272,6 +287,33 @@ public class PoiStoreStaffService {
return qrCodeService.getQrCode(qrCodeDO); return qrCodeService.getQrCode(qrCodeDO);
} }
/**
*
*/
public QrCodeDO parseQrCodeBSD(PoiStoreStaffVO poiStoreStaffVO) throws Exception {
QrCodeDO qrCodeDO = new QrCodeDO();
qrCodeDO.setType(1);
qrCodeDO.setScene(2);
//查询店铺店长编码
String cpUserId = privilageCpUserStoreDOMapper.selectCpUserIdByStoreId(poiStoreStaffVO.getStoreId());
PoiStore poiStore = poiStoreDOMapper.selectById(poiStoreStaffVO.getStoreId());
poiStoreStaffVO.setStoreCode(poiStore.getCode());
String[] data = new String[1];
//选择店铺对应店长的编码
data[0] = (cpUserId);
// data[0] = ("JiangDeXiang");
qrCodeDO.setUser(data);
//店铺编码-导购编码
qrCodeDO.setState(poiStore.getCode() + "-" + poiStoreStaffVO.getStaffCode());
String qrCode = storeEmployeeService.getQrCodeFromBSD(cpUserId, BSD_REQ_QRCODE_TYPE_SELLER, poiStoreStaffVO.getStaffCode(), poiStore.getCode());
qrCodeDO.setQrCode(qrCode);
return qrCodeDO;
}
/** /**
* 广 * 广
* *

@ -15,6 +15,7 @@ import com.kiisoo.ic.department.mapper.PrivilageDepartmentDOMapper;
import com.kiisoo.ic.domain.service.PrivilageDomainService; import com.kiisoo.ic.domain.service.PrivilageDomainService;
import com.kiisoo.ic.employee.entity.EmployeeDO; import com.kiisoo.ic.employee.entity.EmployeeDO;
import com.kiisoo.ic.employee.entity.ImportErrorDTO; import com.kiisoo.ic.employee.entity.ImportErrorDTO;
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper; import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
import com.kiisoo.ic.employee.service.EmployeeService; import com.kiisoo.ic.employee.service.EmployeeService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational; import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
@ -94,12 +95,14 @@ public class StoreEmployeeService {
@Autowired @Autowired
private CustomerViewService customerViewService; private CustomerViewService customerViewService;
/** /**
* *
*
* @param storeId id * @param storeId id
* @param regionId id * @param regionId id
*/ */
public PageInfo<StoreUserDTO> listStoreUser(Long userId ,Long storeId, Long bigRegionId,Long companyId, Integer pageNum, Integer pageSize,String code) { public PageInfo<StoreUserDTO> listStoreUser(Long userId, Long storeId, Long bigRegionId, Long companyId, Integer pageNum, Integer pageSize, String code) throws Exception {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<PoiStore> poiStores = null; List<PoiStore> poiStores = null;
List<Long> shopIds = new ArrayList<>(); List<Long> shopIds = new ArrayList<>();
@ -135,6 +138,17 @@ public class StoreEmployeeService {
cpUserStore.setName(poiStore.getName()); cpUserStore.setName(poiStore.getName());
cpUserStore.setCode(poiStore.getCode()); cpUserStore.setCode(poiStore.getCode());
} }
String qrCodeAction = cpUserStore.getQrCodeAction();
if (StringUtils.isBlank(qrCodeAction)){
qrCodeAction = getQrCodeFromBSD(cpUserStore.getCpUserId(),BSD_REQ_QRCODE_TYPE_STORE,"0",cpUserStore.getCode());
cpUserStore.setQrCodeAction(qrCodeAction);
PrivilageCpUserDO update = new PrivilageCpUserDO();
update.setId(cpUserStore.getUserId());
update.setQrCode(qrCodeAction);
privilageCpUserDOMapper.updateById(update);
}
//查询导购数目 //查询导购数目
List<Long> shops = Arrays.asList(cpUserStore.getId()); List<Long> shops = Arrays.asList(cpUserStore.getId());
List<PoiStoreStaffDTO> sellerList = poiStoreStaffDOMapper.selectSellersByShopIds(shops); List<PoiStoreStaffDTO> sellerList = poiStoreStaffDOMapper.selectSellersByShopIds(shops);
@ -155,8 +169,35 @@ public class StoreEmployeeService {
} }
/**
*
* @param cpUserId
* @param type
* @param state
* @param storeNo
* @return
* @throws Exception
*/
public String getQrCodeFromBSD(String cpUserId,String type,String state,String storeNo) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> params = new HashMap<>();
params.put("userId", cpUserId);
params.put("type", type);
params.put("state", state);
params.put("storeNo", storeNo);
String get = HttpUtil.post("http://vtest.bsd.cn/BSD_WXAPP/qyWechat/getShareQRcode?token=" + MD5FileUtil.getMD5String("BOSIDENG"+sdf.format(new Date())), params);
JSONObject qrCodeJson = JSONObject.parseObject(get);
BsdShareCodeResponse bsdResponse = qrCodeJson.toJavaObject(BsdShareCodeResponse.class);
if (bsdResponse.getSuccess()){
return bsdResponse.getResultCode();
}
return null;
}
/** /**
* *
*
* @param response * @param response
*/ */
public void downloadStoreUserCode(HttpServletResponse response) throws IOException { public void downloadStoreUserCode(HttpServletResponse response) throws IOException {
@ -225,8 +266,10 @@ public class StoreEmployeeService {
zipFile.delete(); zipFile.delete();
} }
} }
/** /**
* *
*
* @param response * @param response
*/ */
public void downloadStoreUserCodeFromBSD(HttpServletResponse response) throws Exception { public void downloadStoreUserCodeFromBSD(HttpServletResponse response) throws Exception {
@ -317,8 +360,10 @@ public class StoreEmployeeService {
zipFile.delete(); zipFile.delete();
} }
} }
/** /**
* *
*
* @param response * @param response
*/ */
public void downloadStoreStaffCode(HttpServletResponse response) throws IOException { public void downloadStoreStaffCode(HttpServletResponse response) throws IOException {
@ -399,8 +444,10 @@ public class StoreEmployeeService {
zipFile.delete(); zipFile.delete();
} }
} }
/** /**
* *
*
* @param response * @param response
*/ */
public void downloadStoreStaffCodeFromBSD(HttpServletResponse response) throws Exception { public void downloadStoreStaffCodeFromBSD(HttpServletResponse response) throws Exception {
@ -506,6 +553,7 @@ public class StoreEmployeeService {
/** /**
* excel * excel
*
* @param file excel * @param file excel
* @return * @return
* @throws Exception * @throws Exception
@ -545,6 +593,7 @@ public class StoreEmployeeService {
/** /**
* Excel- * Excel-
*
* @param dataRow * @param dataRow
* @param results * @param results
* @param row * @param row
@ -619,6 +668,7 @@ public class StoreEmployeeService {
/** /**
* *
*
* @param row * @param row
* @param reason * @param reason
* @param results * @param results

@ -3,7 +3,7 @@ package com.kiisoo.ic.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.kiisoo.ic.constants.Constants; import com.kiisoo.ic.constants.Constants;
import com.kiisoo.ic.employee.entity.QrCodeVO; import com.kiisoo.ic.employee.entity.QrCodeDO;
import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.entity.PoiStore;
import com.kiisoo.ic.store.entity.PoiStoreStaff; import com.kiisoo.ic.store.entity.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PoiStoreStaffVO; import com.kiisoo.ic.store.entity.PoiStoreStaffVO;
@ -83,11 +83,10 @@ public class PrivilageUserServiceImpl extends ServiceImpl<PrivilageUserDOMapper,
poiStoreStaffVO.setStoreId(shopId); poiStoreStaffVO.setStoreId(shopId);
poiStoreStaffVO.setStaffCode(staffCode); poiStoreStaffVO.setStaffCode(staffCode);
//去生成一个推广人员二维码 //去生成一个推广人员二维码
QrCodeVO qrCodeVO = null; QrCodeDO qrCodeDO = null;
try { try {
qrCodeVO = parseQrCode.parseQrCode(poiStoreStaffVO); qrCodeDO = parseQrCode.parseQrCodeBSD(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code()); poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

@ -3,7 +3,7 @@
<mapper namespace="com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper"> <mapper namespace="com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper">
<select id="selectCpUserByShops" resultType="com.kiisoo.ic.store.entity.StoreUserDTO"> <select id="selectCpUserByShops" resultType="com.kiisoo.ic.store.entity.StoreUserDTO">
select distinct pcu.cp_user_id as cpUserId,pcu.qr_code as qrCodeAction,pcus.store_id as id select distinct pcu.cp_user_id as cpUserId,pcu.qr_code as qrCodeAction,pcus.store_id as id,pcu.id as userId
from privilage_cp_user_store pcus ,privilage_cp_user pcu where pcus.cp_user_id = pcu.id and pcu.status in (1,4) from privilage_cp_user_store pcus ,privilage_cp_user pcu where pcus.cp_user_id = pcu.id and pcu.status in (1,4)
<choose> <choose>
<when test="shopIds != null and shopIds.size > 0"> <when test="shopIds != null and shopIds.size > 0">

Loading…
Cancel
Save