对接波司登二维码

master
LegnaYet 6 years ago
parent 9c71d104d7
commit 3d67816f26

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

@ -75,4 +75,13 @@ public class Constants {
// 人员状态 1 有效 2 无效
public static final long STATUS_USEFUL = 1;
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;
/**
* privilage_cp_user id
*/
private Long userId;
/**
*
*/

@ -45,8 +45,7 @@ import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import static com.kiisoo.ic.store.constant.Constants.TYPE_MANAGER;
import static com.kiisoo.ic.store.constant.Constants.TYPE_SELLER;
import static com.kiisoo.ic.store.constant.Constants.*;
/**
*
@ -63,6 +62,8 @@ public class PoiStoreStaffService {
@Autowired
private PrivilageUserDOMapper privilageUserDOMapper;
@Autowired
private StoreEmployeeService storeEmployeeService;
@Autowired
private PoiStoreDOMapper poiStoreDOMapper;
@Autowired
private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper;
@ -86,6 +87,8 @@ public class PoiStoreStaffService {
* @param shopId id
*/
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<>();
@ -111,6 +114,20 @@ public class PoiStoreStaffService {
poiStoreStaffVO.setName(privilageUserBean.getName());
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());
if (null != poiStore) {
@ -211,14 +228,13 @@ public class PoiStoreStaffService {
privilageAccountService.insertAccount(poiStoreStaffVO.getStaffCode(), AccountEnum.ACCOUNT_FIRST_PWD.getDescribe(), userId);
}
//去生成一个推广人员二维码
QrCodeVO qrCodeVO = parseQrCode(poiStoreStaffVO);
QrCodeDO qrCodeDO = parseQrCodeBSD(poiStoreStaffVO);
//添加一个店铺人员
PoiStoreStaff poiStoreStaff = new PoiStoreStaff();
BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff);
poiStoreStaff.setUserId(userId);
poiStoreStaff.setType(poiStoreStaffVO.getRoleId());
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
return poiStoreStaffDOMapper.insert(poiStoreStaff);
}
@ -240,9 +256,8 @@ public class PoiStoreStaffService {
//修改了所属店铺
if (!oldStaffInfo.getStoreId().equals(poiStoreStaffVO.getStoreId())){
// 判断条件是否重新修改二维码
QrCodeVO qrCodeVO = parseQrCode(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
QrCodeDO qrCodeDO = parseQrCodeBSD(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
}
BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff);
poiStoreStaff.setType(poiStoreStaffVO.getRoleId());
@ -272,6 +287,33 @@ public class PoiStoreStaffService {
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.employee.entity.EmployeeDO;
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.service.EmployeeService;
import com.kiisoo.ic.generalize.entity.PrivilageOrganizational;
@ -94,12 +95,14 @@ public class StoreEmployeeService {
@Autowired
private CustomerViewService customerViewService;
/**
*
*
* @param storeId 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<>();
List<PoiStore> poiStores = null;
List<Long> shopIds = new ArrayList<>();
@ -135,6 +138,17 @@ public class StoreEmployeeService {
cpUserStore.setName(poiStore.getName());
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<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
*/
public void downloadStoreUserCode(HttpServletResponse response) throws IOException {
@ -225,8 +266,10 @@ public class StoreEmployeeService {
zipFile.delete();
}
}
/**
*
*
* @param response
*/
public void downloadStoreUserCodeFromBSD(HttpServletResponse response) throws Exception {
@ -317,8 +360,10 @@ public class StoreEmployeeService {
zipFile.delete();
}
}
/**
*
*
* @param response
*/
public void downloadStoreStaffCode(HttpServletResponse response) throws IOException {
@ -399,8 +444,10 @@ public class StoreEmployeeService {
zipFile.delete();
}
}
/**
*
*
* @param response
*/
public void downloadStoreStaffCodeFromBSD(HttpServletResponse response) throws Exception {
@ -506,6 +553,7 @@ public class StoreEmployeeService {
/**
* excel
*
* @param file excel
* @return
* @throws Exception
@ -545,6 +593,7 @@ public class StoreEmployeeService {
/**
* Excel-
*
* @param dataRow
* @param results
* @param row
@ -619,6 +668,7 @@ public class StoreEmployeeService {
/**
*
*
* @param row
* @param reason
* @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.extension.service.impl.ServiceImpl;
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.PoiStoreStaff;
import com.kiisoo.ic.store.entity.PoiStoreStaffVO;
@ -83,11 +83,10 @@ public class PrivilageUserServiceImpl extends ServiceImpl<PrivilageUserDOMapper,
poiStoreStaffVO.setStoreId(shopId);
poiStoreStaffVO.setStaffCode(staffCode);
//去生成一个推广人员二维码
QrCodeVO qrCodeVO = null;
QrCodeDO qrCodeDO = null;
try {
qrCodeVO = parseQrCode.parseQrCode(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeVO.getQr_code());
poiStoreStaff.setEpWechatConfigId(qrCodeVO.getConfig_id());
qrCodeDO = parseQrCode.parseQrCodeBSD(poiStoreStaffVO);
poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode());
} catch (Exception e) {
e.printStackTrace();
}

@ -3,7 +3,7 @@
<mapper namespace="com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper">
<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)
<choose>
<when test="shopIds != null and shopIds.size > 0">

Loading…
Cancel
Save