Commit 5ae73d4c by 墨竹

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

parents d935491c 8df4ed63
......@@ -90,11 +90,18 @@ public class EnterpriseController extends WebBaseController {
* @param openTagFlag 标签开启状态:0 未开启 1 开启 2 所有
* @param gicEnterpriseName gic企业名称
* @param gicContactHelper 是否开启通讯录应用1是0否
* @param loginUserId 登录用户id
* @param version 版本
* @return res
*/
@RequestMapping("wx-enterprise-list")
public HaobanResponse wxEnterpriseListNew(BasePageInfo pageInfo, String keyword, Integer openTagFlag, String gicEnterpriseName, Integer gicContactHelper, String version) {
public HaobanResponse wxEnterpriseListNew(BasePageInfo pageInfo,
String keyword,
Integer openTagFlag,
String gicEnterpriseName,
Integer gicContactHelper,
String loginUserId,
String version) {
List<String> wxEnterpriseIdInList = Lists.newArrayList();
......@@ -326,8 +333,6 @@ public class EnterpriseController extends WebBaseController {
}
/**
* 更新新的外部联系人id
*
......@@ -361,7 +366,7 @@ public class EnterpriseController extends WebBaseController {
if (wxEnterpriseDTO == null) {
return resultResponse(HaoBanErrCode.ERR_20001);
}
wxEnterpriseApiService.agreeExternalUseridFlag(wxEnterpriseDTO.getWxEnterpriseId(),1);
wxEnterpriseApiService.agreeExternalUseridFlag(wxEnterpriseDTO.getWxEnterpriseId(), 1);
return resultResponse(HaoBanErrCode.ERR_1);
} else {
return resultResponse(HaoBanErrCode.ERR_0);
......
......@@ -132,14 +132,15 @@ public interface StaffMapper {
*/
TabHaobanStaff selectByPhoneNumberAndEnterpriseId(@Param("phoneNumber") String phoneNumber,
@Param("wxEnterpriseId") String wxEnterpriseId);
/**
* 删除除了当前staffId以外其他的staff
* 删除同wxUserId的其他staff
*
* @param staffId staffId
* @param wxUserId 微信用户id
* @param staffId 导购id
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
*/
void delOtherStaff(@Param("staffId")String staffId,
@Param("wxEnterpriseId")String wxEnterpriseId,
@Param("wxUserId")String wxUserId);
void delOtherStaffByWxUserId(@Param("wxUserId") String wxUserId,
@Param("staffId") String staffId,
@Param("wxEnterpriseId") String wxEnterpriseId);
}
\ No newline at end of file
......@@ -97,13 +97,12 @@ public interface StaffService {
*/
int updateOpenUserIdsByUserId(String wxEnterpriseId, String wxUserId, String wxOpenUseId);
/**
* 删除除了当前staffId以外其他的staff
* 删除同wxUserId的其他staff
*
* @param staffId staffId
* @param wxUserId 微信用户id
* @param staffId 导购id
* @param wxEnterpriseId wx企业标识
* @param wxUserId wx用户id
*/
void delOtherStaff(String staffId, String wxEnterpriseId, String wxUserId);
void delOtherStaffByWxUserId(String wxUserId, String staffId, String wxEnterpriseId);
}
......@@ -121,11 +121,8 @@ public class StaffServiceImpl implements StaffService {
}
@Override
public void delOtherStaff(String staffId, String wxEnterpriseId, String wxUserId) {
if (StringUtils.isEmpty(staffId)){
return;
}
mapper.delOtherStaff(staffId, wxEnterpriseId, wxUserId);
public void delOtherStaffByWxUserId(String wxUserId, String staffId, String wxEnterpriseId) {
mapper.delOtherStaffByWxUserId(wxUserId, staffId, wxEnterpriseId);
}
}
......@@ -25,6 +25,7 @@ import com.gic.wechat.api.dto.qywx.ItemDTO;
import com.gic.wechat.api.dto.qywx.QywxXcxSendMessageDTO;
import com.gic.wechat.api.service.qywx.QywxDepartmentApiService;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.google.common.collect.Sets;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
......@@ -133,6 +134,12 @@ public class MessageApiServiceImpl implements MessageApiService {
log.info("通过corpId:【{}】未查询到授权企业,无法处理", dto.getAuthCorpId());
return;
}
// 校验适用企业
boolean suitWxEnterpriseIid = checkSuitEnterpriseId(enterprise.getWxEnterpriseId());
if (!suitWxEnterpriseIid) {
log.info("微信企业id:{}, 不适用", enterprise.getWxEnterpriseId());
return;
}
List<TabHaobanWxEnterpriseRelated> relatedList = wxEnterpriseRelatedService.getByWxEnterpriseId(enterprise.getWxEnterpriseId());
if (CollectionUtils.isEmpty(relatedList)) {
log.info("未查询到企业关联企业 wxEnt");
......@@ -189,6 +196,11 @@ public class MessageApiServiceImpl implements MessageApiService {
return userid.startsWith("5");
}
private boolean checkSuitEnterpriseId(String wxEnterpriseId) {
Set<String> wxSet = Sets.newHashSet("ca66a01b79474c40b3e7c7f93daf1a3b");
return wxSet.contains(wxEnterpriseId);
}
private void doDealUser(QywxCallBackDTO dto, String enterpriseId, String secret) {
ClerkQwDTO clerkQwDTO = new ClerkQwDTO();
clerkQwDTO.setEnterpriseId(enterpriseId);
......
......@@ -390,9 +390,8 @@ public class StaffApiServiceImpl implements StaffApiService {
String nationCode = arr[0];
String phoneNumber = arr[1];
TabHaobanStaff staff = staffService.selectByPhoneNumberAndEnterpriseId(phoneNumber.trim(), wxEnterpriseId);
if (staff != null) {
//兼容导购调整手机号逻辑-该方法强行保证一个导购只存在一条有效导购数据
staffService.delOtherStaff(staff.getStaffId(),staff.getWxEnterpriseId(),staff.getWxUserId());
if (staff != null){
staffService.delOtherStaffByWxUserId(staff.getWxUserId(),staff.getStaffId(), wxEnterpriseId);
}
staff = (staff == null ? new TabHaobanStaff() : staff);
staff.setWxUserId(userId);
......
......@@ -43,9 +43,9 @@
where staff_id = #{staffId,jdbcType=VARCHAR}
</delete>
<update id="delOtherStaff">
<update id="delOtherStaffByWxUserId">
update tab_haoban_staff
set status_flag = 0
set status_flag = 0,update_time = now()
where wx_enterprise_id = #{wxEnterpriseId}
and wx_user_id = #{wxUserId}
and status_flag = 1
......@@ -469,4 +469,22 @@
and status_flag = 1 limit 1
</select>
<update id="delStaffByWxUserId">
update tab_haoban_staff
set status_flag = 0,update_time = now()
where wx_enterprise_id = #{wxEnterpriseId}
and wx_user_id = #{wxUserId}
and status_flag = 1
and staff_id != #{staffId}
</update>
<update id="delStaffByPhoneNumber">
update tab_haoban_staff
set status_flag = 0,update_time = now()
where wx_enterprise_id = #{wxEnterpriseId}
and phone_number = #{phoneNumber}
and status_flag = 1
and staff_id != #{staffId}
</update>
</mapper>
\ No newline at end of file
......@@ -162,7 +162,7 @@
from tab_haoban_friend_setting
limit #{offset}, #{limit}
</select>
<select id="getByWxEnterpriseId" resultType="com.gic.haoban.manage.service.entity.TabHaobanFriendSetting">
<select id="getByWxEnterpriseId" resultMap="TabHaobanFriendSettingMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_friend_setting where wx_enterprise_id = #{wxEnterpriseId} and delete_flag = 0
......
package com.gic.haoban.manage.web.controller;
import com.gic.api.base.commons.Constant;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
......@@ -15,9 +16,11 @@ import com.gic.haoban.manage.api.service.out.WelcomeApiService;
import com.gic.haoban.manage.web.qo.welcome.ListWelcomeQO;
import com.gic.haoban.manage.web.qo.welcome.SaveFriendSettingQO;
import com.gic.haoban.manage.web.qo.welcome.SaveWelcomeQO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
......@@ -42,7 +45,7 @@ public class WelcomeController extends WebBaseController {
* @date : 2022/2/11
*/
@RequestMapping(value = "/save", method = RequestMethod.POST)
public RestResponse<Boolean> saveWelcome(@RequestBody SaveWelcomeQO qo) {
public RestResponse<Boolean> saveWelcome(@RequestBody @Valid SaveWelcomeQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
SaveWelcomeQDTO qdto = new SaveWelcomeQDTO();
qdto.setWelcomeId(qo.getWelcomeId());
......@@ -69,6 +72,9 @@ public class WelcomeController extends WebBaseController {
*/
@RequestMapping(value = "/remove", method = RequestMethod.GET)
public RestResponse<Boolean> removeWelcome(@RequestParam("welcomeId") String welcomeId) {
if (StringUtils.isEmpty(welcomeId)) {
RestResponse.failure(Constant.STRING_1, "欢迎语id为空", Boolean.FALSE);
}
ServiceResponse<Boolean> response = welcomeApiService.removeWelcome(welcomeId);
return RestResponse.successResult(response.getResult());
}
......@@ -82,7 +88,7 @@ public class WelcomeController extends WebBaseController {
* @date : 2022/2/11
*/
@RequestMapping(value = "/list", method = RequestMethod.POST)
public RestResponse<List<WelcomeListDTO>> listWelcome(@RequestBody ListWelcomeQO qo) {
public RestResponse<List<WelcomeListDTO>> listWelcome(@RequestBody @Valid ListWelcomeQO qo) {
ServiceResponse<List<WelcomeListDTO>> response = welcomeApiService.listWelcome(qo.getWxEnterpriseId(), qo.getTitle());
return RestResponse.successResult(response.getResult());
}
......@@ -97,6 +103,9 @@ public class WelcomeController extends WebBaseController {
*/
@RequestMapping(value = "/get", method = RequestMethod.GET)
public RestResponse<WelcomeDetailDTO> getWelcome(@RequestParam("welcomeId") String welcomeId) {
if (StringUtils.isEmpty(welcomeId)) {
RestResponse.failure(Constant.STRING_1, "欢迎语id为空");
}
ServiceResponse<WelcomeDetailDTO> response = welcomeApiService.getWelcome(welcomeId);
return RestResponse.successResult(response.getResult());
}
......@@ -110,7 +119,7 @@ public class WelcomeController extends WebBaseController {
* @date : 2022/2/11
*/
@RequestMapping(value = "/save/friend-setting", method = RequestMethod.POST)
public RestResponse<Boolean> saveFriendSetting(@RequestBody SaveFriendSettingQO qo) {
public RestResponse<Boolean> saveFriendSetting(@RequestBody @Valid SaveFriendSettingQO qo) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
SaveFriendSettingQDTO qdto = EntityUtil.changeEntityNew(SaveFriendSettingQDTO.class, qo);
qdto.setUpdateId(login.getStaffDTO().getStaffId());
......@@ -129,6 +138,9 @@ public class WelcomeController extends WebBaseController {
*/
@RequestMapping(value = "/get/friend-setting", method = RequestMethod.GET)
public RestResponse<FriendSettingDetailDTO> getFriendSetting(@RequestParam("wxEnterpriseId") String wxEnterpriseId) {
if (StringUtils.isEmpty(wxEnterpriseId)) {
RestResponse.failure(Constant.STRING_1, "微信企业id为空", Boolean.FALSE);
}
ServiceResponse<FriendSettingDetailDTO> response = welcomeApiService.getFriendSetting(wxEnterpriseId);
return RestResponse.successResult(response.getResult());
}
......
package com.gic.haoban.manage.web.qo.welcome;
import org.hibernate.validator.constraints.NotEmpty;
import java.io.Serializable;
/**
......@@ -14,6 +16,7 @@ public class ListWelcomeQO implements Serializable {
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 标题
......
package com.gic.haoban.manage.web.qo.welcome;
import org.hibernate.validator.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
......@@ -17,6 +20,7 @@ public class SaveFriendSettingQO implements Serializable {
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 欢迎语配置类型 :
......@@ -25,6 +29,7 @@ public class SaveFriendSettingQO implements Serializable {
* 3 发送好办欢迎语文案
* 4 不发送好办欢迎语,用企微欢迎语
*/
@NotNull(message = "加好友配置类型不能为空")
private Integer friendSettingType;
public Long getFriendSettingId() {
......
......@@ -2,6 +2,7 @@ package com.gic.haoban.manage.web.qo.welcome;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitDepartmentDTO;
import com.gic.haoban.manage.api.dto.welcome.dto.WelcomeSuitStaffDTO;
import org.hibernate.validator.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
......@@ -21,14 +22,17 @@ public class SaveWelcomeQO implements Serializable {
/**
* 微信企业id
*/
@NotEmpty(message = "微信企业id不能为空")
private String wxEnterpriseId;
/**
* 标题
*/
@NotEmpty(message = "标题不能为空")
private String title;
/**
* 内容
*/
@NotEmpty(message = "内容不能为空")
private String welcomeContent;
/**
* 媒体列表
......
......@@ -102,7 +102,7 @@ public class ClerkController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<StaffClerkRelationDTO> list = staffClerkRelationApiService.listByStoreId(storeId);
List<String> staffIds = list.stream().map(s -> s.getStaffId()).collect(Collectors.toList());
List<String> staffIds = list.stream().map(StaffClerkRelationDTO::getStaffId).collect(Collectors.toList());
List<StaffDTO> resultlist = staffApiService.listByIds(staffIds);
Map<String, StaffDTO> map = com.gic.commons.util.CollectionUtil.toMap(resultlist, "staffId");
......
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