Commit 814afdb3 by songyinghui

Merge remote-tracking branch 'origin/master' into feature-content5

# Conflicts:
#	haoban-manage3-wx/src/main/webapp/WEB-INF/dubbo-haoban-manage-wx.xml
parents 9f490419 f173ad05
......@@ -215,6 +215,14 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
List<Long> chatIdList = chatRelation.stream().map(dto -> dto.getGroupChatId())
.collect(Collectors.toList());
List<TabGroupChat> chatList = this.groupChatMapper.listByIdSet(new HashSet<>(chatIdList));
if(CollectionUtils.isNotEmpty(chatList)) {
for(TabGroupChat chat : chatList) {
if(StringUtils.isEmpty(chat.getStaffId())) {
logger.info("群未初始化,无群主");
return ;
}
}
}
List<String> hbIdList = chatList.stream().map(dto -> dto.getWxChatIdDk()).collect(Collectors.toList());
logger.info("企微群列表={},haoban列表={}", qwChatIdList, hbIdList);
// 差异-企微比好办多的群
......
......@@ -303,17 +303,18 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override
public ServiceResponse wxBindStaffClerk(StaffClerkRelationDTO staffClerkRelation, String optStaffId, int channelCode) {
Integer manageFlag = staffClerkRelation.getManageFlag();
if (manageFlag != null && manageFlag == 1) {
if (manageFlag != null && manageFlag.intValue() == 1) {
ServiceResponse serviceResponse = getManageFlagBind(staffClerkRelation);
if (!serviceResponse.isSuccess()) {
return serviceResponse;
}
}
String staffId = staffClerkRelation.getStaffId();
List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationService.listManageBindByStaffId(staffId);
if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) {
logger.info("该导购已绑定区经,不允许绑定导购");
return ServiceResponse.failure("3", "该导购已绑定区经,不允许绑定导购");
}else {
String staffId = staffClerkRelation.getStaffId();
List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationService.listManageBindByStaffId(staffId);
if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) {
logger.info("该导购已绑定区经,不允许绑定导购");
return ServiceResponse.failure("3", "该导购已绑定区经,不允许绑定导购");
}
}
if (StringUtils.isNotBlank(staffClerkRelation.getStaffClerkRelationId())) {
TabHaobanStaffClerkRelation oldStaffClerkRelation = tabHaobanStaffClerkRelationMapper.selectByPrimaryKey(staffClerkRelation.getStaffClerkRelationId());
......
......@@ -30,6 +30,7 @@ import com.gic.haoban.manage.service.service.content.adaptor.MaterialEnterpriseA
import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -636,12 +637,12 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
"goodsDetail_material", "goodsCenter_Count", "materialManage", "publishMaterial", "userCenter_createCenter"));
// 只添加(勾选)好办运维权限 不加商户权限
superManagementMenuCode.put("0" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("0" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("1" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("1" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("2" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("2" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase"));
superManagementMenuCode.put("0" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
superManagementMenuCode.put("0" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
superManagementMenuCode.put("1" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
superManagementMenuCode.put("1" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
superManagementMenuCode.put("2" + ContentMaterialROleInitQDTO.Version.LOW.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
superManagementMenuCode.put("2" + ContentMaterialROleInitQDTO.Version.HIGH.getCode(), Arrays.asList("knowledgeBase","AICreate","textCreate_create"));
}
......@@ -655,6 +656,7 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
public ServiceResponse<Void> flushRightOneTime(String params) {
logger.info("flushRightOneTime 刷新企业内容权限:{}", params);
// 获取所有开通内容高级版的企业
List<String> enterpriseIds = materialEnterpriseAdaptor.queryHasRightEnterpriseIds(MaterialEnterpriseAdaptor.MaterialLevel.LOW.getCode());
// 执行刷新权限
......@@ -662,9 +664,8 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
if (StringUtils.isNotBlank(params) && !StringUtils.equals("-1", params)) {
enterpriseId = params;
}
List<String> menuCodes = new ArrayList<>();
menuCodes.add("knowledgeBase");
menuCodes.add("AICreate");
for (String tempId : enterpriseIds) {
if (StringUtils.isNotBlank(enterpriseId) && !StringUtils.equalsIgnoreCase(enterpriseId, tempId)) {
......
......@@ -4,7 +4,9 @@ import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.service.out.impl.role.HaobanRoleApiServiceImpl;
import com.gic.wechat.api.service.qywx.QywxDepartmentApiService;
import com.gic.wechat.api.service.qywx.QywxSuiteApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
......@@ -47,6 +49,8 @@ public class ServiceTest {
@Autowired
private StaffApiService staffApiService;
@Autowired
private HaobanRoleApiService haobanRoleApiService;
@Test
......@@ -72,4 +76,9 @@ public class ServiceTest {
String autoActiveStatus = qywxUserApiService.getAutoActiveStatus("wp59NLDQAAJL6DsM6YwOGqJlhCBykkeA", config.getCorpid());
System.out.println(autoActiveStatus);
}
@Test
public void testRole() {
haobanRoleApiService.flushRightOneTime("");
}
}
package com.gic.haoban.manage.web.controller;
import com.alibaba.fastjson.JSON;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.CheckSmsCodeUtil;
import com.gic.haoban.common.utils.GooglePhoneNumberUtil;
......@@ -24,9 +25,8 @@ public class SendCodeController extends WebBaseController {
@Autowired
private ValidationCodeApiService validationCodeService;
@Autowired
private StoreService storeService;
private ClerkService clerkService ;
/**
* 验证码发送
......@@ -36,7 +36,7 @@ public class SendCodeController extends WebBaseController {
*/
@RequestMapping("/send-code")
public HaobanResponse sendCode(String phoneNumber, @RequestParam(defaultValue = "86") String nationcode,
Integer type, @RequestParam(defaultValue = "0") int isTest, String wxEnterpriseId, String staffId,
Integer type, String wxEnterpriseId, String staffId,
String storeId, String clerkId) {
logger.info("短信验证码发送:wxEnterpriseId:{},storeId:{},staffId:{}", wxEnterpriseId, storeId, staffId);
if (StringUtils.isBlank(phoneNumber) || null == type) {
......@@ -70,26 +70,18 @@ public class SendCodeController extends WebBaseController {
CheckSmsCodeUtil.cacheSmsCode(nationcode + "-" + phoneNumber, smsCode, type);
}
logger.info("{}-{} 的 验证码:{}", nationcode, phoneNumber, smsCode);
//非测试
if (isTest != 1) {
SendSmsResponse smsResponse = null;
if (StringUtils.isAnyBlank(storeId, clerkId)) {
smsResponse = validationCodeService.sendValidationCode(nationcode, phoneNumber, smsCode);
} else {
StoreDTO storeDTO = storeService.getStore(storeId);
smsResponse = validationCodeService.sendValidationCodeHb3(nationcode, phoneNumber, smsCode, storeDTO.getEnterpriseId(), storeId, clerkId, true);
}
logger.info("{}-{} 的 验证码 发送结果回执:{}", nationcode, phoneNumber, JSON.toJSONString(smsResponse));
if (!smsResponse.isSuccess()) {
HaobanResponse response = new HaobanResponse();
response.setMessage(smsResponse.getMessage());
response.setErrorCode(HaoBanErrCode.ERR_13.getCode());
return response;
}
return resultResponse(HaoBanErrCode.ERR_1);
} else {
return resultResponse(HaoBanErrCode.ERR_1, smsCode);
SendSmsResponse smsResponse = null;
ClerkDTO clerk = this.clerkService.getClerkByClerkId(clerkId) ;
smsResponse = validationCodeService.sendValidationCodeHb3(nationcode, phoneNumber, smsCode, clerk.getEnterpriseId(), storeId, clerkId, true);
logger.info("{}-{} 的 验证码 发送结果回执:{}", nationcode, phoneNumber, JSON.toJSONString(smsResponse));
if (!smsResponse.isSuccess()) {
HaobanResponse response = new HaobanResponse();
response.setMessage(smsResponse.getMessage());
response.setErrorCode(HaoBanErrCode.ERR_13.getCode());
return response;
}
return resultResponse(HaoBanErrCode.ERR_1);
}
/**
......
......@@ -937,7 +937,7 @@ public class WxStaffController extends WebBaseController {
}
String storeId = "";
String storeName = "";
if (manageFlag != null && manageFlag == 1) {
if (manageFlag != null && manageFlag.intValue() == 1) {
// 区经无门店
} else {
storeId = clerk.getStoreId();
......
package com.gic.haoban.manage.web.controller.content;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.content.api.dto.aigc.AIGCContent;
import com.gic.content.api.qdto.aigc.ContentAIGCQDTO;
import com.gic.content.api.qdto.aigc.ContentAiLogDTO;
import com.gic.content.api.service.common.ThirdApiService;
import com.gic.haoban.manage.web.qo.content.ContentAIGCQO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 好办-三方接口
*/
@RestController()
public class ContentThirdController {
private static final Logger log = LoggerFactory.getLogger(ContentThirdController.class);
@Autowired
private ThirdApiService thirdApiService;
/**
* AIGC生成文案
* @param aigcQO
* @return
*/
@RequestMapping("/third/aigc")
@ResponseBody
public RestResponse<AIGCContent> aigc(@RequestBody ContentAIGCQO aigcQO) {
String clerkId = aigcQO.getClerkId();
ContentAIGCQDTO aigcQDTO = EntityUtil.changeEntityNew(ContentAIGCQDTO.class, aigcQO);
aigcQDTO.setUserId(clerkId);
ServiceResponse<AIGCContent> response = thirdApiService.aigc(aigcQDTO);
if (!response.isSuccess()) {
return RestResponse.failure(response.getCode(), response.getMessage());
}
return RestResponse.successResult(response.getResult());
}
/**
* OpenAi日志列表
* @return
*/
@RequestMapping("/ai/list")
@ResponseBody
public RestResponse<List<ContentAiLogDTO>> listOpenAiLog(String userId,String enterpriseId) {
ServiceResponse<List<ContentAiLogDTO>> response = thirdApiService.listAiLog(enterpriseId, userId);
if (!response.isSuccess()) {
return RestResponse.failure(response.getCode(), response.getMessage());
}
return RestResponse.successResult(response.getResult());
}
}
package com.gic.haoban.manage.web.qo.content;
/**
* Created by wangzubo on 2023/9/12.
*/
import java.io.Serializable;
import java.util.List;
public class ContentAIGCQO implements Serializable {
private static final long serialVersionUID = 1L;
private String enterpriseId;
private String clerkId;
/**
* 商品id列表
*/
private List<String> goodsIdList;
/**
* 营销节点
*/
private String holiday;
/**
* 营销主题
*/
private String theme;
/**
* 营销折扣
*/
private String discount;
/**
* 穿着场景
*/
private String scene;
/**
* 自定义描述
*/
private String customDescription;
/**
* 文案长度
*/
private String length;
/**
* 文案类型
*/
private String type;
/**
* 文案风格
*/
private String style;
/**
* 标题风格
*/
private String titleStyle;
/**
* title:标题content:内容 null为全部
*/
private String contentType;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public List<String> getGoodsIdList() {
return goodsIdList;
}
public void setGoodsIdList(List<String> goodsIdList) {
this.goodsIdList = goodsIdList;
}
public String getHoliday() {
return holiday;
}
public void setHoliday(String holiday) {
this.holiday = holiday;
}
public String getTheme() {
return theme;
}
public void setTheme(String theme) {
this.theme = theme;
}
public String getDiscount() {
return discount;
}
public void setDiscount(String discount) {
this.discount = discount;
}
public String getScene() {
return scene;
}
public void setScene(String scene) {
this.scene = scene;
}
public String getCustomDescription() {
return customDescription;
}
public void setCustomDescription(String customDescription) {
this.customDescription = customDescription;
}
public String getLength() {
return length;
}
public void setLength(String length) {
this.length = length;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public String getTitleStyle() {
return titleStyle;
}
public void setTitleStyle(String titleStyle) {
this.titleStyle = titleStyle;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
}
......@@ -123,6 +123,7 @@
<dubbo:reference interface="com.gic.content.api.service.ContentMaterialShareApiService" id="contentMaterialShareApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.content.api.service.ContentTemplateApiService" id="contentTemplateApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.content.api.service.common.ThirdApiService" id="thirdApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="settingApiService" interface="com.gic.haoban.app.aggregation.api.service.SettingApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference id="newDataTargetConfigApiService" interface="com.gic.enterprise.api.service.target.NewDataTargetConfigApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference interface="com.gic.store.goods.service.GoodsInfoOutApiService" id="goodsInfoOutApiService" timeout="100000" retries="0" check="false" />
......
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