Browse Source

opt: 11/14提交修改

master
Yen 8 months ago
parent
commit
31afd9c05e
  1. 70
      src/main/java/com/qs/serve/common/util/TianYiYunSmsUtil.java
  2. 58
      src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java
  3. 1
      src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java
  4. 15
      src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java
  5. 3
      src/main/java/com/qs/serve/modules/visit/service/VisitThemeService.java
  6. 27
      src/main/java/com/qs/serve/modules/visit/service/impl/VisitThemeServiceImpl.java

70
src/main/java/com/qs/serve/common/util/TianYiYunSmsUtil.java

@ -0,0 +1,70 @@
package com.qs.serve.common.util;
import cn.hutool.crypto.digest.DigestUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
/**
* @author YenHex
* @since 2024/1/26
*/
@Slf4j
@Service
public class TianYiYunSmsUtil {
private final static String url = "http://sms.189ek.com/yktsms/send?";
private final static String appId = "WIgWyCFn4DnHLtjKBIXBVyZbGevFg3J4";
private final static String appKey = "bjfsZlF01OZPUzyiCLSFOrOOnfsZhYZJ";
/**
* 发送短信
* @param mobiles 需要发送的手机号(多个号码以英文逗号 ,分隔) 一次性最多 100 个号码
* @param message
*/
public static void send(String mobiles,String message){
String sign = DigestUtil.md5Hex(appId+mobiles+message+appKey);
try {
String msg = URLEncoder.encode(message,"utf-8");
String params = "appid="+ appId +
"&mobile="+ mobiles +
"&msg=" + msg +
"&sign=" + sign +
"&extPort=";
String result = HttpUtil.doPost(url + params,"{}",null);
log.debug("sms result = > {}",result);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
/**
* 发送短信通知申请人
* @param mobile 手机号
* @param url 拜访申请实例页面地址
* @param visitDate 来访时间
* @param accessUser 拜访的人员
*/
public static void sendVisitSuccess(String mobile,String url,LocalDateTime visitDate,String accessUser){
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分");
String visitDateFormat = visitDate.format(df);
String msg = "【嘉士利】预约成功通知:您的预约已被确认,请您于"+visitDateFormat +"访问:"+accessUser+
",您的访问信息如下:"+url+",点击链接展示来访二维码,门卫扫码即可完成登记。期待您的到访。";
send(mobile,msg);
}
public static void main(String[] args) {
String url = "https://crm.gdjsl.com/#/department-list";
LocalDateTime visitStartDate = LocalDateTime.now();
String accessUser = "员工2";
sendVisitSuccess("13286630016",url,visitStartDate,accessUser);
}
}

58
src/main/java/com/qs/serve/modules/visit/api/VisitMainOuterApi.java

@ -40,7 +40,7 @@ public class VisitMainOuterApi {
private VisitMainService visitMainService;
/**
* 用户查看访问申请记录
* 用户查看访问申请记录(已弃用旧版本使用微信鉴权)
* @param param
* @return
*/
@ -77,13 +77,13 @@ public class VisitMainOuterApi {
}
/**
* ID查询(查询主题id)
* ID查询(查询主题id(已弃用微信鉴权))
* @param id
* @return
*/
@GetMapping("/getThemeById/{id}")
//@GetMapping("/getThemeById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getByThemeId(@PathVariable("id") String id){
public R<VisitMainVo> getByThemeId_old(@PathVariable("id") String id){
WxUser wxUser = wxUserService.getCurrentWxUser();
VisitMain dbMain = visitMainService.getOne(new LambdaQueryWrapper<VisitMain>()
@ -101,7 +101,20 @@ public class VisitMainOuterApi {
}
/**
* 更新(主题id参数名 themeId )
* ID查询(查询主题id)
* @param id
* @return
*/
@GetMapping("/getThemeById/{id}")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY)
public R<VisitMainVo> getByThemeId(@PathVariable("id") String id){
VisitTheme visitTheme = visitThemeService.getById(id);
VisitMainVo mainVo = CopierUtil.copy(visitTheme,new VisitMainVo());
return R.ok(mainVo);
}
/**
* 更新(主题id参数名 themeId )(已弃用旧版本使用微信鉴权)
* @param param
* @return
*/
@ -144,6 +157,41 @@ public class VisitMainOuterApi {
@PostMapping("/submit")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.SUBMIT)
public R<?> submit(@RequestBody @Valid VisitMain param){
long count = visitMainService.count(new LambdaQueryWrapper<VisitMain>()
.eq(VisitMain::getThemeId,param.getThemeId())
.eq(VisitMain::getVisitorMobile,param.getVisitorMobile())
);
if(count>0){
return R.error("请勿重复提交");
}
VisitTheme visitTheme = visitThemeService.getById(param.getThemeId());
if(visitTheme==null){
return R.error("主题标识为空");
}
VisitMain entity = CopierUtil.copy(visitTheme,new VisitMain());
entity.setId(null);
param.setCheckState(null);
param.setVisitStatus(null);
param.setSubmitTime(null);
CopierUtil.copy(param,entity);
// 审批参数
param.setSyFormId("test");
param.setSubmitTime(LocalDateTime.now());
param.setCheckState(VisitMainConst.CheckState_1);
param.setVisitStatus(VisitMainConst.VisitStatus_1);
visitMainService.saveOrUpdate(param);
//visitMainService.submitOaFlow(param.getId());
return R.ok(param.getId());
}
/**
* 提交到OA
* @param param
* @return
*/
//@PostMapping("/submit")
@SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.SUBMIT)
public R<?> submit_old(@RequestBody @Valid VisitMain param){
WxUser wxUser = wxUserService.getCurrentWxUser();
if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){
if(param.getId()==null){

1
src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java

@ -123,6 +123,7 @@ public class VisitMain implements Serializable {
/** 来访人电话 */
@Length(max = 255,message = "来访人电话长度不能超过255字")
@NotNull(message = "来访人电话不可为空")
private String visitorMobile;
/** 来访人数合计 */

15
src/main/java/com/qs/serve/modules/visit/entity/VisitTheme.java

@ -35,6 +35,9 @@ public class VisitTheme implements Serializable {
/** 审批状态: 0=正常;1=关闭 */
private Integer stopState;
/** 跳过审批:0-需要审批;1-不需要审批 */
private Integer skipApprovalFlag;
/** 部门id */
@Length(max = 255,message = "部门id长度不能超过255字")
private String deptId;
@ -58,6 +61,18 @@ public class VisitTheme implements Serializable {
/** 接待地点 */
private String userRoom;
/** 接待地址 */
private String visitAddress;
/** 接待公司 */
private String visitCompany;
/** 接待地址 */
private String localX;
/** 接待公司 */
private String localY;
/** 预约拜访日期 */
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")

3
src/main/java/com/qs/serve/modules/visit/service/VisitThemeService.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.visit.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.flow.service.SeeYonOptionService;
import com.qs.serve.modules.visit.entity.VisitMain;
import com.qs.serve.modules.visit.entity.VisitTheme;
@ -9,7 +10,7 @@ import com.qs.serve.modules.visit.entity.VisitTheme;
* @author YenHex
* @date 2024-09-11
*/
public interface VisitThemeService extends IService<VisitTheme> {
public interface VisitThemeService extends IService<VisitTheme> , SeeYonOptionService {
}

27
src/main/java/com/qs/serve/modules/visit/service/impl/VisitThemeServiceImpl.java

@ -34,7 +34,32 @@ import java.util.Map;
*/
@Slf4j
@Service
public class VisitThemeServiceImpl extends ServiceImpl<VisitThemeMapper,VisitTheme> implements VisitThemeService {
public class VisitThemeServiceImpl extends ServiceImpl<VisitThemeMapper,VisitTheme> implements VisitThemeService, SeeYonOptionService {
@Override
public String loadTemplateCode() {
return null;
}
@Override
public Object doNext(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doBack(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doFinish(String targetId, TbsAffairCommitBo commit) {
return null;
}
@Override
public Object doRefuse(String targetId, TbsAffairCommitBo commit) {
return null;
}
}

Loading…
Cancel
Save