Commit 96f75e6e by 墨竹

feat:新增好办同意隐私协议接口

parent 358d512b
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
/**
* 员工登录
*
* @author mozhu
* @date 2021/12/10 15:00
*/
public class StaffLoginDTO implements Serializable {
private static final long serialVersionUID = -170574390217887304L;
private String staffId;
private String wxEnterpriseId;
private String phoneNumber;
private String nationcode;
private String wxUserId;
/**
* 是否同意隐私协议,1:是;0:否
*/
private Integer privacyUseFlag;
/**
* 好办版本
*/
private String welldoneVersion;
/**
* 企微版本
*/
private String weworkVersion;
/**
* 用户手机品牌
*/
private String staffPhoneBrand;
/**
* 用户手机型号
*/
private String staffPhoneModel;
/**
* 用户手机版本
*/
private String staffPhoneVersion;
/**
* 登录ip
*/
private String staffIp;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getNationcode() {
return nationcode;
}
public void setNationcode(String nationcode) {
this.nationcode = nationcode;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public Integer getPrivacyUseFlag() {
return privacyUseFlag;
}
public void setPrivacyUseFlag(Integer privacyUseFlag) {
this.privacyUseFlag = privacyUseFlag;
}
public String getWelldoneVersion() {
return welldoneVersion;
}
public void setWelldoneVersion(String welldoneVersion) {
this.welldoneVersion = welldoneVersion;
}
public String getWeworkVersion() {
return weworkVersion;
}
public void setWeworkVersion(String weworkVersion) {
this.weworkVersion = weworkVersion;
}
public String getStaffPhoneBrand() {
return staffPhoneBrand;
}
public void setStaffPhoneBrand(String staffPhoneBrand) {
this.staffPhoneBrand = staffPhoneBrand;
}
public String getStaffPhoneModel() {
return staffPhoneModel;
}
public void setStaffPhoneModel(String staffPhoneModel) {
this.staffPhoneModel = staffPhoneModel;
}
public String getStaffPhoneVersion() {
return staffPhoneVersion;
}
public void setStaffPhoneVersion(String staffPhoneVersion) {
this.staffPhoneVersion = staffPhoneVersion;
}
public String getStaffIp() {
return staffIp;
}
public void setStaffIp(String staffIp) {
this.staffIp = staffIp;
}
}
......@@ -154,4 +154,13 @@ public interface WxEnterpriseApiService {
* @date 2021-11-30 19:14:08
*/
void agreeExternalUseridCallBack(String corpId, String serviceCorpId);
/**
* 好办登录
*
* @param staffLoginDTO 员工登录dto
* @author mozhu
* @date 2021-12-15 11:02:52
*/
void wellDoneLogin(StaffLoginDTO staffLoginDTO);
}
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabStaffPrivacyUseLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author xuwenqian
* @date 2021/12/15 10:35
*/
@Mapper
public interface StaffPrivacyUseLogMapper {
/**
* 新增
*
* @param tabStaffPrivacyUseLog 选项卡的员工隐私使用日志
* @return int
* @author mozhu
* @date 2021-12-15 10:41:51
*/
int insert(TabStaffPrivacyUseLog tabStaffPrivacyUseLog);
/**
* 更新
*
* @param tabStaffPrivacyUseLog 选项卡的员工隐私使用日志
* @return int
* @author mozhu
* @date 2021-12-15 10:44:22
*/
int update(TabStaffPrivacyUseLog tabStaffPrivacyUseLog);
/**
* 查询
*
* @param staffId 员工id
* @return {@link List<TabStaffPrivacyUseLog> }
* @author mozhu
* @date 2021-12-15 10:49:02
*/
List<TabStaffPrivacyUseLog> getByStaffId(@Param("staffId") String staffId);
}
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* @author mozhu
* @date 2021/12/15 10:34
*/
public class TabStaffPrivacyUseLog implements Serializable {
private static final long serialVersionUID = -5237810468345263967L;
/**
* id
*/
private Long id;
/**
* 员工id
*/
private String staffId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 是否同意隐私协议,1:是;0:否
*/
private Integer privacyUseFlag;
/**
* 手机号
*/
private String phoneNumber;
/**
* 好办版本
*/
private String welldoneVersion;
/**
* 企微版本
*/
private String weworkVersion;
/**
* 用户手机品牌
*/
private String staffPhoneBrand;
/**
* 用户手机型号
*/
private String staffPhoneModel;
/**
* 用户手机版本
*/
private String staffPhoneVersion;
/**
* 登录ip
*/
private String staffIp;
/**
* create_time
*/
private Date createTime;
/**
* update_time
*/
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getPrivacyUseFlag() {
return privacyUseFlag;
}
public void setPrivacyUseFlag(Integer privacyUseFlag) {
this.privacyUseFlag = privacyUseFlag;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getWelldoneVersion() {
return welldoneVersion;
}
public void setWelldoneVersion(String welldoneVersion) {
this.welldoneVersion = welldoneVersion;
}
public String getWeworkVersion() {
return weworkVersion;
}
public void setWeworkVersion(String weworkVersion) {
this.weworkVersion = weworkVersion;
}
public String getStaffPhoneBrand() {
return staffPhoneBrand;
}
public void setStaffPhoneBrand(String staffPhoneBrand) {
this.staffPhoneBrand = staffPhoneBrand;
}
public String getStaffPhoneModel() {
return staffPhoneModel;
}
public void setStaffPhoneModel(String staffPhoneModel) {
this.staffPhoneModel = staffPhoneModel;
}
public String getStaffPhoneVersion() {
return staffPhoneVersion;
}
public void setStaffPhoneVersion(String staffPhoneVersion) {
this.staffPhoneVersion = staffPhoneVersion;
}
public String getStaffIp() {
return staffIp;
}
public void setStaffIp(String staffIp) {
this.staffIp = staffIp;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.service.pojo.bo;
import java.io.Serializable;
import java.util.Date;
/**
* @author mozhu
* @date 2021/12/15 10:47
*/
public class StaffPrivacyUseLogBO implements Serializable {
private static final long serialVersionUID = -6881666081809981502L;
/**
* id
*/
private Long id;
/**
* 员工id
*/
private String staffId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 是否同意隐私协议,1:是;0:否
*/
private Integer privacyUseFlag;
/**
* 手机号
*/
private String phoneNumber;
/**
* 好办版本
*/
private String welldoneVersion;
/**
* 企微版本
*/
private String weworkVersion;
/**
* 用户手机品牌
*/
private String staffPhoneBrand;
/**
* 用户手机型号
*/
private String staffPhoneModel;
/**
* 用户手机版本
*/
private String staffPhoneVersion;
/**
* 登录ip
*/
private String staffIp;
/**
* create_time
*/
private Date createTime;
/**
* update_time
*/
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getPrivacyUseFlag() {
return privacyUseFlag;
}
public void setPrivacyUseFlag(Integer privacyUseFlag) {
this.privacyUseFlag = privacyUseFlag;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getWelldoneVersion() {
return welldoneVersion;
}
public void setWelldoneVersion(String welldoneVersion) {
this.welldoneVersion = welldoneVersion;
}
public String getWeworkVersion() {
return weworkVersion;
}
public void setWeworkVersion(String weworkVersion) {
this.weworkVersion = weworkVersion;
}
public String getStaffPhoneBrand() {
return staffPhoneBrand;
}
public void setStaffPhoneBrand(String staffPhoneBrand) {
this.staffPhoneBrand = staffPhoneBrand;
}
public String getStaffPhoneModel() {
return staffPhoneModel;
}
public void setStaffPhoneModel(String staffPhoneModel) {
this.staffPhoneModel = staffPhoneModel;
}
public String getStaffPhoneVersion() {
return staffPhoneVersion;
}
public void setStaffPhoneVersion(String staffPhoneVersion) {
this.staffPhoneVersion = staffPhoneVersion;
}
public String getStaffIp() {
return staffIp;
}
public void setStaffIp(String staffIp) {
this.staffIp = staffIp;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.service.pojo.vo;
import java.io.Serializable;
import java.util.Date;
/**
* 选项卡员工隐私使用日志签证官
*
* @author xuwenqian
* @date 2021/12/15 10:50
*/
public class TabStaffPrivacyUseLogVO implements Serializable {
private static final long serialVersionUID = 7052985210668349045L;
/**
* id
*/
private Long id;
/**
* 员工id
*/
private String staffId;
/**
* 微信企业id
*/
private String wxEnterpriseId;
/**
* 是否同意隐私协议,1:是;0:否
*/
private Integer privacyUseFlag;
/**
* 手机号
*/
private String phoneNumber;
/**
* 好办版本
*/
private String welldoneVersion;
/**
* 企微版本
*/
private String weworkVersion;
/**
* 用户手机品牌
*/
private String staffPhoneBrand;
/**
* 用户手机型号
*/
private String staffPhoneModel;
/**
* 用户手机版本
*/
private String staffPhoneVersion;
/**
* 登录ip
*/
private String staffIp;
/**
* create_time
*/
private Date createTime;
/**
* update_time
*/
private Date updateTime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public Integer getPrivacyUseFlag() {
return privacyUseFlag;
}
public void setPrivacyUseFlag(Integer privacyUseFlag) {
this.privacyUseFlag = privacyUseFlag;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getWelldoneVersion() {
return welldoneVersion;
}
public void setWelldoneVersion(String welldoneVersion) {
this.welldoneVersion = welldoneVersion;
}
public String getWeworkVersion() {
return weworkVersion;
}
public void setWeworkVersion(String weworkVersion) {
this.weworkVersion = weworkVersion;
}
public String getStaffPhoneBrand() {
return staffPhoneBrand;
}
public void setStaffPhoneBrand(String staffPhoneBrand) {
this.staffPhoneBrand = staffPhoneBrand;
}
public String getStaffPhoneModel() {
return staffPhoneModel;
}
public void setStaffPhoneModel(String staffPhoneModel) {
this.staffPhoneModel = staffPhoneModel;
}
public String getStaffPhoneVersion() {
return staffPhoneVersion;
}
public void setStaffPhoneVersion(String staffPhoneVersion) {
this.staffPhoneVersion = staffPhoneVersion;
}
public String getStaffIp() {
return staffIp;
}
public void setStaffIp(String staffIp) {
this.staffIp = staffIp;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO;
import com.gic.haoban.manage.service.pojo.vo.TabStaffPrivacyUseLogVO;
import java.util.List;
/**
* @author xuwenqian
* @date 2021/12/15 10:46
*/
public interface StaffPrivacyUseLogService {
/**
* 新增
*
* @param staffPrivacyUseLogBO 选项卡员工隐私使用日志bo
* @return int
* @author mozhu
* @date 2021-12-15 10:51:51
*/
int insert(StaffPrivacyUseLogBO staffPrivacyUseLogBO);
/**
* 更新
*
* @param staffPrivacyUseLogBO 选项卡员工隐私使用日志bo
* @return int
* @author mozhu
* @date 2021-12-15 10:51:53
*/
int update(StaffPrivacyUseLogBO staffPrivacyUseLogBO);
/**
* 查询
*
* @param staffId 员工id
* @return {@link List<TabStaffPrivacyUseLogVO> }
* @author mozhu
* @date 2021-12-15 10:51:32
*/
List<TabStaffPrivacyUseLogVO> getByStaffId(String staffId);
}
package com.gic.haoban.manage.service.service.impl;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.manage.service.dao.mapper.StaffPrivacyUseLogMapper;
import com.gic.haoban.manage.service.entity.TabStaffPrivacyUseLog;
import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO;
import com.gic.haoban.manage.service.pojo.vo.TabStaffPrivacyUseLogVO;
import com.gic.haoban.manage.service.service.StaffPrivacyUseLogService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @author xuwenqian
* @date 2021/12/15 10:46
*/
@Service
public class StaffPrivacyUseLogServiceImpl implements StaffPrivacyUseLogService {
@Autowired
private StaffPrivacyUseLogMapper staffPrivacyUseLogMapper;
@Override
public int insert(StaffPrivacyUseLogBO staffPrivacyUseLogBO) {
TabStaffPrivacyUseLog tabStaffPrivacyUseLog = new TabStaffPrivacyUseLog();
BeanUtils.copyProperties(staffPrivacyUseLogBO, tabStaffPrivacyUseLog);
Date date = new Date();
tabStaffPrivacyUseLog.setCreateTime(date);
tabStaffPrivacyUseLog.setUpdateTime(date);
return staffPrivacyUseLogMapper.insert(tabStaffPrivacyUseLog);
}
@Override
public int update(StaffPrivacyUseLogBO staffPrivacyUseLogBO) {
TabStaffPrivacyUseLog tabStaffPrivacyUseLog = new TabStaffPrivacyUseLog();
BeanUtils.copyProperties(staffPrivacyUseLogBO, tabStaffPrivacyUseLog);
Date date = new Date();
tabStaffPrivacyUseLog.setUpdateTime(date);
return staffPrivacyUseLogMapper.update(tabStaffPrivacyUseLog);
}
@Override
public List<TabStaffPrivacyUseLogVO> getByStaffId(String staffId) {
List<TabStaffPrivacyUseLog> staffPrivacyUseLogList = staffPrivacyUseLogMapper.getByStaffId(staffId);
return EntityUtil.changeEntityListByOrika(TabStaffPrivacyUseLogVO.class, staffPrivacyUseLogList);
}
}
......@@ -17,15 +17,14 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxApplication;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabMiniprogramSetting;
import com.gic.haoban.manage.service.entity.TabWelcome;
import com.gic.haoban.manage.service.service.MiniprogramSettingService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxApplicationService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO;
import com.gic.haoban.manage.service.service.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -52,6 +51,8 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
private MiniprogramSettingService miniprogramSettingService;
@Autowired
private TabHaobanWelcomeMapper welcomeMapper;
@Autowired
private StaffPrivacyUseLogService staffPrivacyUseLogService;
@Override
public void callbackReviceEnterprise(QywxCorpInfoSimpleDTO dto) {
......@@ -295,4 +296,12 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
wxEnterpriseService.update(wxEnterpriseDTO);
}
@Override
public void wellDoneLogin(StaffLoginDTO staffLoginDTO) {
//插入隐私协议
StaffPrivacyUseLogBO staffPrivacyUseLogBO = new StaffPrivacyUseLogBO();
BeanUtils.copyProperties(staffLoginDTO, staffPrivacyUseLogBO);
staffPrivacyUseLogService.insert(staffPrivacyUseLogBO);
}
}
<?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.StaffPrivacyUseLogMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabStaffPrivacyUseLog">
<result column="id" property="id"/>
<result column="staff_id" property="staffId"/>
<result column="wx_enterprise_id" property="wxEnterpriseId"/>
<result column="privacy_use_flag" property="privacyUseFlag"/>
<result column="phone_number" property="phoneNumber"/>
<result column="welldone_version" property="welldoneVersion"/>
<result column="wework_version" property="weworkVersion"/>
<result column="staff_phone_brand" property="staffPhoneBrand"/>
<result column="staff_phone_model" property="staffPhoneModel"/>
<result column="staff_phone_version" property="staffPhoneVersion"/>
<result column="staff_ip" property="staffIp"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="Base_Column_List">
id,
staff_id,
wx_enterprise_id,
privacy_use_flag,
phone_number,
welldone_version,
wework_version,
staff_phone_brand,
staff_phone_model,
staff_phone_version,
staff_ip,
create_time,
update_time
</sql>
<insert id="insert" useGeneratedKeys="true" keyColumn="id" keyProperty="id"
parameterType="com.gic.haoban.manage.service.entity.TabStaffPrivacyUseLog">
INSERT INTO tab_staff_privacy_use_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != staffId and '' != staffId">
staff_id,
</if>
<if test="null != wxEnterpriseId and '' != wxEnterpriseId">
wx_enterprise_id,
</if>
<if test="null != privacyUseFlag and '' != privacyUseFlag">
privacy_use_flag,
</if>
<if test="null != phoneNumber and '' != phoneNumber">
phone_number,
</if>
<if test="null != welldoneVersion and '' != welldoneVersion">
welldone_version,
</if>
<if test="null != weworkVersion and '' != weworkVersion">
wework_version,
</if>
<if test="null != staffPhoneBrand and '' != staffPhoneBrand">
staff_phone_brand,
</if>
<if test="null != staffPhoneModel and '' != staffPhoneModel">
staff_phone_model,
</if>
<if test="null != staffPhoneVersion and '' != staffPhoneVersion">
staff_phone_version,
</if>
<if test="null != staffIp and '' != staffIp">
staff_ip,
</if>
<if test="null != createTime and '' != createTime">
create_time,
</if>
<if test="null != updateTime and '' != updateTime">
update_time
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != staffId and '' != staffId">
#{staffId},
</if>
<if test="null != wxEnterpriseId and '' != wxEnterpriseId">
#{wxEnterpriseId},
</if>
<if test="null != privacyUseFlag and '' != privacyUseFlag">
#{privacyUseFlag},
</if>
<if test="null != phoneNumber and '' != phoneNumber">
#{phoneNumber},
</if>
<if test="null != welldoneVersion and '' != welldoneVersion">
#{welldoneVersion},
</if>
<if test="null != weworkVersion and '' != weworkVersion">
#{weworkVersion},
</if>
<if test="null != staffPhoneBrand and '' != staffPhoneBrand">
#{staffPhoneBrand},
</if>
<if test="null != staffPhoneModel and '' != staffPhoneModel">
#{staffPhoneModel},
</if>
<if test="null != staffPhoneVersion and '' != staffPhoneVersion">
#{staffPhoneVersion},
</if>
<if test="null != staffIp and '' != staffIp">
#{staffIp},
</if>
<if test="null != createTime and '' != createTime">
#{createTime},
</if>
<if test="null != updateTime and '' != updateTime">
#{updateTime}
</if>
</trim>
</insert>
<update id="update" parameterType="com.gic.haoban.manage.service.entity.TabStaffPrivacyUseLog">
UPDATE tab_staff_privacy_use_log
<set>
<if test="null != staffId and '' != staffId">staff_id = #{staffId},</if>
<if test="null != wxEnterpriseId and '' != wxEnterpriseId">wx_enterprise_id = #{wxEnterpriseId},</if>
<if test="null != privacyUseFlag and '' != privacyUseFlag">privacy_use_flag = #{privacyUseFlag},</if>
<if test="null != phoneNumber and '' != phoneNumber">phone_number = #{phoneNumber},</if>
<if test="null != welldoneVersion and '' != welldoneVersion">welldone_version = #{welldoneVersion},</if>
<if test="null != weworkVersion and '' != weworkVersion">wework_version = #{weworkVersion},</if>
<if test="null != staffPhoneBrand and '' != staffPhoneBrand">staff_phone_brand = #{staffPhoneBrand},</if>
<if test="null != staffPhoneModel and '' != staffPhoneModel">staff_phone_model = #{staffPhoneModel},</if>
<if test="null != staffPhoneVersion and '' != staffPhoneVersion">staff_phone_version =
#{staffPhoneVersion},
</if>
<if test="null != staffIp and '' != staffIp">staff_ip = #{staffIp},</if>
<if test="null != createTime and '' != createTime">create_time = #{createTime},</if>
<if test="null != updateTime and '' != updateTime">update_time = #{updateTime}</if>
</set>
WHERE id = #{id}
</update>
<select id="getByStaffId" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM tab_staff_privacy_use_log
WHERE staff_id = #{staffId}
</select>
</mapper>
\ No newline at end of file
......@@ -27,6 +27,7 @@ import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo;
import com.gic.haoban.manage.web.qo.MemberLoginQo;
import com.gic.haoban.manage.web.qo.StaffLoginQO;
import com.gic.haoban.manage.web.utils.IPAddressUtil;
import com.gic.haoban.manage.web.utils.JwtUtil;
import com.gic.haoban.manage.web.vo.AppStaffVo;
import com.gic.haoban.manage.web.vo.MemberSendMessageVo;
......@@ -40,12 +41,14 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
......@@ -171,7 +174,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
*/
@RequestMapping(value = "welldone-login", method = RequestMethod.POST)
@IgnoreLogin
public HaobanResponse welldoneLogin(@RequestBody StaffLoginQO staffLoginQO) {
public HaobanResponse welldoneLogin(@RequestBody StaffLoginQO staffLoginQO, HttpServletRequest request) {
StaffDTO staffDTO = staffApiService.selectById(staffLoginQO.getStaffId());
if (staffDTO == null) {
return resultResponse(HaoBanErrCode.ERR_6);
......@@ -182,6 +185,10 @@ public class WxEnterpriseInfoController extends WebBaseController {
map.put("phoneNumber", staffDTO.getPhoneNumber());
String token = JwtUtil.genToken(map);
AuthRequestWellDoneUtil.setAppLoginUser(token, BeanUtil.mapToBean(map, WellDoneLoginDTO.class, false));
StaffLoginDTO staffLoginDTO = new StaffLoginDTO();
BeanUtils.copyProperties(staffLoginQO, staffLoginDTO);
staffLoginDTO.setStaffIp(IPAddressUtil.getIpAddress(request));
wxEnterpriseApiService.wellDoneLogin(staffLoginDTO);
return resultResponse(HaoBanErrCode.ERR_1, token);
}
......@@ -326,6 +333,12 @@ public class WxEnterpriseInfoController extends WebBaseController {
return user;
}
/**
* 好办点击进来日志表
*
* @param userLoginLogDTO
* @return
*/
@RequestMapping("save-user-login-log")
public HaobanResponse saveUserLoginLog(UserLoginLogDTO userLoginLogDTO) {
staffApiService.insertUserLoginLog(userLoginLogDTO);
......
package com.gic.haoban.manage.web.interceptor;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.web.anno.HttpLimit;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.utils.IPAddressUtil;
import com.gic.redis.data.util.RedisUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.method.HandlerMethod;
......@@ -17,6 +13,9 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
/**
* 测试登录拦截器
......@@ -25,7 +24,7 @@ import javax.servlet.http.HttpServletResponse;
*/
public class HttpLimitInterceptor extends HandlerInterceptorAdapter {
private static Logger logger = LoggerFactory.getLogger(HttpLimitInterceptor.class);
private static final Logger logger = LoggerFactory.getLogger(HttpLimitInterceptor.class);
private void errorResult(HttpServletResponse httpServletResponse, HaoBanErrCode errCode) {
HaobanResponse response = new HaobanResponse();
......@@ -52,7 +51,7 @@ public class HttpLimitInterceptor extends HandlerInterceptorAdapter {
HandlerMethod handler = (HandlerMethod) o;
HttpLimit httpLimit = handler.getMethodAnnotation(HttpLimit.class);
if (httpLimit != null) {
String ip = getIpAddress(httpServletRequest);
String ip = IPAddressUtil.getIpAddress(httpServletRequest);
String url = httpServletRequest.getRequestURL().toString();
String key = "http_limit_".concat(url);
key = key + ip;
......@@ -68,27 +67,5 @@ public class HttpLimitInterceptor extends HandlerInterceptorAdapter {
}
private String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.web.qo;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
......@@ -20,6 +21,37 @@ public class StaffLoginQO implements Serializable {
private String nationcode;
private String wxUserId;
/**
* 是否同意隐私协议,1:是;0:否
*/
@NotNull(message = "是否同意隐私协议不允许为空")
private Integer privacyUseFlag;
/**
* 好办版本
*/
private String welldoneVersion;
/**
* 企微版本
*/
private String weworkVersion;
/**
* 用户手机品牌
*/
private String staffPhoneBrand;
/**
* 用户手机型号
*/
private String staffPhoneModel;
/**
* 用户手机版本
*/
private String staffPhoneVersion;
public String getStaffId() {
return staffId;
}
......@@ -59,4 +91,52 @@ public class StaffLoginQO implements Serializable {
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
public Integer getPrivacyUseFlag() {
return privacyUseFlag;
}
public void setPrivacyUseFlag(Integer privacyUseFlag) {
this.privacyUseFlag = privacyUseFlag;
}
public String getWelldoneVersion() {
return welldoneVersion;
}
public void setWelldoneVersion(String welldoneVersion) {
this.welldoneVersion = welldoneVersion;
}
public String getWeworkVersion() {
return weworkVersion;
}
public void setWeworkVersion(String weworkVersion) {
this.weworkVersion = weworkVersion;
}
public String getStaffPhoneBrand() {
return staffPhoneBrand;
}
public void setStaffPhoneBrand(String staffPhoneBrand) {
this.staffPhoneBrand = staffPhoneBrand;
}
public String getStaffPhoneModel() {
return staffPhoneModel;
}
public void setStaffPhoneModel(String staffPhoneModel) {
this.staffPhoneModel = staffPhoneModel;
}
public String getStaffPhoneVersion() {
return staffPhoneVersion;
}
public void setStaffPhoneVersion(String staffPhoneVersion) {
this.staffPhoneVersion = staffPhoneVersion;
}
}
package com.gic.haoban.manage.web.utils;
import javax.servlet.http.HttpServletRequest;
/**
* @author mozhu
* @date 2021/12/15 11:07
*/
public class IPAddressUtil {
/**
* 获得ip地址
*
* @param request 请求
* @return {@link String }
* @author mozhu
* @date 2021-12-15 11:08:30
*/
public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
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