Commit 1015d07c by fudahua

Merge remote-tracking branch 'origin/developer' into developer

parents fb23ffa9 1a0138be
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
public class HelpDTO implements Serializable {
private String helpId;
private String helpTitle;
private String helpUrl;
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private Integer openFlag;
private String editPersion;
private Integer sort;
private static final long serialVersionUID = 1L;
public String getHelpId() {
return helpId;
}
public void setHelpId(String helpId) {
this.helpId = helpId == null ? null : helpId.trim();
}
public String getHelpTitle() {
return helpTitle;
}
public void setHelpTitle(String helpTitle) {
this.helpTitle = helpTitle == null ? null : helpTitle.trim();
}
public String getHelpUrl() {
return helpUrl;
}
public void setHelpUrl(String helpUrl) {
this.helpUrl = helpUrl == null ? null : helpUrl.trim();
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
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;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public String getEditPersion() {
return editPersion;
}
public void setEditPersion(String editPersion) {
this.editPersion = editPersion == null ? null : editPersion.trim();
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
import java.util.Date;
import org.springframework.util.StringUtils;
public class WxEnterpriseDTO implements Serializable {
private String wxEnterpriseId;
......@@ -62,6 +64,18 @@ public class WxEnterpriseDTO implements Serializable {
private String memberSecret;
private String contactSecret;
private Boolean wxSecretKeyFlag;
private Boolean memberSecretFlag;
private Boolean contactSecretFlag;
private Date wxSecretKeyLastTime;
private Date contactSecretLastTime;
private Date memberSecretLastTime;
private Date createTime;
......@@ -327,7 +341,55 @@ public class WxEnterpriseDTO implements Serializable {
this.contactSecret = contactSecret;
}
public Date getWxSecretKeyLastTime() {
return wxSecretKeyLastTime;
}
public void setWxSecretKeyLastTime(Date wxSecretKeyLastTime) {
this.wxSecretKeyLastTime = wxSecretKeyLastTime;
}
public Date getContactSecretLastTime() {
return contactSecretLastTime;
}
public void setContactSecretLastTime(Date contactSecretLastTime) {
this.contactSecretLastTime = contactSecretLastTime;
}
public Date getMemberSecretLastTime() {
return memberSecretLastTime;
}
public void setMemberSecretLastTime(Date memberSecretLastTime) {
this.memberSecretLastTime = memberSecretLastTime;
}
public Boolean getWxSecretKeyFlag() {
return !StringUtils.isEmpty(this.wxSecretKey);
}
public void setWxSecretKeyFlag(Boolean wxSecretKeyFlag) {
this.wxSecretKeyFlag = wxSecretKeyFlag;
}
public Boolean getMemberSecretFlag() {
return !StringUtils.isEmpty(this.memberSecret);
}
public void setMemberSecretFlag(Boolean memberSecretFlag) {
this.memberSecretFlag = memberSecretFlag;
}
public Boolean getContactSecretFlag() {
return !StringUtils.isEmpty(this.contactSecret);
}
public void setContactSecretFlag(Boolean contactSecretFlag) {
this.contactSecretFlag = contactSecretFlag;
}
}
package com.gic.haoban.manage.api.service;
import java.util.List;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.manage.api.dto.HelpDTO;
/**
* Created by tgs on 2020/2/9.
*/
public interface HelpApiService {
int saveHelp(HelpDTO dto);
HelpDTO findOneHelp(String helpId);
Page<HelpDTO> pageList(BasePageInfo pageInfo);
void deleteOne(String helpId);
List<HelpDTO> getList();
}
......@@ -21,4 +21,6 @@ public interface MemberUnionidRelatedApiService {
String add(String wxEnterpriseId, String selfExternalUserId, String userId1);
void freshWxFrend(String wxEnterpriseId, String wxUserId);
}
package com.gic.haoban.manage.web.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.Page;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.DictDTO;
import com.gic.haoban.manage.api.dto.HelpDTO;
import com.gic.haoban.manage.api.service.DictApiService;
import com.gic.haoban.manage.api.service.HelpApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
@RestController
public class HelpController extends WebBaseController{
private static final String LOGIN_URL = "/haoban-manage3-web/yw-login";
private static Logger logger = LoggerFactory.getLogger(HelpController.class);
@Autowired
private HelpApiService helpApiService;
//获帮助列表
@RequestMapping("get-help-list")
public HaobanResponse getDictList(BasePageInfo pageInfo) {
Page<HelpDTO> page = helpApiService.pageList(pageInfo);
return resultResponse(HaoBanErrCode.ERR_1,page);
}
//保存帮助
@RequestMapping("save-help")
public HaobanResponse saveHelp(HelpDTO dto) {
int i = helpApiService.saveHelp(dto);
if(i == 8){
return resultResponse(HaoBanErrCode.ERR_10006);
}
return resultResponse(HaoBanErrCode.ERR_1);
}
//查看帮助详情
@RequestMapping("find-help-detail")
public HaobanResponse findDictDetail(String helpId) {
HelpDTO helpDTO = helpApiService.findOneHelp(helpId);
return resultResponse(HaoBanErrCode.ERR_1,helpDTO);
}
//删除帮助
@RequestMapping("del-help")
public HaobanResponse deleteDict(String helpId) {
helpApiService.deleteOne(helpId);
return resultResponse(HaoBanErrCode.ERR_1);
}
}
......@@ -31,7 +31,7 @@
<dubbo:reference interface="com.gic.clerk.api.service.ClerkService" id="clerkService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService" id="staffDepartmentRelatedApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.DictApiService" id="dictApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.HelpApiService" id="helpApiService"/>
......
package com.gic.haoban.manage.service.dao.mapper;
import java.util.List;
import com.gic.haoban.manage.api.dto.HelpDTO;
import com.gic.haoban.manage.service.entity.TabHaobanHelp;
import com.github.pagehelper.Page;
public interface TabHaobanHelpMapper {
int deleteByPrimaryKey(String helpId);
int insert(TabHaobanHelp record);
int insertSelective(TabHaobanHelp record);
TabHaobanHelp selectByPrimaryKey(String helpId);
int updateByPrimaryKeySelective(TabHaobanHelp record);
int updateByPrimaryKey(TabHaobanHelp record);
Page<HelpDTO> pageList();
TabHaobanHelp selectByHelpTitle(String helpTitle);
List<TabHaobanHelp> getList();
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
public class TabHaobanHelp implements Serializable {
private String helpId;
private String helpTitle;
private String helpUrl;
private Integer statusFlag;
private Date createTime;
private Date updateTime;
private Integer openFlag;
private String editPersion;
private Integer sort;
private static final long serialVersionUID = 1L;
public String getHelpId() {
return helpId;
}
public void setHelpId(String helpId) {
this.helpId = helpId == null ? null : helpId.trim();
}
public String getHelpTitle() {
return helpTitle;
}
public void setHelpTitle(String helpTitle) {
this.helpTitle = helpTitle == null ? null : helpTitle.trim();
}
public String getHelpUrl() {
return helpUrl;
}
public void setHelpUrl(String helpUrl) {
this.helpUrl = helpUrl == null ? null : helpUrl.trim();
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
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;
}
public Integer getOpenFlag() {
return openFlag;
}
public void setOpenFlag(Integer openFlag) {
this.openFlag = openFlag;
}
public String getEditPersion() {
return editPersion;
}
public void setEditPersion(String editPersion) {
this.editPersion = editPersion == null ? null : editPersion.trim();
}
public Integer getSort() {
return sort;
}
public void setSort(Integer sort) {
this.sort = sort;
}
}
\ No newline at end of file
......@@ -61,6 +61,12 @@ public class TabHaobanWxEnterprise implements Serializable {
private String memberSecret;
private String contactSecret;
private Date wxSecretKeyLastTime;
private Date contactSecretLastTime;
private Date memberSecretLastTime;
private Date createTime;
......@@ -316,6 +322,30 @@ public class TabHaobanWxEnterprise implements Serializable {
this.contactSecret = contactSecret;
}
public Date getWxSecretKeyLastTime() {
return wxSecretKeyLastTime;
}
public void setWxSecretKeyLastTime(Date wxSecretKeyLastTime) {
this.wxSecretKeyLastTime = wxSecretKeyLastTime;
}
public Date getContactSecretLastTime() {
return contactSecretLastTime;
}
public void setContactSecretLastTime(Date contactSecretLastTime) {
this.contactSecretLastTime = contactSecretLastTime;
}
public Date getMemberSecretLastTime() {
return memberSecretLastTime;
}
public void setMemberSecretLastTime(Date memberSecretLastTime) {
this.memberSecretLastTime = memberSecretLastTime;
}
......
package com.gic.haoban.manage.service.service.out.impl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.EntityUtil;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.DictDTO;
import com.gic.haoban.manage.api.dto.HelpDTO;
import com.gic.haoban.manage.api.service.DictApiService;
import com.gic.haoban.manage.api.service.HelpApiService;
import com.gic.haoban.manage.service.dao.mapper.DictMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanHelpMapper;
import com.gic.haoban.manage.service.entity.TabHaobanDict;
import com.gic.haoban.manage.service.entity.TabHaobanHelp;
import com.github.pagehelper.PageHelper;
import java.util.List;
/**
* Created by tgs on 2020/2/9.
*/
@Service
public class HelpApiServiceImpl implements HelpApiService{
@Autowired
private TabHaobanHelpMapper tabHaobanHelpMapper;
@Override
public int saveHelp(HelpDTO dto) {
if(StringUtils.isBlank(dto.getHelpId())){
//空,则新增
dto.setHelpId(UuidUtil.randomUUID());
TabHaobanHelp tab = EntityUtil.changeEntity(TabHaobanHelp.class, dto);
TabHaobanHelp tab1 = tabHaobanHelpMapper.selectByHelpTitle(dto.getHelpTitle());
if(tab1!=null){
return 8;
}
tabHaobanHelpMapper.insert(tab);
}else{
TabHaobanHelp tab = EntityUtil.changeEntity(TabHaobanHelp.class, dto);
tabHaobanHelpMapper.updateByPrimaryKeySelective(tab);
}
return 1;
}
@Override
public HelpDTO findOneHelp(String helpId) {
TabHaobanHelp tab = tabHaobanHelpMapper.selectByPrimaryKey(helpId);
if(tab == null){
return null;
}
HelpDTO dto = EntityUtil.changeEntity(HelpDTO.class, tab);
return dto;
}
@Override
public Page<HelpDTO> pageList(BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
return PageUtil.changePageHelperToCurrentPage( tabHaobanHelpMapper.pageList(),HelpDTO.class);
}
@Override
public void deleteOne(String helpId) {
tabHaobanHelpMapper.deleteByPrimaryKey(helpId);
}
@Override
public List<HelpDTO> getList() {
List<TabHaobanHelp> list = tabHaobanHelpMapper.getList();
return EntityUtil.changeEntityListByJSON(HelpDTO.class, list);
}
}
......@@ -399,27 +399,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
List<TabHaobanWxEnterpriseRelated> list = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterprise.getWxEnterpriseId());
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(wxEnterprise.getCorpid(), wxEnterprise.getWxSecretKey(), selfExternalUserId);
String externalUserId = selfExternalUserId;
// String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), config.getSuiteId(), externalUserId);
// if(StringUtils.isNotBlank(uJ)){
// JSONObject jo = JSON.parseObject(unionIdJson);
// String external_contact = jo.getString("external_contact");
// String uj_follow_user = jo.getString("follow_user");
// if(StringUtils.isNotBlank(uj_follow_user)){
// JSONArray j = JSON.parseArray(uj_follow_user);
// String uj_userId = "";
// for (Object object : j) {
// String followJson = JSON.toJSONString(object);
// JSONObject follow = JSON.parseObject(followJson);
// uj_userId = follow.getString("userid");
// if(uj_userId.equals(userId1)){
//
// }
// }
// }
// }
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
log.info("【新增外部联系人回调】unionIdJson={}",JSON.toJSONString(unionIdJson));
String unionId = "";
String name = "";
......@@ -453,6 +432,42 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
String wxRes = qywxUserApiService.listExternalUserid(wxEnterprise.getCorpid(), config.getSuiteId(), userId1);
JSONObject wxJson = JSON.parseObject(wxRes);
String externalUserId = "";
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
if("0".equals(wxJson.getString("errcode"))){
String external_userid = wxJson.getString("external_userid");
JSONArray jsonArr = wxJson.getJSONArray(external_userid);
String wxName = "";
for (Object externalUserid : jsonArr) {
String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), config.getSuiteId(), externalUserid.toString());
if(StringUtils.isNotBlank(uJ)){
JSONObject jo = JSON.parseObject(unionIdJson);
String external_contact = jo.getString("external_contact");
String uj_follow_user = jo.getString("follow_user");
if(StringUtils.isNotBlank(external_contact)){
JSONObject jt = JSON.parseObject(external_contact);
externalUserId = jt.getString("external_userid");
wxName = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
}
if(StringUtils.isNotBlank(uj_follow_user)){
JSONArray j = JSON.parseArray(uj_follow_user);
String uj_userId = "";
for (Object object : j) {
String followJson = JSON.toJSONString(object);
JSONObject follow = JSON.parseObject(followJson);
uj_userId = follow.getString("userid");
if(uj_userId.equals(userId1) && createTime.equals(follow.getString("createtime")) && name.equals(wxName)){
dto.setExternalUserid(externalUserId);
}
}
}
}
}
}
for (TabHaobanWxEnterpriseRelated tabHaobanWxEnterpriseRelated : list) {
......@@ -553,4 +568,29 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
List<MemberUnionidRelatedDTO> list = memberUnionRelatedService.getByWxUserIdAndWxEnterpriseId(wxUserId,wxEnterpriseId);
return list;
}
@Override
public void freshWxFrend(String wxEnterpriseId, String wxUserId) {
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
String res = qywxUserApiService.listSelfExternalUserid(enterprise.getCorpid(), enterprise.getWxSecretKey(), wxUserId);
if(StringUtils.isBlank(res)){
return;
}
JSONObject json = JSON.parseObject(res);
if("0".equals(json.getString("errcode"))){
String external_userid = json.getString("external_userid");
JSONArray jsonArr = json.getJSONArray(external_userid);
List<MemberUnionidRelatedDTO> list = this.getByWxUserIdAndWxEnterpriseId(wxUserId, wxEnterpriseId);
List<String> externalUserIdList = list.stream().map(student->student.getExternalUserid())
.collect(Collectors.toList());
for (Object object : jsonArr) {
if(externalUserIdList.contains(object.toString())){
continue;
}else{
//String string = qywxUserApiService.getCorpSelfExternalUseridInfo(enterprise.getCorpid(), enterprise.getWxSecretKey(), object.toString());
this.add(wxEnterpriseId, object.toString(), wxUserId);
}
}
}
}
}
......@@ -35,6 +35,7 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.ApplicationSettingApiService" ref="applicationSettingApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.AuditSettingApiService" ref="auditSettingApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.DictApiService" ref="dictApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.HelpApiService" ref="helpApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.AuditApiService" ref="auditApiServiceImpl" timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService" ref="clerkMainStoreRelatedApiServiceImpl" timeout="10000"/>
......
<?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.TabHaobanHelpMapper" >
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.TabHaobanHelp" >
<id column="help_id" property="helpId" jdbcType="VARCHAR" />
<result column="help_title" property="helpTitle" jdbcType="VARCHAR" />
<result column="help_url" property="helpUrl" jdbcType="VARCHAR" />
<result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<result column="open_flag" property="openFlag" jdbcType="INTEGER" />
<result column="edit_persion" property="editPersion" jdbcType="VARCHAR" />
<result column="sort" property="sort" jdbcType="INTEGER" />
</resultMap>
<sql id="Base_Column_List" >
help_id, help_title, help_url, status_flag, create_time, update_time, open_flag,
edit_persion, sort
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_help
where help_id = #{helpId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from tab_haoban_help
where help_id = #{helpId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanHelp" >
insert into tab_haoban_help (help_id, help_title, help_url,
status_flag, create_time, update_time,
open_flag, edit_persion, sort
)
values (#{helpId,jdbcType=VARCHAR}, #{helpTitle,jdbcType=VARCHAR}, #{helpUrl,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{openFlag,jdbcType=INTEGER}, #{editPersion,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanHelp" >
insert into tab_haoban_help
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="helpId != null" >
help_id,
</if>
<if test="helpTitle != null" >
help_title,
</if>
<if test="helpUrl != null" >
help_url,
</if>
<if test="statusFlag != null" >
status_flag,
</if>
<if test="createTime != null" >
create_time,
</if>
<if test="updateTime != null" >
update_time,
</if>
<if test="openFlag != null" >
open_flag,
</if>
<if test="editPersion != null" >
edit_persion,
</if>
<if test="sort != null" >
sort,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="helpId != null" >
#{helpId,jdbcType=VARCHAR},
</if>
<if test="helpTitle != null" >
#{helpTitle,jdbcType=VARCHAR},
</if>
<if test="helpUrl != null" >
#{helpUrl,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
#{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="openFlag != null" >
#{openFlag,jdbcType=INTEGER},
</if>
<if test="editPersion != null" >
#{editPersion,jdbcType=VARCHAR},
</if>
<if test="sort != null" >
#{sort,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanHelp" >
update tab_haoban_help
<set >
<if test="helpTitle != null" >
help_title = #{helpTitle,jdbcType=VARCHAR},
</if>
<if test="helpUrl != null" >
help_url = #{helpUrl,jdbcType=VARCHAR},
</if>
<if test="statusFlag != null" >
status_flag = #{statusFlag,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null" >
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="openFlag != null" >
open_flag = #{openFlag,jdbcType=INTEGER},
</if>
<if test="editPersion != null" >
edit_persion = #{editPersion,jdbcType=VARCHAR},
</if>
<if test="sort != null" >
sort = #{sort,jdbcType=INTEGER},
</if>
</set>
where help_id = #{helpId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHaobanHelp" >
update tab_haoban_help
set help_title = #{helpTitle,jdbcType=VARCHAR},
help_url = #{helpUrl,jdbcType=VARCHAR},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
open_flag = #{openFlag,jdbcType=INTEGER},
edit_persion = #{editPersion,jdbcType=VARCHAR},
sort = #{sort,jdbcType=INTEGER}
where help_id = #{helpId,jdbcType=VARCHAR}
</update>
<select id="pageList" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_help
where status_flag = 1
order by update_time desc
</select>
<select id="selectByHelpTitle" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_help
where help_title = #{helpTitleitle,jdbcType=VARCHAR}
and status_flag = 1
</select>
<select id="getList" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_help
where status_flag = 1
and open_flag =1
order by update_time desc
</select>
</mapper>
\ No newline at end of file
......@@ -30,6 +30,9 @@
<result column="level" property="level" jdbcType="INTEGER" />
<result column="contact_flag" property="contactFlag" jdbcType="INTEGER" />
<result column="bind_flag" property="bindFlag" jdbcType="INTEGER" />
<result column="wx_secret_key_last_time" property="wxSecretKeyLastTime" jdbcType="TIMESTAMP" />
<result column="member_secret_last_time" property="memberSecretLastTime" jdbcType="TIMESTAMP"/>
<result column="contact_secret_last_time" property="contactSecretLastTime" jdbcType="TIMESTAMP"/>
<result column="status_flag" property="statusFlag" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
......@@ -38,7 +41,7 @@
wx_enterprise_id, corpid, permanent_code, corp_name, corp_type, corp_square_logo_url,
corp_user_max, corp_full_name, subject_type, verified_end_time, corp_wxqrcode, corp_scale,
corp_industry, corp_sub_industry, location, auth_info, agent, agentid, appid, name,
square_logo_url, round_logo_url, level, bind_flag, status_flag, create_time, update_time,contact_flag,wx_secret_key
square_logo_url, round_logo_url, level, bind_flag, status_flag, create_time, update_time,contact_flag,wx_secret_key,wx_secret_key_last_time,member_secret_last_time,contact_secret_last_time
,member_secret,contact_secret
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
......@@ -350,6 +353,15 @@
<if test="contactSecret != null" >
contact_secret = #{contactSecret,jdbcType=VARCHAR},
</if>
<if test="wxSecretKeyLastTime != null" >
wx_secret_key_last_time = #{wxSecretKeyLastTime,jdbcType=TIMESTAMP},
</if>
<if test="contactSecretLastTime != null" >
contact_secret_last_time = #{contactSecretLastTime,jdbcType=TIMESTAMP},
</if>
<if test="memberSecretLastTime != null" >
member_secret_last_time = #{memberSecretLastTime,jdbcType=TIMESTAMP},
</if>
</set>
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
</update>
......@@ -383,6 +395,9 @@
create_time = #{createTime,jdbcType=TIMESTAMP},
wx_secret_key = #{wxSecretKey,jdbcType=VARCHAR},
contact_secret = #{contactSecret,jdbcType=VARCHAR},
wx_secret_key_last_time = #{wxSecretKeyLastTime,jdbcType=TIMESTAMP},
contact_secret_last_time = #{contactSecretLastTime,jdbcType=TIMESTAMP},
member_secret_last_time = #{memberSecretLastTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
</update>
......
......@@ -83,7 +83,7 @@ public class DepartmentContoller extends WebBaseController{
private StaffDepartmentRelatedApiService staffDepartmentRelatedApiService;
@RequestMapping("department-list")
public HaobanResponse departmentList(String parentId,BasePageInfo pageInfo,String keyWord) {
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
LoginVO login = (LoginVO) AuthRequestUtil.getLoginUser();
String wxEnterpriseId = login.getWxEnterpriseId();
logger.info("【部门列表】wxEnterpriseId={}",wxEnterpriseId);
......
package com.gic.haoban.manage.web.controller;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.gic.haoban.common.utils.CheckSmsCodeUtil;
import com.gic.haoban.common.utils.GooglePhoneNumberUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.communicate.api.service.valid.ValidationCodeService;
import com.gic.haoban.manage.api.dto.HelpDTO;
import com.gic.haoban.manage.api.service.HelpApiService;
import com.gic.haoban.manage.web.anno.IgnoreLogin;
//import com.gic.haoban.manage.api.dto.StaffDTO;
//import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.redis.data.util.RedisUtil;
import com.gic.reponse.SendSmsResponse;
@RestController
public class HelpController extends WebBaseController{
private static Logger logger = LoggerFactory.getLogger(HelpController.class);
@Autowired
private HelpApiService helpApiService;
/**
* 帮助中心列表
* @return
*/
@IgnoreLogin
@RequestMapping("/get-help-list")
public HaobanResponse getHelpList() {
List<HelpDTO> list = helpApiService.getList();
return resultResponse(HaoBanErrCode.ERR_1,list);
}
}
......@@ -17,6 +17,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.commons.util.DateUtil;
import com.gic.enterprise.api.dto.EnterpriseAndUserDTO;
......@@ -28,24 +29,21 @@ import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.QywxCorpInfoSimpleDTO;
import com.gic.haoban.manage.api.dto.WxApplicationDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.YwWxEnterpriseDTO;
import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.api.service.WxApplicationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.anno.HttpLimit;
import com.gic.haoban.manage.web.anno.IgnoreLogin;
import com.gic.haoban.manage.web.auth.AuthRequestUtil;
import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.vo.LoginVO;
import com.gic.haoban.manage.web.vo.StoreVo;
import com.gic.wechat.api.service.qywx.QywxCorpApiService;
import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.gic.wechat.token.api.dto.QywxCorpInfoDTO;
import com.gic.wechat.token.api.service.QywxTokenManageService;
......@@ -65,9 +63,9 @@ public class WxEnterpriseController extends WebBaseController{
@Autowired
private QywxTokenManageService qywxTokenManageService;
@Autowired
private WxApplicationApiService wxApplicationApiService;
@Autowired
private Config config;
@Autowired
private QywxUserApiService qywxUserApiService;
//授权企业列表
......@@ -102,6 +100,7 @@ public class WxEnterpriseController extends WebBaseController{
return resultResponse(HaoBanErrCode.ERR_1);
}
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
wxEnterpriseDTO.setSmallVersion("免费版");
return resultResponse(HaoBanErrCode.ERR_1,wxEnterpriseDTO);
}
......@@ -224,18 +223,18 @@ public class WxEnterpriseController extends WebBaseController{
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if(wxEnterprise != null && (org.apache.commons.lang3.StringUtils.isBlank(wxEnterprise.getContactSecret()) || org.apache.commons.lang3.StringUtils.isBlank(wxEnterprise.getWxSecretKey()))){
if(wxEnterprise != null && org.apache.commons.lang3.StringUtils.isAnyBlank(wxEnterprise.getContactSecret(),wxEnterprise.getWxSecretKey(),wxEnterprise.getMemberSecret())){
return resultResponse(HaoBanErrCode.ERR_1,false);
}
return resultResponse(HaoBanErrCode.ERR_1,true);
}
//微信企业绑定接口
//微信企业绑定接口绑定通讯录key
@IgnoreLogin
@RequestMapping("wx-enterprise-secret-set")
public HaobanResponse wxEnterpriseSecretSet(String contactSecret,String wxSecretKey) {
if(org.apache.commons.lang3.StringUtils.isAnyBlank(contactSecret,wxSecretKey)){
@RequestMapping("wx-enterprise-contact-secret-set")
public HaobanResponse wxEnterpriseSecretSet(String contactSecret) {
if(org.apache.commons.lang3.StringUtils.isAnyBlank(contactSecret)){
return resultResponse(HaoBanErrCode.ERR_2);
}
String wxEnterpriseId = "";
......@@ -245,13 +244,72 @@ public class WxEnterpriseController extends WebBaseController{
if(wxEnterprise == null){
return resultResponse(HaoBanErrCode.ERR_10012);
}
wxEnterprise.setContactSecret(contactSecret);
wxEnterprise.setWxSecretKey(wxSecretKey);
wxEnterpriseApiService.update(wxEnterprise);
return resultResponse(HaoBanErrCode.ERR_1,true);
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), contactSecret, login.getStaffDTO().getWxUserId());
if(user != null){
wxEnterprise.setContactSecret(contactSecret);
wxEnterprise.setContactSecretLastTime(new Date());
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
return resultResponse(HaoBanErrCode.ERR_1,false);
}
}
//微信企业绑定接口绑定通讯录key
@IgnoreLogin
@RequestMapping("wx-enterprise-wx-secret-set")
public HaobanResponse wxEnterpriseWxSecretSet(String wxSecretKey) {
if(org.apache.commons.lang3.StringUtils.isAnyBlank(wxSecretKey)){
return resultResponse(HaoBanErrCode.ERR_2);
}
String wxEnterpriseId = "";
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if(wxEnterprise == null){
return resultResponse(HaoBanErrCode.ERR_10012);
}
String res = qywxUserApiService.listSelfExternalUserid(wxEnterprise.getCorpid(), wxSecretKey, login.getStaffDTO().getWxUserId());
if(org.apache.commons.lang3.StringUtils.isBlank(res)){
return resultResponse(HaoBanErrCode.ERR_1,false);
}
JSONObject json = JSON.parseObject(res);
if("0".equals(json.getString("errcode"))){
wxEnterprise.setWxSecretKey(wxSecretKey);
wxEnterprise.setWxSecretKeyLastTime(new Date());
wxEnterpriseApiService.update(wxEnterprise);
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
return resultResponse(HaoBanErrCode.ERR_1,false);
}
}
//微信企业会员小程序
@IgnoreLogin
@RequestMapping("wx-enterprise-member-secret-set")
public HaobanResponse wxEnterpriseMemberSecretSet(String memberSecret) {
if(org.apache.commons.lang3.StringUtils.isAnyBlank(memberSecret)){
return resultResponse(HaoBanErrCode.ERR_2);
}
String wxEnterpriseId = "";
LoginVO login = (LoginVO) AuthRequestUtil.getSessionUser();
wxEnterpriseId = login.getWxEnterpriseId();
WxEnterpriseDTO wxEnterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
if(wxEnterprise == null){
return resultResponse(HaoBanErrCode.ERR_10012);
}
UserDTO user = qywxUserApiService.getSelfWorkWxUser(wxEnterprise.getCorpid(), memberSecret, login.getStaffDTO().getWxUserId());
if(user != null){
wxEnterprise.setMemberSecret(memberSecret);
wxEnterprise.setMemberSecretLastTime(new Date());
wxEnterpriseApiService.update(wxEnterprise);
return resultResponse(HaoBanErrCode.ERR_1,true);
}else{
return resultResponse(HaoBanErrCode.ERR_1,false);
}
}
}
......@@ -50,6 +50,7 @@
<dubbo:reference interface="com.gic.haoban.manage.api.service.AuditApiService" id="auditApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.AuditSettingApiService" id="auditSettingApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.DictApiService" id="dictApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.HelpApiService" id="helpApiService"/>
<dubbo:reference interface="com.gic.wechat.token.api.service.QywxTokenManageService" id="qywxTokenManageService"/>
......
......@@ -165,8 +165,7 @@ public class ClerkController extends WebBaseController{
if(size > 20){
ClerkDTO clerk = clerkService.getClerkByClerkCode(departmentDTO.getEnterpriseId(), related.getClerkCode());
if(clerk != null){
dto.setMemberCount(0);
// dto.setMemberCount(distributeApiService.getClerkMemberCount(departmentDTO.getEnterpriseId(), clerk.getClerkId(), storeId));
dto.setMemberCount(distributeApiService.getClerkMemberCount(departmentDTO.getEnterpriseId(), clerk.getClerkId(), storeId));
}
}else{
dto.setMemberCount(0);
......@@ -258,24 +257,24 @@ public class ClerkController extends WebBaseController{
@HttpLimit
@RequestMapping("/staff-add")
public HaobanResponse staffAdd(StaffDTO staffDTO,String storeId,String clerkCode) {
// String wxEnterpriseId = staffDTO.getWxEnterpriseId();
// String staffName = staffDTO.getStaffName();
// String phoneNumber = staffDTO.getPhoneNumber();
// String nationcode = staffDTO.getNationCode();
// String postion = staffDTO.getPostion();
// Integer sex = staffDTO.getSex();
// staffDTO.setWxEnterpriseId(wxEnterpriseId);
// if(StringUtils.isBlank(staffName)) {
// return resultResponse(HaoBanErrCode.ERR_10004);
// }
// StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber);
// if(staff != null) {
// return resultResponse(HaoBanErrCode.ERR_10005);
// }
// boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, staffName, phoneNumber, nationcode, postion);
// if(!flag){
// return resultResponse(HaoBanErrCode.ERR_10010);
// }
String wxEnterpriseId = staffDTO.getWxEnterpriseId();
String staffName = staffDTO.getStaffName();
String phoneNumber = staffDTO.getPhoneNumber();
String nationcode = staffDTO.getNationCode();
String postion = staffDTO.getPostion();
Integer sex = staffDTO.getSex();
staffDTO.setWxEnterpriseId(wxEnterpriseId);
if(StringUtils.isBlank(staffName)) {
return resultResponse(HaoBanErrCode.ERR_10004);
}
StaffDTO staff = staffApiService.selectByNationcodeAndPhoneNumber(wxEnterpriseId,nationcode,phoneNumber);
if(staff != null) {
return resultResponse(HaoBanErrCode.ERR_10005);
}
boolean flag = syncHaobanToGicServiceApi.syncClerkToGicClerkAdd(storeId, clerkCode, sex, staffName, phoneNumber, nationcode, postion);
if(!flag){
return resultResponse(HaoBanErrCode.ERR_10010);
}
return resultResponse(HaoBanErrCode.ERR_1);
}
......@@ -302,10 +301,10 @@ public class ClerkController extends WebBaseController{
staffApiService.del(staffDepartmentRelatedId);
}else{
ClerkDTO clerk = clerkService.getClerkByClerkCode(departmentDTO.getEnterpriseId(), related.getClerkCode());
// if(clerk != null && distributeApiService.getClerkMemberCount(departmentDTO.getEnterpriseId(), clerk.getClerkId(), storeId) == 0){
// syncHaobanToGicServiceApi.delGicClerk(clerk.getClerkId());
// staffApiService.del(staffDepartmentRelatedId);
// }
if(clerk != null && distributeApiService.getClerkMemberCount(departmentDTO.getEnterpriseId(), clerk.getClerkId(), storeId) == 0){
syncHaobanToGicServiceApi.delGicClerk(clerk.getClerkId());
staffApiService.del(staffDepartmentRelatedId);
}
}
}
if(flag){
......@@ -338,36 +337,20 @@ public class ClerkController extends WebBaseController{
//刷新微信好友
@RequestMapping("/fresh-wx-friend")
public HaobanResponse freshWxFrend(String staffId,String storeId,String wxEnterpriseId,String staffDepartmentRelatedId,String wxUserId) {
// StaffDTO staff = staffApiService.selectById(staffId);
// String yyyyMM = DateUtil.dateToStr(new Date(), "yyyyMM");
// if(staff == null){
// return resultResponse(HaoBanErrCode.ERR_10006);
// }
// String key = "haoban_fresh_wx_friend" + yyyyMM + staffId;
// Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer)RedisUtil.getCache(key);
// if(count == null || count < 4){
// WxEnterpriseDTO enterprise = wxEnterpriseApiService.getOne(wxEnterpriseId);
// RedisUtil.setCache(key,count + 1,31 * 24 * 60 * 60l);
// String res = qywxUserApiService.listSelfExternalUserid(enterprise.getCorpid(), enterprise.getWxSecretKey(), staff.getWxUserId());
// JSONObject json = JSON.parseObject(res);
// if("0".equals(json.getString("errcode"))){
// String external_userid = json.getString("external_userid");
// JSONArray jsonArr = json.getJSONArray(external_userid);
// List<MemberUnionidRelatedDTO> list = memberUnionidRelatedApiService.getByWxUserIdAndWxEnterpriseId(wxUserId, wxEnterpriseId);
// List<String> externalUserIdList = list.stream().map(student->student.getExternalUserid())
// .collect(Collectors.toList());
// for (Object object : jsonArr) {
// if(externalUserIdList.contains(object.toString())){
// continue;
// }else{
// //String string = qywxUserApiService.getCorpSelfExternalUseridInfo(enterprise.getCorpid(), enterprise.getWxSecretKey(), object.toString());
// memberUnionidRelatedApiService.add(wxEnterpriseId, object.toString(), wxUserId);
// }
// }
// }
// }else{
// return resultResponse(HaoBanErrCode.ERR_10011);
// }
StaffDTO staff = staffApiService.selectById(staffId);
String yyyyMM = DateUtil.dateToStr(new Date(), "yyyyMM");
if(staff == null){
return resultResponse(HaoBanErrCode.ERR_10006);
}
String key = "haoban_fresh_wx_friend" + yyyyMM + staffId;
Integer count = RedisUtil.getCache(key) == null ? 0 : (Integer)RedisUtil.getCache(key);
if(count == null || count < 4){
RedisUtil.setCache(key,count + 1,31 * 24 * 60 * 60l);
memberUnionidRelatedApiService.freshWxFrend(wxEnterpriseId, wxUserId);
}else{
return resultResponse(HaoBanErrCode.ERR_10011);
}
return resultResponse(HaoBanErrCode.ERR_1);
}
......
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