diff --git a/pom.xml b/pom.xml index 7ce8045..698febd 100644 --- a/pom.xml +++ b/pom.xml @@ -247,6 +247,12 @@ false + + maven-surefire-plugin + + true + + youke diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 6b62abc..4df293d 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -1,6 +1,7 @@ package com.kiisoo.ic.customer; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -665,102 +666,50 @@ public class CustomerService { return results; } Long shopId = stafferInfoVOS.get(0).getStoreId(); - List thisList; - PageHelper.startPage(pageNum, pageSize); + IPage thisList; +// PageHelper.startPage(pageNum, pageSize); + com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum,pageSize); + + if(startDate.getTime() == endDate.getTime()){ + endDate = null; + } + if (roleCode.equals(RoleEnum.ROLE_CODE_DZ.getRoleCode())) { // 0、新增好友 1、累计好友 if (flag == 0) { - thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(shopId, sellerId, search, startDate, endDate, type); + thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(page,shopId, sellerId, search, startDate, endDate, type); + } else { - thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopIdAndDate(shopId, sellerId, search, startDate, endDate, type); + thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopIdAndDate(page, shopId, sellerId, search, startDate, endDate, type); } - if (CollectionUtils.isNotEmpty(thisList)) { - for (int i = 0; i < thisList.size(); i++) { + if (CollectionUtils.isNotEmpty(thisList.getRecords())) { + for (int i = 0; i < thisList.getRecords().size(); i++) { // 设置导购名称 - if (!thisList.get(i).getInviteSellerId().equals(0L)) { + if (!thisList.getRecords().get(i).getInviteSellerId().equals(0L)) { Map map = new HashMap<>(); - map.put("id", thisList.get(i).getInviteSellerId()); - String userName = poiStoreStaffDOMapper.selectUserNameById(thisList.get(i).getInviteSellerId()); + map.put("id", thisList.getRecords().get(i).getInviteSellerId()); + String userName = poiStoreStaffDOMapper.selectUserNameById(thisList.getRecords().get(i).getInviteSellerId()); if (StringUtils.isNotEmpty(userName)) { - thisList.get(i).setInviteSellerName(userName); + thisList.getRecords().get(i).setInviteSellerName(userName); } else { - thisList.get(i).setInviteSellerName(""); + thisList.getRecords().get(i).setInviteSellerName(""); } } else { - thisList.get(i).setInviteSellerName(""); + thisList.getRecords().get(i).setInviteSellerName(""); } } } } else { // 0、新增好友 1、累计好友 if (flag == 0) { - thisList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(userId, search, startDate, endDate, type); + thisList = opSellerCustomerRelationDOMapper.selectFriendListBySeller(page, userId, search, startDate, endDate, type); } else { - thisList = opSellerCustomerRelationDOMapper.selectFriendListBySellerAndDate(userId, search, startDate, endDate, type); + thisList = opSellerCustomerRelationDOMapper.selectFriendListBySellerAndDate(page, userId, search, startDate, endDate, type); } } - results.put("this", new PageInfo<>(thisList)); - 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"); - 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); - } + results.put("this", new PageInfo<>(thisList.getRecords())); return results; } 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 4a9d3d7..0cb1ea6 100644 --- a/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java +++ b/src/main/java/com/kiisoo/ic/customer/controller/CustomerController.java @@ -90,12 +90,7 @@ public class CustomerController extends BaseController { Date endDate, String version, @RequestParam("flag") int flag,int pageNum, int pageSize){ try { - Map stringObjectMap; - if(StringUtils.isNotBlank(version)){ - stringObjectMap = customerService.listCustomerNew(userId, sellerId, search, roleCode, type, startDate, endDate, flag, pageNum, pageSize); - }else{ - stringObjectMap = customerService.listCustomer(userId, sellerId, search, roleCode, type, startDate, endDate); - } + Map stringObjectMap = customerService.listCustomerNew(userId, sellerId, search, roleCode, type, startDate, endDate, flag, pageNum, pageSize); return data(stringObjectMap); } catch (Exception e) { log.error("查询好友列表:",e); diff --git a/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java b/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java index b29b8ad..9e951f1 100644 --- a/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java +++ b/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java @@ -1,6 +1,8 @@ package com.kiisoo.ic.customer.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kiisoo.ic.customer.bean.FriendDTO; import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; import org.apache.ibatis.annotations.Param; @@ -25,7 +27,7 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper selectFriendListBySeller(@Param("userId") Long userId, + IPage selectFriendListBySeller(Page page,@Param("userId") Long userId, @Param("search") String search, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @@ -41,12 +43,12 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper selectFriendListByShopId(@Param("shopId") Long shopId, - @Param("sellerId") Long sellerId, - @Param("search") String search, - @Param("startDate") Date startDate, - @Param("endDate") Date endDate, - @Param("type") Integer type); + IPage selectFriendListByShopId(Page page, @Param("shopId") Long shopId, + @Param("sellerId") Long sellerId, + @Param("search") String search, + @Param("startDate") Date startDate, + @Param("endDate") Date endDate, + @Param("type") Integer type); /** * 根据导购id查询导购名 @@ -73,7 +75,7 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper selectFriendListByShopIdAndDate(@Param("shopId") Long shopId, + IPage selectFriendListByShopIdAndDate(Page page, @Param("shopId") Long shopId, @Param("sellerId") Long sellerId, @Param("search") String search, @Param("startDate") Date startDate, @@ -91,7 +93,7 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper selectFriendListBySellerAndDate(@Param("userId") Long userId, + IPage selectFriendListBySellerAndDate(Page page,@Param("userId") Long userId, @Param("search") String search, @Param("startDate") Date startDate, @Param("endDate") Date endDate, @@ -99,7 +101,6 @@ public interface OpSellerCustomerRelationDOMapper extends BaseMapper> selectCustomersByCpUserId(); diff --git a/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java b/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java index d5bf7b2..572d7d2 100644 --- a/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java +++ b/src/main/java/com/kiisoo/ic/customer/service/CustomerViewService.java @@ -665,18 +665,23 @@ public class CustomerViewService { shopIdList = list1.stream().map(PoiStore::getId).collect(Collectors.toList()); List cpUserIds = privilageCpUserStoreDOMapper.selectCpUserIdsByStoreIds(shopIdList); Long all = privilageCpUserDOMapper.selectStoresCount(cpUserIds); - Long dis = privilageCpUserDOMapper.selectDistinctStoresCount(cpUserIds); + List> dis = privilageCpUserDOMapper.selectDistinctStoresCount(cpUserIds); result.setAllCustomer(all); - result.setAllValidCustomer(dis); + if(null != dis){ + result.setAllValidCustomer(Long.parseLong(dis.get(0).get("rows").toString())); + } + } //管理员/总运营人员 else if (privilageRoleDO.getCode().equals(RoleEnum.ROLE_CODE_GLY.getRoleCode()) || privilageRoleDO.getCode().equals(RoleEnum.ROLE_CODE_ALL_YYRY.getRoleCode())) { Long all = privilageCpUserDOMapper.selectAllCount(); - Long dis = privilageCpUserDOMapper.selectDistinctAllCount(); + List> dis = privilageCpUserDOMapper.selectDistinctAllCount(); result.setAllCustomer(all); - result.setAllValidCustomer(dis); + if(null != dis){ + result.setAllValidCustomer(Long.parseLong(dis.get(0).get("rows").toString())); + } } return result; diff --git a/src/main/java/com/kiisoo/ic/employee/controller/EmployeeController.java b/src/main/java/com/kiisoo/ic/employee/controller/EmployeeController.java index 2076fbe..5eb1091 100644 --- a/src/main/java/com/kiisoo/ic/employee/controller/EmployeeController.java +++ b/src/main/java/com/kiisoo/ic/employee/controller/EmployeeController.java @@ -197,9 +197,11 @@ public class EmployeeController extends BaseController { */ @RequestMapping(value = "update",method = RequestMethod.POST) @ResponseBody - public Map updateUser(@RequestBody EmployeeDO employee){ + public Map updateUser(@RequestParam("id")Long id,@RequestParam("mobile")String mobile, + @RequestParam("cpUserName")String cpUserName,@RequestParam("cpUserId")String cpUserId, + @RequestParam("alias")String alias){ try { - Boolean hasAdd = employeeService.updateUser(employee); + Boolean hasAdd = employeeService.updateUser(id,cpUserId,mobile,cpUserName,alias); return data(hasAdd); }catch (Exception e){ log.error("修改用户失败",e); diff --git a/src/main/java/com/kiisoo/ic/employee/entity/EmployeeDO.java b/src/main/java/com/kiisoo/ic/employee/entity/EmployeeDO.java index 15db79a..634daa4 100644 --- a/src/main/java/com/kiisoo/ic/employee/entity/EmployeeDO.java +++ b/src/main/java/com/kiisoo/ic/employee/entity/EmployeeDO.java @@ -28,6 +28,10 @@ public class EmployeeDO { * 员工名 */ private String name; + /** + * 企业微信名称 + */ + private String cpUserName; /** * 成员所属部门id列表,不超过20个(企业微信部门id,非数据库部门id) */ diff --git a/src/main/java/com/kiisoo/ic/employee/mapper/PrivilageCpUserDOMapper.java b/src/main/java/com/kiisoo/ic/employee/mapper/PrivilageCpUserDOMapper.java index 6da2e30..ca882d6 100644 --- a/src/main/java/com/kiisoo/ic/employee/mapper/PrivilageCpUserDOMapper.java +++ b/src/main/java/com/kiisoo/ic/employee/mapper/PrivilageCpUserDOMapper.java @@ -19,7 +19,7 @@ public interface PrivilageCpUserDOMapper extends BaseMapper { Long selectAllCount(); - Long selectDistinctAllCount(); + List> selectDistinctAllCount(); List selectCustomerIdsByCpUserId(@Param("cpUserId")String cpUserId); @@ -29,7 +29,7 @@ public interface PrivilageCpUserDOMapper extends BaseMapper { Long selectStoresCount(@Param("cpUserIds")List cpUserIds); - Long selectDistinctStoresCount(@Param("cpUserIds")List cpUserIds); + List> selectDistinctStoresCount(@Param("cpUserIds")List cpUserIds); Long selectStoresCountById(@Param("shopIds")List shopIds); diff --git a/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java b/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java index 31eaabf..66c2e98 100644 --- a/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java +++ b/src/main/java/com/kiisoo/ic/employee/service/EmployeeService.java @@ -33,6 +33,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestParam; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; @@ -257,36 +258,34 @@ public class EmployeeService { /** * 修改成员 * - * @param employee 成员实体 + * @param id + * @param cpUserId 账号 + * @param mobile 手机号 + * @param cpUserName 名称 + * @param alias 别名 * @return * @throws WxErrorException */ @Transactional(rollbackFor = Exception.class) - public Boolean updateUser(EmployeeDO employee) throws Exception { + public Boolean updateUser(Long id, String cpUserId,String mobile,String cpUserName,String alias) throws Exception { PrivilageCpUserDO privilageCpUserDO = new PrivilageCpUserDO(); - BeanUtils.copyProperties(employee, privilageCpUserDO); - privilageCpUserDO.setCpUserId(employee.getUserId()); - + privilageCpUserDO.setId(id); + privilageCpUserDO.setMobile(mobile); + privilageCpUserDO.setName(cpUserName); + privilageCpUserDO.setAlias(alias); int update = privilageCpUserDOMapper.updateById(privilageCpUserDO); if (update == 0) { throw new Exception("修改成员失败"); } - //维护部门关系——删除原有部门关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(DATABASE_CP_USER_ID_KEY, privilageCpUserDO.getId()); - privilageCpUserDepartmentDOMapper.delete(queryWrapper); - - Long[] departIds = employee.getDepartIds(); - Integer[] orders = employee.getOrders(); - Integer[] isLeaderInDept = employee.getIsLeaderInDept(); - for (int i = 0; i < departIds.length; i++) { - PrivilageCpUserDepartmentDO relation = new PrivilageCpUserDepartmentDO(privilageCpUserDO.getId(), departIds[i], orders[i], isLeaderInDept[i]); - privilageCpUserDepartmentDOMapper.insert(relation); - } - //成功则添加用户到企业微信 + EmployeeDO employee = new EmployeeDO(); + employee.setName(cpUserName); + employee.setId(id); + employee.setAlias(alias); + employee.setUserId(cpUserId); + employee.setMobile(mobile); qwMailListManageService.updateUser(employee); return true; } diff --git a/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java b/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java index dfb5755..a6cf968 100644 --- a/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java +++ b/src/main/java/com/kiisoo/ic/job/detail/CustomerDataJob.java @@ -1,6 +1,7 @@ package com.kiisoo.ic.job.detail; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kiisoo.ic.common.utils.RedisUtil; import com.kiisoo.ic.customer.CustomerService; import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; @@ -55,6 +56,9 @@ public class CustomerDataJob { @Autowired private CustomerService customerService; + @Autowired + private RedisUtil redisUtil; + public void handle(String cpUserIds) { @@ -128,6 +132,7 @@ public class CustomerDataJob { opSellerCustomerRelationDOMapper.delete(relationQueryWrapper); Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(cpUserId); + ProduceDTO produceDTO = new ProduceDTO(); produceDTO.setIndex(index); produceDTO.setStoreId(storeId); diff --git a/src/main/java/com/kiisoo/ic/store/bean/PoiStoreStaffDTO.java b/src/main/java/com/kiisoo/ic/store/bean/PoiStoreStaffDTO.java index 543b9f3..cbfb707 100644 --- a/src/main/java/com/kiisoo/ic/store/bean/PoiStoreStaffDTO.java +++ b/src/main/java/com/kiisoo/ic/store/bean/PoiStoreStaffDTO.java @@ -2,10 +2,12 @@ package com.kiisoo.ic.store.bean; import com.kiisoo.ic.store.entity.PoiStoreStaff; import lombok.Data; +import lombok.EqualsAndHashCode; /** * 店铺人员具体信息 */ +@EqualsAndHashCode(callSuper = true) @Data public class PoiStoreStaffDTO extends PoiStoreStaff { /**名称*/ diff --git a/src/main/java/com/kiisoo/ic/store/entity/StoreUserDTO.java b/src/main/java/com/kiisoo/ic/store/entity/StoreUserDTO.java index a73a0cd..6c583aa 100644 --- a/src/main/java/com/kiisoo/ic/store/entity/StoreUserDTO.java +++ b/src/main/java/com/kiisoo/ic/store/entity/StoreUserDTO.java @@ -18,6 +18,18 @@ public class StoreUserDTO extends PoiStore{ * 企业微信账号 */ private String cpUserId; + /** + * 企业微信账号 + */ + private String cpUserName; + /** + * 别名 + */ + private String alias; + /** + * 手机号 + */ + private String mobile; /** * privilage_cp_user 主键id */ diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index ef26e15..698e149 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,6 +1,6 @@ logging: level: - root: warn + root: info mybatis: mapperLocations: classpath:mapper/*.xml diff --git a/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml b/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml index e1de24d..c90fcf2 100644 --- a/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml +++ b/src/main/resources/mapper/OpSellerCustomerRelationDOMapper.xml @@ -37,10 +37,10 @@ CONCAT('%',#{search},'%')) - and date(t1.create_time) >= #{startDate} + and t1.create_time >= #{startDate} - and date(t1.create_time) <= #{endDate} + and t1.create_time <= #{endDate} order by t1.create_time desc @@ -79,10 +79,10 @@ CONCAT('%',#{search},'%')) - and date(t1.create_time) >= #{startDate} + and t1.create_time >= #{startDate} - and date(t1.create_time) <= #{endDate} + and t1.create_time <= #{endDate} order by t1.create_time desc diff --git a/src/main/resources/mapper/PrivilageCpUserDOMapper.xml b/src/main/resources/mapper/PrivilageCpUserDOMapper.xml index 23b83e0..28b7af0 100644 --- a/src/main/resources/mapper/PrivilageCpUserDOMapper.xml +++ b/src/main/resources/mapper/PrivilageCpUserDOMapper.xml @@ -22,8 +22,8 @@ select count(id) from op_cp_user_customer_relation - + EXPLAIN select count(distinct customer_user_id) from op_cp_user_customer_relation - + EXPLAIN select count(distinct customer_user_id) from op_cp_user_customer_relation where cp_user_id in #{item} diff --git a/src/main/resources/mapper/PrivilageCpUserStoreDOMapper.xml b/src/main/resources/mapper/PrivilageCpUserStoreDOMapper.xml index 6fc9eb1..47a0582 100644 --- a/src/main/resources/mapper/PrivilageCpUserStoreDOMapper.xml +++ b/src/main/resources/mapper/PrivilageCpUserStoreDOMapper.xml @@ -3,8 +3,16 @@