瀏覽代碼

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

dev
kira 1 年之前
父節點
當前提交
6034ae7cc5
共有 9 個文件被更改,包括 71 次插入13 次删除
  1. +0
    -3
      xueyi-api/xueyi-api-nlt/src/main/java/com/xueyi/nlt/api/nlt/feign/RemoteQAService.java
  2. +9
    -0
      xueyi-auth/src/main/java/com/xueyi/auth/controller/TokenController.java
  3. +4
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/notice/controller/api/SmsApiController.java
  4. +1
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/organize/service/impl/SysEnterpriseServiceImpl.java
  5. +34
    -4
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffApiController.java
  6. +15
    -1
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffInnerApiController.java
  7. +1
    -0
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmStaffServiceImpl.java
  8. +4
    -2
      xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmVisitRecordsServiceImpl.java
  9. +3
    -0
      xueyi-modules/xueyi-system/src/main/resources/mapper/staff/DmStaffMapper.xml

+ 0
- 3
xueyi-api/xueyi-api-nlt/src/main/java/com/xueyi/nlt/api/nlt/feign/RemoteQAService.java 查看文件

@@ -1,14 +1,11 @@
package com.xueyi.nlt.api.nlt.feign;

import com.alibaba.fastjson.JSONObject;
import com.xueyi.common.core.web.result.AjaxResult;
import com.xueyi.common.core.web.result.R;
import com.xueyi.nlt.api.nlt.domain.vo.HotspotVo;
import com.xueyi.nlt.api.nlt.domain.vo.KnowledgeVo;
import com.xueyi.nlt.api.nlt.domain.vo.response.DmKnowledgeResponse;
import com.xueyi.nlt.api.nlt.feign.factory.RemoteQAFallbackFactory;
import com.xueyi.system.api.sms.domain.vo.SmsReqEntity;
import com.xueyi.system.api.sms.feign.factory.RemoteSmsFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;


+ 9
- 0
xueyi-auth/src/main/java/com/xueyi/auth/controller/TokenController.java 查看文件

@@ -83,6 +83,15 @@ public class TokenController {
return AjaxResult.success(tokenService.createToken(userInfo));
}

//不处理验证码
@PostMapping("mgr-login")
public AjaxResult mgrLogin(@RequestBody LoginBody form) {
// 用户登录
LoginUser userInfo = sysLoginService.login(form.getEnterpriseName(), form.getUserName(), form.getPassword());
// 获取登录token
return AjaxResult.success(tokenService.createToken(userInfo));
}

@PostMapping("phoneLogin")
public AjaxResult loginByPhone(@Valid @RequestBody PhoneLoginBody form) {
R<SysEnterpriseStaffPo> staffR = tenantService.queryStaff(form.getPhone(), SecurityConstants.INNER);


+ 4
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/notice/controller/api/SmsApiController.java 查看文件

@@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.TimeUnit;

/**
* @author yk
* @description
@@ -51,10 +53,10 @@ public class SmsApiController {
return R.fail("手机号为空");
} else {
String cachedCode = redisService.getCacheObject("codes:phones:"+smsReqEntity.getPhone());
if (StringUtils.isNotEmpty(cachedCode) && redisService.hasKey("codes:"+cachedCode)) {
if (StringUtils.isNotEmpty(cachedCode)) {
return R.fail("之前请求的验证码并未失效,禁止重复请求验证码");
} else {
redisService.setCacheObject("codes:phones:"+smsReqEntity.getPhone(), code);
redisService.setCacheObject("codes:phones:"+smsReqEntity.getPhone(), code,5L, TimeUnit.MINUTES);
}

smsReqEntity.setTemplate(smsProperties.getCodeTemplate());


+ 1
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/organize/service/impl/SysEnterpriseServiceImpl.java 查看文件

@@ -38,6 +38,6 @@ public class SysEnterpriseServiceImpl extends BaseServiceImpl<SysEnterpriseQuery
@Override
public Long selectDefaultDeptId(String devId) {
R<DmDigitalmanExtPo> extPo = digitalmanService.devInfo(devId, SecurityContextHolder.getEnterpriseId(), SecurityContextHolder.getSourceName(), SecurityConstants.INNER);
return extPo.getData().getDeptId();
return extPo.getData() == null ? 0L : extPo.getData().getDeptId();
}
}

+ 34
- 4
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffApiController.java 查看文件

@@ -7,9 +7,11 @@ import com.xueyi.common.core.constant.basic.SecurityConstants;
import com.xueyi.common.core.context.SecurityContextHolder;
import com.xueyi.common.core.web.result.R;
import com.xueyi.common.core.web.vo.DeviceTenantSourceMergeVo;
import com.xueyi.common.redis.service.RedisService;
import com.xueyi.common.redis.utils.RedisUtil;
import com.xueyi.common.security.annotation.InnerAuth;
import com.xueyi.common.web.annotation.TenantIgnore;
import com.xueyi.common.web.constant.ResponseCode;
import com.xueyi.file.api.feign.RemoteFileService;
import com.xueyi.system.api.model.Source;
import com.xueyi.system.api.pass.domain.po.DmRecognizedRecordsPo;
@@ -19,6 +21,7 @@ import com.xueyi.system.pass.mapper.DmRecognizedRecordsMapper;
import com.xueyi.system.resource.controller.api.MyBaseApiController;
import com.xueyi.system.staff.service.impl.DmStaffServiceImpl;
import com.xueyi.tenant.api.tenant.domain.dto.TeTenantDto;
import com.xueyi.tenant.api.tenant.domain.po.SysEnterpriseStaffPo;
import com.xueyi.tenant.api.tenant.feign.RemoteTenantService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -64,6 +67,35 @@ public class DmStaffApiController extends MyBaseApiController {
}


@GetMapping(value = "ableLogin/{phone}")
@ResponseBody
public JSONObject ableLogin(@PathVariable("phone") String phone){
R<SysEnterpriseStaffPo> staffPoR = tenantService.queryStaff(phone, SecurityConstants.INNER);
if (staffPoR.isOk() && null != staffPoR.getData()) {
return outputSuccess().toJSON();
} else {
return output(ResponseCode.DATA_NOT_EXISTS, "该手机号未注册").toJSON();
}
}

@Autowired
private RedisService redisService;


@GetMapping(value = "validCode/{phone}/{code}")
@ResponseBody
public JSONObject validLogin(@PathVariable("phone") String phone,@PathVariable("code") String code){

String cachedCode = redisService.getCacheObject("codes:phones:"+phone);
if (cachedCode.equalsIgnoreCase(code)) {
return outputSuccess().toJSON();
} else {
return output(ResponseCode.CHECK_PARAMS_ERROR, "验证码不存在或不匹配").toJSON();
}

}


@PostMapping(value = "new-staff")
@ResponseBody
public com.alibaba.fastjson2.JSONObject newStaff(@RequestBody DmStaffCommonDto commonDto){
@@ -91,7 +123,6 @@ public class DmStaffApiController extends MyBaseApiController {

R<List<TeTenantDto>> listR = tenantService.tenantList();
if (listR.isFail()) {
System.out.println("租户列表获取失败");
return null;
}
List<TeTenantDto> res = listR.getData();
@@ -122,14 +153,13 @@ public class DmStaffApiController extends MyBaseApiController {
public R<List<DmRecognizedRecordsPo>> recognizedRecords(){
R<List<TeTenantDto>> listR = tenantService.tenantList();
if (listR.isFail()) {
System.out.println("租户列表获取失败");
return null;
}
List<TeTenantDto> res = listR.getData();
TeTenantDto teTenantDto = res.get(0);
if (teTenantDto != null) {
Source source = SourceUtil.getSourceCache(teTenantDto.getStrategyId());
// return countJson;
return staffService._recognizedRecords(teTenantDto.getId(), source.getMaster(), SecurityConstants.INNER);
}
return null;
@@ -156,7 +186,7 @@ public class DmStaffApiController extends MyBaseApiController {
for (int i = 0; i < urlList.size(); i += batchSize) {
int endIndex = Math.min(i + batchSize, urlList.size());
List<String> batch = urlList.subList(i, endIndex);
if (batch.size() > 0) {
if (!batch.isEmpty()) {
remoteFileService.deleteFiles(batch.toArray(new String[batch.size()]));
}
}


+ 15
- 1
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/controller/api/DmStaffInnerApiController.java 查看文件

@@ -5,12 +5,13 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.xueyi.common.core.constant.basic.SecurityConstants;
import com.xueyi.common.core.constant.basic.SqlConstants;
import com.xueyi.common.core.context.SecurityContextHolder;
import com.xueyi.common.core.web.result.R;
import com.xueyi.common.security.annotation.InnerAuth;
import com.xueyi.common.web.constant.ResponseCode;
import com.xueyi.system.api.digitalmans.domain.po.DmVisitorsPo;
import com.xueyi.system.api.resource.domain.po.DmResourcesPo;
import com.xueyi.system.api.staff.domain.dto.DmStaffCommonDto;
import com.xueyi.system.api.staff.domain.po.DmPersonFeaturePo;
import com.xueyi.system.api.staff.domain.po.DmStaffPo;
@@ -23,6 +24,8 @@ import com.xueyi.system.staff.mapper.DmPersonFeatureMapper;
import com.xueyi.system.staff.mapper.DmStaffMapper;
import com.xueyi.system.staff.mapper.DmVisitorsMapper;
import com.xueyi.system.staff.service.impl.DmStaffServiceImpl;
import com.xueyi.tenant.api.tenant.domain.po.SysEnterpriseStaffPo;
import com.xueyi.tenant.api.tenant.feign.RemoteTenantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@@ -98,6 +101,9 @@ public class DmStaffInnerApiController extends MyBaseApiController {
@Autowired
private SysEnterpriseServiceImpl enterpriseService;

@Autowired
private RemoteTenantService tenantService;

@InnerAuth
@PostMapping(value = "new-staff")
@ResponseBody
@@ -165,6 +171,14 @@ public class DmStaffInnerApiController extends MyBaseApiController {
}
}

//以下代码添加主库企业和员工的关系映射表,用于手机号登录以及小程序登录
SysEnterpriseStaffPo enterpriseStaff = new SysEnterpriseStaffPo();
enterpriseStaff.setPhone(staffPo.getPhone());
enterpriseStaff.setId(id);
Long tenantId = SecurityContextHolder.getEnterpriseId();
enterpriseStaff.setTId(tenantId);
tenantService.saveEnterpriseStaff(enterpriseStaff, SecurityConstants.INNER);

}

return outputSuccess().toJSON();


+ 1
- 0
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmStaffServiceImpl.java 查看文件

@@ -145,6 +145,7 @@ public class DmStaffServiceImpl extends BaseServiceImpl<DmStaffQuery, DmStaffDto
if (null != staff.getResourceId()) {
resourcesMapper.deleteById(staff.getResourceId());
}
tenantService.delEnterpriseStaff(new SysEnterpriseStaffPo(staff.getId()), SecurityConstants.INNER);
staffMapper.deleteById(staff.getId());
}



+ 4
- 2
xueyi-modules/xueyi-system/src/main/java/com/xueyi/system/staff/service/impl/DmVisitRecordsServiceImpl.java 查看文件

@@ -189,7 +189,7 @@ public class DmVisitRecordsServiceImpl extends BaseServiceImpl<DmVisitRecordsQue
}

json.put("code", code);
json.put("nickName", visitorsPo.getName());
json.put("nickName", StringUtils.isNotEmpty(visitorsPo.getNickname()) ? visitorsPo.getNickname() : visitorsPo.getName());
json.put("robotName", dmDigitalmanPo.getName());
json.put("dateTime", LocalDateTimeUtil.format(po.getVisitDate(), MyDateUtils.DEFAULT_DATE_PATTERN));
json.put("companyName", dmVisitorSmsConfigPo!=null?dmVisitorSmsConfigPo.getCompanyName():"");
@@ -228,14 +228,16 @@ public class DmVisitRecordsServiceImpl extends BaseServiceImpl<DmVisitRecordsQue
SmsReqEntity send = new SmsReqEntity();
try {
if (null != visitorsPo && StringUtils.isNotEmpty(visitorsPo.getPhone()) && BooleanUtil.isTrue(visitorsPo.getFlexVisit())) {
DmVisitorSmsConfigPo dmVisitorSmsConfigPo = visitorSmsConfigMapper.selectOne(Wrappers.<DmVisitorSmsConfigPo>query().lambda().last(SqlConstants.LIMIT_ONE));

DmDigitalmanPo dmDigitalmanPo = digitalmanMapper.selectByCode(digitalmanExtMapper.selectOne(Wrappers.<DmDigitalmanExtPo>query().lambda().last(SqlConstants.LIMIT_ONE)).getManCode());


JSONObject json = new JSONObject();

json.put("nickName", visitorsPo.getName());
json.put("nickName", StringUtils.isNotEmpty(visitorsPo.getNickname()) ? visitorsPo.getNickname() : visitorsPo.getName());
json.put("robotName", dmDigitalmanPo.getName());
json.put("companyName", dmVisitorSmsConfigPo!=null?dmVisitorSmsConfigPo.getCompanyName():"");
//给访客发送短信

send.setPhone(visitorsPo.getPhone());


+ 3
- 0
xueyi-modules/xueyi-system/src/main/resources/mapper/staff/DmStaffMapper.xml 查看文件

@@ -27,6 +27,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectStaffFeaturesList" parameterType="DmStaffFeature" resultMap="DmStaffFeatureResult">
select s.id, s.user_name as name, s.update_time,s.user_type, s.nick_name, s.del_flag, r.feature from dm_staff s left join dm_resources as r on s.resource_id = r.id
where (UNIX_TIMESTAMP(s.update_time) * 1000 > #{timestamp} or UNIX_TIMESTAMP(s.create_time) * 1000 > #{timestamp}) and r.feature is not null
union all
select s.id, s.user_name as name, s.update_time,s.user_type, s.nick_name, s.del_flag, r.feature from dm_staff s left join dm_person_feature as r on s.id = r.id
where (UNIX_TIMESTAMP(s.update_time) * 1000 > #{timestamp} or UNIX_TIMESTAMP(s.create_time) * 1000 > #{timestamp}) and r.feature is not null
</select>
<select id="selectVisitorFeaturesList" parameterType="DmStaffFeature" resultMap="DmStaffFeatureResult">


Loading…
取消
儲存