Commit de822efb by jinxin

Merge remote-tracking branch 'origin/feature/六月需求' into developer

# Conflicts:
#	haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/licence/LicenceOrderPageQDTO.java
#	haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/qo/licence/LicenceOrderPageQO.java
#	haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/licence/LicenceOrderPageQO.java
#	haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/licence/LicenceOrderQO.java
parents c54c8643 3ccdd174
......@@ -50,6 +50,18 @@ public class StaffActiveDataDTO implements Serializable {
* 已合并许可总数
*/
private Integer merged;
/**
* 即将过期的许可总数
*/
private Integer expiring;
public Integer getExpiring() {
return expiring;
}
public void setExpiring(Integer expiring) {
this.expiring = expiring;
}
public Integer getMerged() {
return merged;
......
......@@ -60,6 +60,30 @@ public class StaffListDTO implements Serializable {
* 部门id数组
*/
private List<String> departmentIds;
/**
* 许可到期时间区间查询
*/
private String startTime;
/**
* 许可到期时间区间查询
*/
private String endTime;
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public List<String> getDepartmentIds() {
return departmentIds;
......
package com.gic.haoban.manage.api.dto.licence;
import java.io.Serializable;
/**
* @description:
* @Author: wenhua
* @Date: 2023/6/12 15:25
*/
public class InvalidUserInfoDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 微信userId
*/
private String wxUserId;
/**
* 电话
*/
private String phone;
/**
* 名称
*/
private String name;
/**
* 不合法错误码
*/
private String invalidCode;
/**
* 不合法错误描述
*/
private String invalidMsg;
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInvalidCode() {
return invalidCode;
}
public void setInvalidCode(String invalidCode) {
this.invalidCode = invalidCode;
}
public String getInvalidMsg() {
return invalidMsg;
}
public void setInvalidMsg(String invalidMsg) {
this.invalidMsg = invalidMsg;
}
}
package com.gic.haoban.manage.api.dto.qdto.licence;
import com.gic.api.base.commons.BasePageInfo;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
public class LicenceOrderPageQDTO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
/**
* gic商户Id
*/
private String enterpriseId;
/**
* wx企业Id
*/
private String wxEnterpriseId;
/**
* 创建人名称
*/
private String creatorName;
/**
* 支付方式 1在线支付 2对公转账
*/
private Integer payType;
/**
* gic商户查询id
*/
private String enterpriseIdParam;
/**
* 微信订单id
*/
private String wxOrderId;
/**
* 1 好办后台 0 运维后台
*/
private Integer type;
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getWxOrderId() {
return wxOrderId;
}
public void setWxOrderId(String wxOrderId) {
this.wxOrderId = wxOrderId;
}
public String getEnterpriseIdParam() {
return enterpriseIdParam;
}
public void setEnterpriseIdParam(String enterpriseIdParam) {
this.enterpriseIdParam = enterpriseIdParam;
}
public Integer getPayType() {
return payType;
}
public void setPayType(Integer payType) {
this.payType = payType;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(Integer orderStatus) {
this.orderStatus = orderStatus;
}
public String getQywxOrderId() {
return qywxOrderId;
}
public void setQywxOrderId(String qywxOrderId) {
this.qywxOrderId = qywxOrderId;
}
public Integer getQywxOrderStatus() {
return qywxOrderStatus;
}
public void setQywxOrderStatus(Integer qywxOrderStatus) {
this.qywxOrderStatus = qywxOrderStatus;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
}
package com.gic.haoban.manage.api.dto.qdto.licence;
import com.gic.api.base.commons.BasePageInfo;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
public class LicenceOrderPageQDTO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
/**
* gic商户Id
*/
private String enterpriseId;
/**
* wx企业Id
*/
private String wxEnterpriseId;
/**
* 创建人名称
*/
private String creatorName;
/**
* 支付方式 1在线支付 2对公转账
*/
private Integer payType;
/**
* gic商户查询id
*/
private String enterpriseIdParam;
/**
* 微信订单id
*/
private String wxOrderId;
/**
* 1 好办后台 0 运维后台
*/
private Integer type;
/**
* 订单类型,1:购买帐号,2:续期帐号
*/
private Integer orderType;
public Integer getOrderType() {
return orderType;
}
public void setOrderType(Integer orderType) {
this.orderType = orderType;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getWxOrderId() {
return wxOrderId;
}
public void setWxOrderId(String wxOrderId) {
this.wxOrderId = wxOrderId;
}
public String getEnterpriseIdParam() {
return enterpriseIdParam;
}
public void setEnterpriseIdParam(String enterpriseIdParam) {
this.enterpriseIdParam = enterpriseIdParam;
}
public Integer getPayType() {
return payType;
}
public void setPayType(Integer payType) {
this.payType = payType;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(Integer orderStatus) {
this.orderStatus = orderStatus;
}
public String getQywxOrderId() {
return qywxOrderId;
}
public void setQywxOrderId(String qywxOrderId) {
this.qywxOrderId = qywxOrderId;
}
public Integer getQywxOrderStatus() {
return qywxOrderStatus;
}
public void setQywxOrderStatus(Integer qywxOrderStatus) {
this.qywxOrderStatus = qywxOrderStatus;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.api.dto.qdto.licence;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>
......@@ -51,7 +52,7 @@ public class LicenceOrderQDTO implements Serializable {
private Integer price;
/**
* 购买时间类型 1:按月购买,2:按天购买
* 购买时间类型 1:按月购买,2:按天购买,3:指定到期时间(仅续期订单有此类型)
*/
private Integer timeType;
......@@ -105,6 +106,18 @@ public class LicenceOrderQDTO implements Serializable {
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 续期成员staffIdList
*/
private List<String> staffIdList;
public List<String> getStaffIdList() {
return staffIdList;
}
public void setStaffIdList(List<String> staffIdList) {
this.staffIdList = staffIdList;
}
public String getQywxOrderId() {
return qywxOrderId;
......
package com.gic.haoban.manage.web.qo.licence;
import com.gic.api.base.commons.BasePageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderPageQO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
/**
* 支付方式 1在线支付 2对公转账
*/
private Integer payType;
/**
* gic商户查询id
*/
private String enterpriseIdParam;
/**
* 微信订单id
*/
private String wxOrderId;
}
package com.gic.haoban.manage.web.qo.licence;
import com.gic.api.base.commons.BasePageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderPageQO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
/**
* 支付方式 1在线支付 2对公转账
*/
private Integer payType;
/**
* gic商户查询id
*/
private String enterpriseIdParam;
/**
* 微信订单id
*/
private String wxOrderId;
/**
* 订单类型,1:购买帐号,2:续期帐号
*/
private Integer orderType;
}
......@@ -167,6 +167,13 @@ public interface StaffMapper {
Integer getOccupyNum(@Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 查询即将过期的许可总数
* @param wxEnterpriseId
* @return
*/
Integer getExpiringNum(@Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 通过wxOpenUserId更新企业成员许可信息
*/
void updateStaffInfoByStaffId(@Param("staffId") String staffId,
......
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanRenewalUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* (TabHaobanRenewalUser)表数据库访问层
*
* @author makejava
* @since 2023-06-08 15:11:49
*/
public interface TabHaobanRenewalUserDao {
/**
* 通过ID查询单条数据
*
* @param renewalId 主键
* @return 实例对象
*/
TabHaobanRenewalUser queryById(Long renewalId);
/**
* 查询指定行数据
*
* @param tabHaobanRenewalUser 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<TabHaobanRenewalUser> queryAllByLimit(TabHaobanRenewalUser tabHaobanRenewalUser, @Param("pageable") Pageable pageable);
/**
* 统计总行数
*
* @param tabHaobanRenewalUser 查询条件
* @return 总行数
*/
long count(TabHaobanRenewalUser tabHaobanRenewalUser);
/**
* 新增数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 影响行数
*/
int insert(TabHaobanRenewalUser tabHaobanRenewalUser);
/**
* 批量新增数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanRenewalUser> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TabHaobanRenewalUser> entities);
/**
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
*
* @param entities List<TabHaobanRenewalUser> 实例对象列表
* @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/
int insertOrUpdateBatch(@Param("entities") List<TabHaobanRenewalUser> entities);
/**
* 修改数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 影响行数
*/
int update(TabHaobanRenewalUser tabHaobanRenewalUser);
/**
* 通过主键删除数据
*
* @param renewalId 主键
* @return 影响行数
*/
int deleteById(Long renewalId);
}
package com.gic.haoban.manage.service.entity;
import java.util.Date;
import java.io.Serializable;
/**
* (TabHaobanRenewalUser)实体类
*
* @author makejava
* @since 2023-06-08 15:11:49
*/
public class TabHaobanRenewalUser implements Serializable {
private static final long serialVersionUID = -16922328852683963L;
/**
* id
*/
private Long renewalId;
/**
* wx企业Id
*/
private String wxEnterpriseId;
/**
* 微信userId
*/
private String wxUserId;
/**
* 订单id
*/
private Long orderId;
/**
* 电话
*/
private String phone;
/**
* 名称
*/
private String name;
/**
* 职位
*/
private String postion;
/**
* 续期是否合法 0 否 1是
*/
private Integer invalidFlag;
/**
* 不合法错误码
*/
private String invalidCode;
/**
* 不合法错误描述
*/
private String invalidMsg;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 逻辑删除,0未删除,1删除
*/
private Integer deleteFlag;
public Long getRenewalId() {
return renewalId;
}
public void setRenewalId(Long renewalId) {
this.renewalId = renewalId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPostion() {
return postion;
}
public void setPostion(String postion) {
this.postion = postion;
}
public Integer getInvalidFlag() {
return invalidFlag;
}
public void setInvalidFlag(Integer invalidFlag) {
this.invalidFlag = invalidFlag;
}
public String getInvalidCode() {
return invalidCode;
}
public void setInvalidCode(String invalidCode) {
this.invalidCode = invalidCode;
}
public String getInvalidMsg() {
return invalidMsg;
}
public void setInvalidMsg(String invalidMsg) {
this.invalidMsg = invalidMsg;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
}
......@@ -64,6 +64,30 @@ public class StaffListBO implements Serializable {
* 关联成员id数组
*/
private List<String> staffIds;
/**
* 许可到期时间区间查询
*/
private String startTime;
/**
* 许可到期时间区间查询
*/
private String endTime;
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public List<String> getStaffIds() {
return staffIds;
......
......@@ -134,6 +134,11 @@ public interface StaffService {
*/
Integer getOccupyNum(String wxEnterpriseId);
/**
* 查询即将过期的许可总数
*/
Integer getExpiringNum(String wxEnterpriseId);
/**
* 查询成员列表
......
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.service.entity.TabHaobanRenewalUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;
/**
* (TabHaobanRenewalUser)表服务接口
*
* @author makejava
* @since 2023-06-08 15:11:49
*/
public interface TabHaobanRenewalUserService {
/**
* 通过ID查询单条数据
*
* @param renewalId 主键
* @return 实例对象
*/
TabHaobanRenewalUser queryById(Long renewalId);
/**
* 分页查询
*
* @param tabHaobanRenewalUser 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
Page<TabHaobanRenewalUser> queryByPage(TabHaobanRenewalUser tabHaobanRenewalUser, PageRequest pageRequest);
/**
* 新增数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 实例对象
*/
TabHaobanRenewalUser insert(TabHaobanRenewalUser tabHaobanRenewalUser);
void insertBatch(List<TabHaobanRenewalUser> tabHaobanRenewalUserList);
/**
* 修改数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 实例对象
*/
TabHaobanRenewalUser update(TabHaobanRenewalUser tabHaobanRenewalUser);
/**
* 通过主键删除数据
*
* @param renewalId 主键
* @return 是否成功
*/
boolean deleteById(Long renewalId);
}
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.api.dto.StaffActiveDataDTO;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseActiveData;
/**
* @description: 通讯录数据总览内部service
......@@ -17,4 +18,8 @@ public interface WxEnterpriseActiveDataService {
Integer saveOrUpdate(String wxEnterpriseId);
StaffActiveDataDTO getWxEnterpriseActiveDataByWxEnterpriseId(String wxEnterpriseId);
void updateByStaffActiveDataDTO(StaffActiveDataDTO dto);
void insert(TabHaobanWxEnterpriseActiveData data);
}
package com.gic.haoban.manage.service.service.impl;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import com.gic.haoban.manage.service.pojo.bo.StaffListBO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.service.config.Config;
......@@ -26,6 +14,7 @@ import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeAccountStaff;
import com.gic.haoban.manage.service.pojo.bo.StaffListBO;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.fee.HaobanQywxFeeAccountStaffService;
import com.gic.wechat.api.dto.qywx.fee.AccountListDTO;
......@@ -34,10 +23,16 @@ import com.gic.wechat.api.dto.qywx.fee.ActiveInfoUserResponseDTO;
import com.gic.wechat.api.service.qywx.QywxOrderApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.hutool.core.date.DateUtil;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
public class StaffServiceImpl implements StaffService {
......@@ -55,7 +50,7 @@ public class StaffServiceImpl implements StaffService {
private HaobanQywxFeeAccountStaffService haobanQywxFeeAccountStaffService;
@Autowired
private QywxUserApiService qywxUserApiService ;
@Override
public TabHaobanStaff selectById(String id) {
if (StringUtils.isBlank(id)) {
......@@ -98,6 +93,13 @@ public class StaffServiceImpl implements StaffService {
String s = "ISNULL("+sortField+"),"+sortField;
staffListBO.setSortField(s);
}
//时间处理
if (StrUtil.isNotBlank(staffListBO.getStartTime())) {
staffListBO.setStartTime(staffListBO.getStartTime() + " 00:00:00");
}
if (StrUtil.isNotBlank(staffListBO.getEndTime())) {
staffListBO.setEndTime(staffListBO.getEndTime() + " 23:59:59");
}
return mapper.pageStaff(staffListBO);
}
......@@ -169,13 +171,13 @@ public class StaffServiceImpl implements StaffService {
public int resetAddNum() {
return mapper.resetAddNum();
}
@Override
public int updateActiveStatusById(String staffId, Date activeTime, Date expireTime,
String activeCode) {
return mapper.updateActiveStatusById(staffId, activeTime, expireTime, activeCode) ;
}
@Override
public void updateOpenConcatFlag(List<String> wxUserIdList,int mixFlag) {
if(CollectionUtils.isEmpty(wxUserIdList)) {
......@@ -183,14 +185,14 @@ public class StaffServiceImpl implements StaffService {
}
this.mapper.updateOpenConcatFlag(wxUserIdList,mixFlag);
}
@Override
public void activedAccountTimer(String wxEid) {
log.info("开始查询激活账号,wxEid={}", wxEid);
TabHaobanWxEnterprise wxEnterprise = this.wxEnterpriseMapper.selectByPrimaryKey(wxEid) ;
if(wxEnterprise.getWxSecurityType()>0 && StringUtils.isNotEmpty(wxEnterprise.getOpenCorpid()) && wxEnterprise.getStatusFlag()==1) {
this.haobanQywxFeeAccountStaffService.deleteAll(wxEid) ;
this.mapper.deleteActivieInfo(wxEid);
this.mapper.deleteActivieInfo(wxEid);
this.listAccount(wxEnterprise, 500, null);
}
}
......@@ -200,6 +202,11 @@ public class StaffServiceImpl implements StaffService {
return mapper.getOccupyNum(wxEnterpriseId);
}
@Override
public Integer getExpiringNum(String wxEnterpriseId) {
return mapper.getExpiringNum(wxEnterpriseId);
}
private void listAccount(TabHaobanWxEnterprise wxEnterprise , int limit , String cursor) {
String wxEnterpriseId = wxEnterprise.getWxEnterpriseId() ;
String openCorpid = wxEnterprise.getOpenCorpid() ;
......@@ -218,7 +225,7 @@ public class StaffServiceImpl implements StaffService {
}
}
}
private void updateAccount(String wxEnterpriseId , String openCorpid ,List<AccountListDTO> list) {
for(AccountListDTO item : list) {
String userId = item.getUserid() ;
......
package com.gic.haoban.manage.service.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.gic.haoban.manage.service.entity.TabHaobanRenewalUser;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanRenewalUserDao;
import com.gic.haoban.manage.service.service.TabHaobanRenewalUserService;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource;
import java.util.List;
/**
* (TabHaobanRenewalUser)表服务实现类
*
* @author makejava
* @since 2023-06-08 15:11:49
*/
@Service("tabHaobanRenewalUserService")
public class TabHaobanRenewalUserServiceImpl implements TabHaobanRenewalUserService {
@Resource
private TabHaobanRenewalUserDao tabHaobanRenewalUserDao;
/**
* 通过ID查询单条数据
*
* @param renewalId 主键
* @return 实例对象
*/
@Override
public TabHaobanRenewalUser queryById(Long renewalId) {
return this.tabHaobanRenewalUserDao.queryById(renewalId);
}
/**
* 分页查询
*
* @param tabHaobanRenewalUser 筛选条件
* @param pageRequest 分页对象
* @return 查询结果
*/
@Override
public Page<TabHaobanRenewalUser> queryByPage(TabHaobanRenewalUser tabHaobanRenewalUser, PageRequest pageRequest) {
long total = this.tabHaobanRenewalUserDao.count(tabHaobanRenewalUser);
return new PageImpl<>(this.tabHaobanRenewalUserDao.queryAllByLimit(tabHaobanRenewalUser, pageRequest), pageRequest, total);
}
/**
* 新增数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 实例对象
*/
@Override
public TabHaobanRenewalUser insert(TabHaobanRenewalUser tabHaobanRenewalUser) {
this.tabHaobanRenewalUserDao.insert(tabHaobanRenewalUser);
return tabHaobanRenewalUser;
}
@Override
public void insertBatch(List<TabHaobanRenewalUser> tabHaobanRenewalUserList) {
if (CollUtil.isEmpty(tabHaobanRenewalUserList)){
return;
}
this.tabHaobanRenewalUserDao.insertBatch(tabHaobanRenewalUserList);
}
/**
* 修改数据
*
* @param tabHaobanRenewalUser 实例对象
* @return 实例对象
*/
@Override
public TabHaobanRenewalUser update(TabHaobanRenewalUser tabHaobanRenewalUser) {
this.tabHaobanRenewalUserDao.update(tabHaobanRenewalUser);
return this.queryById(tabHaobanRenewalUser.getRenewalId());
}
/**
* 通过主键删除数据
*
* @param renewalId 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long renewalId) {
return this.tabHaobanRenewalUserDao.deleteById(renewalId) > 0;
}
}
......@@ -119,6 +119,28 @@ public class WxEnterpriseActiveDataServiceImpl implements WxEnterpriseActiveData
Integer occupy=0;
occupy=staffService.getOccupyNum(wxEnterpriseId);
staffActiveDataDTO.setOccupy(occupy);
//查询即将过期的许可总数
Integer expiringNum = 0;
expiringNum = staffService.getExpiringNum(wxEnterpriseId);
staffActiveDataDTO.setExpiring(expiringNum);
return staffActiveDataDTO;
}
@Override
public void updateByStaffActiveDataDTO(StaffActiveDataDTO dto) {
if (null == dto){
return;
}
TabHaobanWxEnterpriseActiveData tabHaobanWxEnterpriseActiveData = EntityUtil.changeEntityByJSON(TabHaobanWxEnterpriseActiveData.class, dto);
tabHaobanWxEnterpriseActiveDataMapper.updateActiveDataByWxEnterpriseId(tabHaobanWxEnterpriseActiveData);
}
@Override
public void insert(TabHaobanWxEnterpriseActiveData data) {
if(null == data){
log.info("新增许可账号统计参数不能为空!");
return;
}
tabHaobanWxEnterpriseActiveDataMapper.insert(data);
}
}
......@@ -119,6 +119,8 @@ public class StaffApiServiceImpl implements StaffApiService {
private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired
private WxEnterpriseActiveDataService wxEnterpriseActiveDataService;
@Override
public StaffDTO selectById(String staffId) {
......@@ -1132,7 +1134,7 @@ public class StaffApiServiceImpl implements StaffApiService {
if (StrUtil.isBlank(params)) {
return com.gic.api.base.commons.ServiceResponse.success(false);
}
//1、解析参数 2、刷新企业微信群列表 3、更新成员信息
//1、解析参数 2、刷新企业微信群列表 3、更新成员信息 4、实时统计许可总数
JSONObject object = JSONObject.parseObject(params, JSONObject.class);
String infoType = object.getString("infoType");
String authCorpId = object.getString("authCorpId");
......@@ -1165,6 +1167,24 @@ public class StaffApiServiceImpl implements StaffApiService {
String staffId = staff.getStaffId();
groupChatService.initStaffGroupChat(staffId);
staffMapper.updateActiveStatusById(staffId,timeStampDate,expireTimeDate,activeCode);
StaffActiveDataDTO activeDataDTO = wxEnterpriseActiveDataService.getWxEnterpriseActiveDataByWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
if (null == activeDataDTO){
logger.info("查询不到企业微信id->{}的许可账号统计信息!",wxEnterprise.getWxEnterpriseId());
}else {
//已使用的加1,已激活的加1,未激活的减1
Integer used = activeDataDTO.getUsed();
Integer inactive = activeDataDTO.getInactive();
Integer activated = activeDataDTO.getActivated();
used++;
activated++;
if(null != inactive && inactive > 0){
inactive--;
}
activeDataDTO.setUsed(used);
activeDataDTO.setInactive(inactive);
activeDataDTO.setActivated(activated);
wxEnterpriseActiveDataService.updateByStaffActiveDataDTO(activeDataDTO);
}
}
return com.gic.api.base.commons.ServiceResponse.success(true);
}
......
......@@ -329,7 +329,7 @@
<if test="occupy != null and 2==occupy">
and ( a.expire_time is null or a.expire_time <![CDATA[<]]> now() )
</if>
<!-- 许可状态 0 未激活,1 正常有效,2 即将过期,3 已过期,可多传,按‘,’隔开 -->
<!-- 许可状态 0 未激活,1 正常有效,2 即将过期,3 已过期,4 查询可以续期的成员(即状态是1、2、3的成员) -->
<if test="null != permitState and '' != permitState">
<if test="permitState==0">
and a.expire_time is null
......@@ -345,6 +345,9 @@
<if test="permitState==3">
and a.expire_time <![CDATA[<]]> now()
</if>
<if test="permitState==4">
and a.expire_time is not null
</if>
</if>
<if test="departmentIds != null and departmentIds.size() > 0">
......@@ -616,6 +619,10 @@
SELECT count(*) FROM tab_haoban_staff WHERE status_flag = 0 and del_time >= DATE_FORMAT(NOW(),'%Y-%m-%d') and expire_time >= DATE_FORMAT(NOW(),'%Y-%m-%d') and wx_enterprise_id = #{wxEnterpriseId}
</select>
<select id="getExpiringNum" resultType="java.lang.Integer">
SELECT count(*) FROM tab_haoban_staff WHERE status_flag = 1 and expire_time > now() and expire_time <![CDATA[<=]]> DATE_ADD(DATE_FORMAT(NOW(),'%Y-%m-%d'),INTERVAL 30 DAY) and wx_enterprise_id = #{wxEnterpriseId}
</select>
<update id="updateStaffInfoByStaffId">
update tab_haoban_staff set
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.TabHaobanRenewalUserDao">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanRenewalUser" id="TabHaobanRenewalUserMap">
<result property="renewalId" column="renewal_id" jdbcType="INTEGER"/>
<result property="wxEnterpriseId" column="wx_enterprise_id" jdbcType="VARCHAR"/>
<result property="wxUserId" column="wx_user_id" jdbcType="VARCHAR"/>
<result property="orderId" column="order_id" jdbcType="INTEGER"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="postion" column="postion" jdbcType="VARCHAR"/>
<result property="invalidFlag" column="invalid_flag" jdbcType="INTEGER"/>
<result property="invalidCode" column="invalid_code" jdbcType="VARCHAR"/>
<result property="invalidMsg" column="invalid_msg" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
</resultMap>
<!--查询单个-->
<select id="queryById" resultMap="TabHaobanRenewalUserMap">
select
renewal_id, wx_enterprise_id, wx_user_id, order_id, phone, name, postion, invalid_flag, invalid_code, invalid_msg, update_time, create_time, delete_flag
from tab_haoban_renewal_user
where renewal_id = #{renewalId}
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="TabHaobanRenewalUserMap">
select
renewal_id, wx_enterprise_id, wx_user_id, order_id, phone, name, postion, invalid_flag, invalid_code, invalid_msg, update_time, create_time, delete_flag
from tab_haoban_renewal_user
<where>
<if test="renewalId != null">
and renewal_id = #{renewalId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="wxUserId != null and wxUserId != ''">
and wx_user_id = #{wxUserId}
</if>
<if test="orderId != null">
and order_id = #{orderId}
</if>
<if test="phone != null and phone != ''">
and phone = #{phone}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="postion != null and postion != ''">
and postion = #{postion}
</if>
<if test="invalidFlag != null">
and invalid_flag = #{invalidFlag}
</if>
<if test="invalidCode != null and invalidCode != ''">
and invalid_code = #{invalidCode}
</if>
<if test="invalidMsg != null and invalidMsg != ''">
and invalid_msg = #{invalidMsg}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
limit #{pageable.offset}, #{pageable.pageSize}
</select>
<!--统计总行数-->
<select id="count" resultType="java.lang.Long">
select count(1)
from tab_haoban_renewal_user
<where>
<if test="renewalId != null">
and renewal_id = #{renewalId}
</if>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="wxUserId != null and wxUserId != ''">
and wx_user_id = #{wxUserId}
</if>
<if test="orderId != null">
and order_id = #{orderId}
</if>
<if test="phone != null and phone != ''">
and phone = #{phone}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="postion != null and postion != ''">
and postion = #{postion}
</if>
<if test="invalidFlag != null">
and invalid_flag = #{invalidFlag}
</if>
<if test="invalidCode != null and invalidCode != ''">
and invalid_code = #{invalidCode}
</if>
<if test="invalidMsg != null and invalidMsg != ''">
and invalid_msg = #{invalidMsg}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="deleteFlag != null">
and delete_flag = #{deleteFlag}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="renewalId" useGeneratedKeys="true">
insert into tab_haoban_renewal_user(wx_enterprise_id, wx_user_id, order_id, phone, name, postion, invalid_flag, invalid_code, invalid_msg, update_time, create_time, delete_flag)
values (#{wxEnterpriseId}, #{wxUserId}, #{orderId}, #{phone}, #{name}, #{postion}, #{invalidFlag}, #{invalidCode}, #{invalidMsg}, #{updateTime}, #{createTime}, #{deleteFlag})
</insert>
<insert id="insertBatch" keyProperty="renewalId" useGeneratedKeys="true">
insert into tab_haoban_renewal_user(wx_enterprise_id, wx_user_id, order_id, phone, name, postion, invalid_flag, invalid_code, invalid_msg, update_time, create_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.wxEnterpriseId}, #{entity.wxUserId}, #{entity.orderId}, #{entity.phone}, #{entity.name}, #{entity.postion}, #{entity.invalidFlag}, #{entity.invalidCode}, #{entity.invalidMsg}, #{entity.updateTime}, #{entity.createTime}, #{entity.deleteFlag})
</foreach>
</insert>
<insert id="insertOrUpdateBatch" keyProperty="renewalId" useGeneratedKeys="true">
insert into tab_haoban_renewal_user(wx_enterprise_id, wx_user_id, order_id, phone, name, postion, invalid_flag, invalid_code, invalid_msg, update_time, create_time, delete_flag)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.wxEnterpriseId}, #{entity.wxUserId}, #{entity.orderId}, #{entity.phone}, #{entity.name}, #{entity.postion}, #{entity.invalidFlag}, #{entity.invalidCode}, #{entity.invalidMsg}, #{entity.updateTime}, #{entity.createTime}, #{entity.deleteFlag})
</foreach>
on duplicate key update
wx_enterprise_id = values(wx_enterprise_id),
wx_user_id = values(wx_user_id),
order_id = values(order_id),
phone = values(phone),
name = values(name),
postion = values(postion),
invalid_flag = values(invalid_flag),
invalid_code = values(invalid_code),
invalid_msg = values(invalid_msg),
update_time = values(update_time),
create_time = values(create_time),
delete_flag = values(delete_flag)
</insert>
<!--通过主键修改数据-->
<update id="update">
update tab_haoban_renewal_user
<set>
<if test="wxEnterpriseId != null and wxEnterpriseId != ''">
wx_enterprise_id = #{wxEnterpriseId},
</if>
<if test="wxUserId != null and wxUserId != ''">
wx_user_id = #{wxUserId},
</if>
<if test="orderId != null">
order_id = #{orderId},
</if>
<if test="phone != null and phone != ''">
phone = #{phone},
</if>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="postion != null and postion != ''">
postion = #{postion},
</if>
<if test="invalidFlag != null">
invalid_flag = #{invalidFlag},
</if>
<if test="invalidCode != null and invalidCode != ''">
invalid_code = #{invalidCode},
</if>
<if test="invalidMsg != null and invalidMsg != ''">
invalid_msg = #{invalidMsg},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag},
</if>
</set>
where renewal_id = #{renewalId}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from tab_haoban_renewal_user where renewal_id = #{renewalId}
</delete>
</mapper>
......@@ -250,6 +250,9 @@
<if test="type != null and type ==1 ">
and wx_enterprise_id = #{wxEnterpriseId}
</if>
<if test="orderType != null">
and order_type = #{orderType}
</if>
order by create_time desc
</select>
......
......@@ -136,6 +136,13 @@ public class StaffController extends WebBaseController {
StaffListDTO dto = EntityUtil.changeEntityByJSON(StaffListDTO.class, qo);
dto.setWxEnterpriseId(wxEnterpriseId);
dto.setDepartmentIds(departmentIds);
if (qo.getGetAllFlag() == 1){
//续期订单需要查询所有数据
BasePageInfo basePageInfo = new BasePageInfo();
basePageInfo.setPageNum(1);
basePageInfo.setPageSize(Integer.MAX_VALUE);
dto.setPageInfo(basePageInfo);
}
Page<StaffDTO> page = staffApiService.pageStaff(dto);
logger.info("pages={},totalPage={}", page.getCurrentPage(), page.getTotalPage());
......@@ -465,7 +472,7 @@ public class StaffController extends WebBaseController {
@RequestMapping("staff-export")
public HaobanResponse staffExport(HttpServletRequest request, HttpServletResponse response,String departmentId, Integer activeFlag, Integer relationFlag,
String keyWord, String permitState,BasePageInfo pageInfo,@RequestParam(defaultValue = "create_time") String sortField,
@RequestParam(defaultValue = "desc") String sortType,String enterpriseIdParam) {
@RequestParam(defaultValue = "desc") String sortType,String enterpriseIdParam,String startTime,String endTime) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
if(StringUtils.isBlank(departmentId)){
......@@ -490,6 +497,8 @@ public class StaffController extends WebBaseController {
dto.setSortField(sortField);
dto.setSortType(sortType);
dto.setEnterpriseIdParam(enterpriseIdParam);
dto.setStartTime(startTime);
dto.setEndTime(endTime);
pageInfo.setPageSize(Integer.MAX_VALUE);
int pageNum = 1;
while (true) {
......
......@@ -27,7 +27,7 @@ public class StaffListQO implements Serializable {
*/
private String keyWord;
/**
* 许可状态 0 未激活,1 正常有效,2 即将过期,3 已过期,可多传,按‘,’隔开
* 许可状态 0 未激活,1 正常有效,2 即将过期,3 已过期,4 查询可以续期的成员(即状态是1、2、3的成员)
*/
private String permitState;
/**
......@@ -50,6 +50,42 @@ public class StaffListQO implements Serializable {
* 分页参数
*/
private BasePageInfo pageInfo;
/**
* 许可到期时间区间查询
*/
private String startTime;
/**
* 许可到期时间区间查询
*/
private String endTime;
/**
* 是否查询全部 0 否 1是 默认0
*/
private Integer getAllFlag = 0;
public Integer getGetAllFlag() {
return getAllFlag;
}
public void setGetAllFlag(Integer getAllFlag) {
this.getAllFlag = getAllFlag;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getDepartmentId() {
return departmentId;
......
package com.gic.haoban.manage.web.qo.licence;
import com.gic.api.base.commons.BasePageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderPageQO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
}
package com.gic.haoban.manage.web.qo.licence;
import com.gic.api.base.commons.BasePageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderPageQO extends BasePageInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单编号
*/
private String orderNumber;
/**
* 订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:已退款,5:审核中
*/
private Integer orderStatus;
/**
* 企业微信订单id
*/
private String qywxOrderId;
/**
* 企业微信订单状态,0:待支付,1:已支付,2:已取消,3:已过期,4:退款中,5:退款被拒绝,6:已退款,7已失效
*/
private Integer qywxOrderStatus;
/**
* 订单创建开始时间
*/
private String startTime;
/**
* 订单创建结束时间
*/
private String endTime;
/**
* 订单类型,1:购买帐号,2:续期帐号
*/
private Integer orderType;
}
package com.gic.haoban.manage.web.qo.licence;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderQO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单类型,1:购买帐号,2:续期帐号
*/
private Integer orderType;
/**
* 互通帐号个数
*/
private Integer externalContactCount;
// /**
// * 基础帐号个数
// */
// private Integer baseCount;
/**
* 订单金额,单位分
*/
private Integer price;
/**
* 购买时间类型 1:按月购买,2:按天购买
*/
private Integer timeType;
/**
* 购买的时间数值
*/
private Integer timeValue;
/**
* 支付类型 1在线支付 2对公转账
*/
private Integer payType;
/**
* 校验金额
*/
public Integer checkPrice(){
if (this.externalContactCount ==null || this.externalContactCount<0){
return -1;
}
Integer myPrice=0;
//根据企业微信的计费规则计算
if (this.externalContactCount<=5){
myPrice = 50*this.externalContactCount;
} else if (this.externalContactCount<=200) {
myPrice = 250+40*(this.externalContactCount-5);
} else if (this.externalContactCount<=500) {
myPrice = 8050+30*(this.externalContactCount-200);
} else if (this.externalContactCount<=1000) {
myPrice = 17050+20*(this.externalContactCount-500);
} else if (this.externalContactCount<=10000) {
myPrice = 27050+10*(this.externalContactCount-1000);
}else {
return -1;
}
//转化为分
myPrice = myPrice*this.timeValue*100;
if (this.timeType == 1){
//企业微信的规则: 12.312,最终保留的是12.32
if (myPrice%12==0){
myPrice = myPrice/12;
}else {
myPrice = myPrice/12+1;
}
}else {
if (myPrice%372==0){
myPrice = myPrice/372;
}else {
myPrice = myPrice/372+1;
}
}
if (!this.price .equals(myPrice)){
return 0;
}
return 1;
}
}
package com.gic.haoban.manage.web.qo.licence;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author jx
* @since 2023-03-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LicenceOrderQO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单类型,1:购买帐号,2:续期帐号
*/
private Integer orderType;
/**
* 互通帐号个数
*/
private Integer externalContactCount;
// /**
// * 基础帐号个数
// */
// private Integer baseCount;
/**
* 订单金额,单位分
*/
private Integer price;
/**
* 购买时间类型 1:按月购买,2:按天购买
*/
private Integer timeType;
/**
* 购买的时间数值
*/
private Integer timeValue;
/**
* 支付类型 1在线支付 2对公转账
*/
private Integer payType;
/**
* 续期成员staffIdList
*/
private List<String> staffIdList;
/**
* 校验金额
*/
public Integer checkPrice(){
if (this.externalContactCount ==null || this.externalContactCount<0){
return -1;
}
Integer myPrice=0;
//根据企业微信的计费规则计算
if (this.externalContactCount<=5){
myPrice = 50*this.externalContactCount;
} else if (this.externalContactCount<=200) {
myPrice = 250+40*(this.externalContactCount-5);
} else if (this.externalContactCount<=500) {
myPrice = 8050+30*(this.externalContactCount-200);
} else if (this.externalContactCount<=1000) {
myPrice = 17050+20*(this.externalContactCount-500);
} else if (this.externalContactCount<=10000) {
myPrice = 27050+10*(this.externalContactCount-1000);
}else {
return -1;
}
//转化为分
myPrice = myPrice*this.timeValue*100;
if (this.timeType == 1){
//企业微信的规则: 12.312,最终保留的是12.32
if (myPrice%12==0){
myPrice = myPrice/12;
}else {
myPrice = myPrice/12+1;
}
}else {
if (myPrice%372==0){
myPrice = myPrice/372;
}else {
myPrice = myPrice/372+1;
}
}
if (!this.price .equals(myPrice)){
return 0;
}
return 1;
}
}
......@@ -50,6 +50,18 @@ public class StaffActiveDataVO implements Serializable {
* 已合并许可总数
*/
private Integer merged;
/**
* 即将过期的许可总数
*/
private Integer expiring;
public Integer getExpiring() {
return expiring;
}
public void setExpiring(Integer expiring) {
this.expiring = expiring;
}
public Integer getMerged() {
return merged;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment