From beec89218cc32e9a47c96c39413cc8c88fb623f3 Mon Sep 17 00:00:00 2001 From: kevin jiang Date: Sun, 10 May 2020 00:31:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E5=88=97=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=A0=B9=E6=8D=AE=E6=97=A5=E6=9C=9F=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kiisoo/ic/customer/CustomerService.java | 65 +++++++++++++++++- .../controller/CustomerController.java | 13 +++- .../entity/PrivilageOrganizationalDomain.java | 55 ++++++++++++++++ .../PrivilageOrganizationalDomainMapper.java | 9 +++ .../mapper/RetailCompanyMapper.java | 12 ++++ .../store/service/PoiStoreStaffService.java | 66 +++---------------- .../store/service/StoreEmployeeService.java | 8 +-- .../resources/mapper/RetailCompanyMapper.xml | 6 ++ 8 files changed, 167 insertions(+), 67 deletions(-) create mode 100644 src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalDomain.java create mode 100644 src/main/java/com/kiisoo/ic/generalize/mapper/PrivilageOrganizationalDomainMapper.java diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 5894318..93360c5 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -440,7 +440,66 @@ public class CustomerService { * @param search * @param roleCode */ - public Map listCustomer(Long userId, Long sellerId, String search, String roleCode, Integer type) throws Exception { + public Map listCustomerNew(Long userId, Long sellerId, String search, String roleCode, Integer type, Date startDate, Date endDate) throws Exception { + Map results = new HashMap<>(); +// Date thisDate = new Date(); +// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); +// Calendar calendar = Calendar.getInstance(); +// calendar.set(Calendar.HOUR_OF_DAY, -24); +// Date lastDate = dateFormat.parse(dateFormat.format(calendar.getTime())); +// calendar.set(Calendar.HOUR_OF_DAY, -24); +// Date earlyDate = dateFormat.parse(dateFormat.format(calendar.getTime())); + List stafferInfoVOS = poiStoreStaffDOMapper.selectInfoById(userId); + if (CollectionUtils.isEmpty(stafferInfoVOS)) { + results.put("this", null); +// results.put("last", null); +// results.put("early", null); + return results; + } + Long shopId = stafferInfoVOS.get(0).getStoreId(); + if (roleCode.equals(RoleEnum.ROLE_CODE_DZ.getRoleCode())) { + List thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, startDate, endDate, type); + thisList.forEach(friendDTO -> { + String inviteSellerName = opSellerCustomerRelationDOMapper.selectStaffName(friendDTO.getInviteSellerId()); + if (StringUtils.isNotBlank(inviteSellerName)) { + friendDTO.setInviteSellerName(inviteSellerName); + } + }); +// List lastList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, lastDate, lastDate, type); +// lastList.forEach(friendDTO -> { +// String inviteSellerName = opSellerCustomerRelationDOMapper.selectStaffName(friendDTO.getInviteSellerId()); +// if (StringUtils.isNotBlank(inviteSellerName)) { +// friendDTO.setInviteSellerName(inviteSellerName); +// } +// }); +// List earlyList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, null, earlyDate, type); +// earlyList.forEach(friendDTO -> { +// String inviteSellerName = opSellerCustomerRelationDOMapper.selectStaffName(friendDTO.getInviteSellerId()); +// if (StringUtils.isNotBlank(inviteSellerName)) { +// friendDTO.setInviteSellerName(inviteSellerName); +// } +// }); + results.put("this", thisList); +// results.put("last", lastList); +// results.put("early", earlyList); + } else { + List thisList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, startDate, endDate, type); + results.put("this", thisList); +// List lastList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, lastDate, lastDate, type); +// results.put("last", lastList); +// List earlyList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, null, earlyDate, type); +// results.put("early", earlyList); + } + return results; + } + + /** + * @param userId + * @param sellerId + * @param search + * @param roleCode + */ + public Map listCustomer(Long userId, Long sellerId, String search, String roleCode, Integer type, Date startDate, Date endDate) throws Exception { Map results = new HashMap<>(); Date thisDate = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); @@ -458,7 +517,7 @@ public class CustomerService { } Long shopId = stafferInfoVOS.get(0).getStoreId(); if (roleCode.equals(RoleEnum.ROLE_CODE_DZ.getRoleCode())) { - List thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, thisDate, thisDate, type); + List thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, startDate, endDate, type); thisList.forEach(friendDTO -> { String inviteSellerName = opSellerCustomerRelationDOMapper.selectStaffName(friendDTO.getInviteSellerId()); if (StringUtils.isNotBlank(inviteSellerName)) { @@ -483,7 +542,7 @@ public class CustomerService { results.put("last", lastList); results.put("early", earlyList); } else { - List thisList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, thisDate, thisDate, type); + List thisList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, startDate, endDate, type); results.put("this", thisList); List lastList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, lastDate, lastDate, type); results.put("last", lastList); diff --git a/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java b/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java index e262af1..dfee193 100644 --- a/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java +++ b/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java @@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -84,9 +85,17 @@ public class CustomerController extends BaseController { @RequestParam(value = "sellerId",required = false)Long sellerId, @RequestParam(value = "search",required = false)String search, @RequestParam("roleCode")String roleCode, - @RequestParam("type") Integer type){ + @RequestParam("type") Integer type, + Date startDate, + Date endDate, + String version){ try { - Map stringObjectMap = customerService.listCustomer(userId, sellerId, search, roleCode, type); + Map stringObjectMap; + if(StringUtils.isNotBlank(version)){ + stringObjectMap = customerService.listCustomerNew(userId, sellerId, search, roleCode, type, startDate, endDate); + }else{ + stringObjectMap = customerService.listCustomer(userId, sellerId, search, roleCode, type, startDate, endDate); + } return data(stringObjectMap); } catch (Exception e) { log.error("修改客户信息异常:",e); diff --git a/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalDomain.java b/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalDomain.java new file mode 100644 index 0000000..0c7d01e --- /dev/null +++ b/src/main/java/com/kiisoo/ic/generalize/entity/PrivilageOrganizationalDomain.java @@ -0,0 +1,55 @@ +package com.kiisoo.ic.generalize.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * @Description: + * @Author: dexiang.jiang + * @Date 2020/05/08 00:17 + */ +@Data +@TableName ("privilage_organizational_domain") +public class PrivilageOrganizationalDomain { + + /** + * id + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 组织ID + */ + private Long orgId; + + /** + * 域ID + */ + private Long domainId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 修改时间 + */ + private Date updateTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 修改人 + */ + private String updateBy; + +} diff --git a/src/main/java/com/kiisoo/ic/generalize/mapper/PrivilageOrganizationalDomainMapper.java b/src/main/java/com/kiisoo/ic/generalize/mapper/PrivilageOrganizationalDomainMapper.java new file mode 100644 index 0000000..2d0f0f4 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/generalize/mapper/PrivilageOrganizationalDomainMapper.java @@ -0,0 +1,9 @@ +package com.kiisoo.ic.generalize.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kiisoo.ic.generalize.entity.PrivilageOrganizationalDomain; +import org.springframework.stereotype.Repository; + +@Repository +public interface PrivilageOrganizationalDomainMapper extends BaseMapper { +} diff --git a/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java b/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java index 0f0646b..978f402 100644 --- a/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java +++ b/src/main/java/com/kiisoo/ic/generalize/mapper/RetailCompanyMapper.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; import java.util.Set; @Repository @@ -28,4 +29,15 @@ public interface RetailCompanyMapper extends BaseMapper * 所以组织对应关系list */ List selectAllOrgListByOrgIds(@Param("orgIds") List orgIds, @Param("regionId")Long regionId , @Param("companyId")Long companyId, @Param("customerId")Long customerId); + + /** + * 根据店铺编码找到上级客户 + * @param storeCode 店铺编码 + * @return 返回客户信息 + * @author dexiang.jiang + * @date 2020/05/07 21:00 + */ + List> selectCustomerDOByStoreCode(@Param("storeCode") String storeCode); + + } diff --git a/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java b/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java index 4cd1350..bf896f1 100644 --- a/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java +++ b/src/main/java/com/kiisoo/ic/store/service/PoiStoreStaffService.java @@ -28,6 +28,7 @@ import com.kiisoo.ic.system.mapper.PrivilageUserDOMapper; import com.kiisoo.ic.system.service.PrivilageAccountService; import com.kiisoo.ic.system.service.PrivilageUserRoleService; import com.kiisoo.ic.system.service.PrivilageUserService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -52,6 +53,7 @@ import static com.kiisoo.ic.store.constant.Constants.*; /** * 店铺 */ +@Slf4j @Service public class PoiStoreStaffService { @@ -83,6 +85,7 @@ public class PoiStoreStaffService { private OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper; @Autowired private PrivilageAccountDOMapper privilageAccountDOMapper; + /** * 根据条件查询导购信息 * @@ -641,6 +644,11 @@ public class PoiStoreStaffService { privilageDomainService.removeUserEntity(userId); //删除账号 privilageAccountDOMapper.deleteByUserId(userId); + // 作废二维码 + boolean bool = storeEmployeeService.cancelQrCodeFromBSD(poiStoreStaff.getStoreCode(), poiStoreStaff.getStaffCode()); + if(!bool){ + log.error("deleteStaff qrcode cancel function : " + poiStoreStaff.toString()); + } } // int i = poiStoreStaffDOMapper.deleteById(staffId); // if (i <= 0){ @@ -660,62 +668,4 @@ public class PoiStoreStaffService { wrapper.eq("user_id",userId); return poiStoreStaffDOMapper.update(poiStoreStaff,wrapper); } - - /** - * 添加店铺人员 - * @param poiStoreStaffVO - */ - public String addStaffNew(PoiStoreStaffVO poiStoreStaffVO) throws Exception { - String staffCode = poiStoreStaffVO.getStaffCode(); - String mobil = poiStoreStaffVO.getMobil(); - QueryWrapper staffQw = new QueryWrapper<>(); - staffQw.eq("staff_code", staffCode).eq("status", "1"); - List staffs = poiStoreStaffDOMapper.selectList(staffQw); - if (CollectionUtils.isNotEmpty(staffs)){ - return "0002"; - } - if (StringUtils.isNotBlank(mobil) && poiStoreStaffVO.getUserId().equals(0L)){ - QueryWrapper mobileUserQw = new QueryWrapper<>(); - mobileUserQw.eq("mobil",mobil).eq("status", "1"); - List mobileUsers = privilageUserDOMapper.selectList(mobileUserQw); - if (CollectionUtils.isNotEmpty(mobileUsers)){ - return "0003"; - } - } - QueryWrapper loginUserQw = new QueryWrapper<>(); - loginUserQw.eq("login",mobil).eq("type", "1").eq("status", "1"); - List loginUsers = privilageAccountDOMapper.selectList(loginUserQw); - if (CollectionUtils.isNotEmpty(loginUsers)){ - return "0004"; - } - - //添加一个用户 - PrivilageUserDO privilageUserDO = new PrivilageUserDO(); - BeanUtils.copyProperties(poiStoreStaffVO,privilageUserDO); - Long userId = privilageUserService.addUser(privilageUserDO); - if (null == userId ) return "0001"; - QueryWrapper rowMapper = new QueryWrapper<>(); - rowMapper.eq("code",poiStoreStaffVO.getRole()); - PrivilageRoleDO privilageRoleDO = privilageRoleDOMapper.selectOne(rowMapper); - //添加用户和角色的关系 - privilageUserRoleService.insertUserRoleRelation(userId,privilageRoleDO.getId()); - if (StringUtils.isNotBlank(poiStoreStaffVO.getIsOpen())){ - //添加一个账号 - privilageAccountService.insertAccount(poiStoreStaffVO.getStaffCode(), AccountEnum.ACCOUNT_FIRST_PWD.getDescribe(), userId); - } - //去生成一个推广人员二维码 - QrCodeDO qrCodeDO = parseQrCodeBSD(poiStoreStaffVO); - //添加一个店铺人员 - PoiStoreStaff poiStoreStaff = new PoiStoreStaff(); - BeanUtils.copyProperties(poiStoreStaffVO,poiStoreStaff); - poiStoreStaff.setUserId(userId); - if (privilageRoleDO.getCode().equals("DZ-DIANZHANG")){ - poiStoreStaff.setType(1L); - }else if(privilageRoleDO.getCode().equals("DG-DAOGOU")){ - poiStoreStaff.setType(4L); - } - poiStoreStaff.setEpWechatQrCode(qrCodeDO.getQrCode()); - poiStoreStaffDOMapper.insert(poiStoreStaff); - return "0000"; - } } diff --git a/src/main/java/com/kiisoo/ic/store/service/StoreEmployeeService.java b/src/main/java/com/kiisoo/ic/store/service/StoreEmployeeService.java index 9055abd..551e560 100644 --- a/src/main/java/com/kiisoo/ic/store/service/StoreEmployeeService.java +++ b/src/main/java/com/kiisoo/ic/store/service/StoreEmployeeService.java @@ -873,7 +873,7 @@ public class StoreEmployeeService { * @author dexiang.jiang * @date 2020/05/05 17:24 */ - public String cancelQrCodeFromBSD(String cpUserId,String state) { + public boolean cancelQrCodeFromBSD(String cpUserId,String state) { String url = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Map params = new HashMap<>(); @@ -882,9 +882,9 @@ public class StoreEmployeeService { String message = HttpClientUtil.httpPost(cancelQrCode + MD5FileUtil.getMD5String("BOSIDENG" + sdf.format(new Date())), JSONObject.toJSONString(params)).getMessage(); JSONObject qrCodeJson = JSONObject.parseObject(message); BsdShareCodeResponse bsdResponse = qrCodeJson.toJavaObject(BsdShareCodeResponse.class); - if (bsdResponse.getSuccess() && StringUtils.isNotBlank(bsdResponse.getData())){ - url = bsdResponse.getData(); + if(null == bsdResponse){ + return false; } - return url; + return bsdResponse.getSuccess(); } } diff --git a/src/main/resources/mapper/RetailCompanyMapper.xml b/src/main/resources/mapper/RetailCompanyMapper.xml index fa52e2f..5d61625 100644 --- a/src/main/resources/mapper/RetailCompanyMapper.xml +++ b/src/main/resources/mapper/RetailCompanyMapper.xml @@ -105,4 +105,10 @@ and customer.id = #{customerId} + + +