Browse Source

2023-08-07

master
wangpengfei 2 years ago
parent
commit
55225733d7
  1. 10
      yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java
  2. 56
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java
  3. 2
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java
  4. 3
      yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java
  5. 1
      yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/wx/SysUserWxBindMobileDto.java
  6. 202
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java

10
yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java

@ -82,8 +82,10 @@ public class ProjectInformationService extends MybatisBaseService<ProjectInforma
dto.getStoreHouseProjectDto().setProjectSid(entity.getSid());
storeHouseProjectFeign.saveOrUpdateDto(dto.getStoreHouseProjectDto());
//绑定企业
dto.getEnterpriseProjectDto().setProjectSid(entity.getSid());
enterpriseProjectService.save(dto.getEnterpriseProjectDto());
if(null!=dto.getEnterpriseProjectDto()){
dto.getEnterpriseProjectDto().setProjectSid(entity.getSid());
enterpriseProjectService.save(dto.getEnterpriseProjectDto());
}
baseMapper.insert(entity);
return rb.success().setMsg("保存项目信息成功");
}
@ -97,7 +99,9 @@ public class ProjectInformationService extends MybatisBaseService<ProjectInforma
dto.getStoreHouseProjectDto().setProjectSid(entity.getSid());
storeHouseProjectFeign.saveOrUpdateDto(dto.getStoreHouseProjectDto());
//绑定企业
enterpriseProjectService.update(dto.getEnterpriseProjectDto());
if(null!=dto.getEnterpriseProjectDto()){
enterpriseProjectService.update(dto.getEnterpriseProjectDto());
}
baseMapper.updateById(entity);
return rb.success().setMsg("修改项目信息成功");
}

56
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java

@ -339,7 +339,8 @@ public class WechatRest {
List<String>user= crmMapper.suerList(projectSid);
List<String> openIds=new ArrayList<>();
for(String u:user){
openIds.add(systemMapper.getOpenId(u));
String id=systemMapper.getOpenId(u);
openIds.add(id);
}
ReportStockDay reportStockDay=stockDayRest.getDayGather(projectSid,orderDate).getData();
// 模板参数
@ -483,35 +484,36 @@ public class WechatRest {
* @throws Exception
*/
@PostMapping("/sendMessages")
public void sendMessages(String orderDate) throws Exception {
public void sendMessages(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate) throws Exception {
ReportStockDay reportStockDay=stockDayRest.getDayGather(projectSid,orderDate).getData();
List <String> user= crmMapper.suerList(projectSid);
List<String> openIds=new ArrayList<>();
for(String u:user){
String id=systemMapper.getOpenIdByStatus(u);
openIds.add(id);
}
CsmCashReportVo csmCashReportVo=csmCashReportMapper.getCsmCashReport(orderDate);
// openId代表一个唯一微信用户,即微信消息的接收人
// String openId="otnrM57kui-WCUmRtChhb1HguOgw";
//郭
// String openId="otnrM544hxIgkMOfaDU8VpJhj_6k";
//刘
//String openId ="otnrM5ySvUo7ZZc4qafWzM9eyKBk";
//聂总
// otnrM521f8KcCsRfL2Jj4Tk8np1g
// 模板参数
Map<String, Template> sendMag = new HashMap<String, Template>();
// 公众号的模板id(也有相应的接口可以查询到)
String templateId = "jvfjnNpuT_4rfhiV1aWW31qK31-CnICoIAp5Bgco8hw";
//微信的基础accessToken
String accessToken=getAccessTokenBiz(APP_ID_BIZ,APPSECRETBIZ);
String wxUrl = WX_URL_MESSAGE_BIZ_SEND.replace("ACCESS_TOKEN", accessToken);
List<String> openIds=new ArrayList<>();
openIds.add("oGdho668Hew45t0xfBJC84TNGVzI");
// openIds.add("otnrM521f8KcCsRfL2Jj4Tk8np1g");
// openIds.add("otnrM5ySvUo7ZZc4qafWzM9eyKBk");
String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ);
String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken);
JSONObject jsonObject=new JSONObject();
String pa="";
List<MessageOpenidDto> list=new ArrayList<>();
for(String openId:openIds){
sendMag.put("thing1", new Template("测试"));
sendMag.put("date3", new Template("2023-07-14"));
sendMag.put("thing2", new Template("测试"));
MessageOpenidDto dto=new MessageOpenidDto();
dto.setOpenId(openId);
list.add(dto);
sendMag.put("time1", new Template(reportStockDay.getReportTime()));
sendMag.put("thing2", new Template("质物库存汇总("+reportStockDay.getProjectName()+")"));
sendMag.put("thing3", new Template("赵丽晓"));
Map<String, String> miniprogram = new HashMap<>();
miniprogram.put("appid","");
miniprogram.put("pagepath","");
miniprogram.put("appid","wx05604ce2a8bede05");
miniprogram.put("pagepath","pages/index/InventorySummary?orderDate="+reportStockDay.getOrderDate()+"&"+"projectSid="+reportStockDay.getProjectSid());
pa=miniprogram.get("pagepath");
RestTemplate restTemplate = new RestTemplate();
//拼接base参数
Map<String, Object> sendBody = new HashMap<>();
@ -531,6 +533,18 @@ public class WechatRest {
// 2431260672639467520
String msgId = jsonObject.getString("msgid");
System.out.println("messageCode : " + messageCode + ", msgId: " +msgId);
MessagePushLogDto logDto=new MessagePushLogDto();
logDto.setContent(sendMag);
logDto.setMessageTime(reportStockDay.getReportTime());
logDto.setPagepath(pa);
logDto.setMessageOpenidDtos(list);
ThreadUtil.execute(() -> {
try {
messagePushLogService.save(logDto);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
//return forEntity.getBody();
}
public String getAccessTokenBiz(String appId,String appsecret) throws Exception {

2
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java

@ -16,4 +16,6 @@ public interface systemMapper extends BaseMapper<com.yxt.supervise.report.ds.sys
@Select("select openid from sys_user where sid=#{userSid}")
String getOpenId(@Param("userSid") String userSid);
@Select("select openid from sys_user where sid=#{userSid} and subscriptionStatus='1'")
String getOpenIdByStatus(@Param("userSid") String userSid);
}

3
yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java

@ -71,4 +71,7 @@ public class SysUser extends BaseEntity {
private String appletOpenid;
@TableField(exist = false)
private List<String> roleNames;
private String unionid;
//d订阅状态
private String subscriptionStatus;
}

1
yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/wx/SysUserWxBindMobileDto.java

@ -14,4 +14,5 @@ public class SysUserWxBindMobileDto implements Dto {
private String code;
//微信id
private String openid;
private String unionid;
}

202
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java

@ -335,61 +335,61 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
userInfoOneVo.setUserName(user.getUserName());
userInfoOneVo.setIsAdmin(user.getIsAdmin());
//类型为员工的组织机构信息
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData();
if (sysStaffOrg == null) {
return null;
}
userInfoOneVo.setRoleName("");
String dwjb = "";
// 系统管理员(没有对应的人员和单位)
//是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员
if ("0".equals(user.getIsAdmin())) {
userInfoOneVo.setName("系统管理员");
userInfoOneVo.setMobile("");
userInfoOneVo.setStaffSid("");
userInfoOneVo.setOrganizationName("无单位");
userInfoOneVo.setDepartmentName("无部门");
} else {
// 获取人员姓名
SysStaffinfo staffVo = sysStaffinfoService.fetchBySid(user.getStaffSid());
if (null != staffVo) {
userInfoOneVo.setName(staffVo.getName());
userInfoOneVo.setMobile(staffVo.getMobile());
userInfoOneVo.setStaffSid(staffVo.getSid());
// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath());
// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath());
if(user.getUserType().equals("3")){
} else if(user.getUserType().equals("1")){
SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData();
if (sysStaffOrg == null) {
return null;
}
// 尚无单位人员,没有单位和部门信息
if ("3".equals(user.getIsAdmin())) {
// 系统管理员(没有对应的人员和单位)
//是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员
if ("0".equals(user.getIsAdmin())) {
userInfoOneVo.setName("系统管理员");
userInfoOneVo.setMobile("");
userInfoOneVo.setStaffSid("");
userInfoOneVo.setOrganizationName("无单位");
userInfoOneVo.setDepartmentName("无部门");
} else {
userInfoOneVo.setOrganizationName("无单位");
userInfoOneVo.setDepartmentName("无部门");
List<SysStaffOrgVo> orgVoList = sysStaffOrgService.getSysStaffOrgListByStaff(user.getStaffSid());
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid());
userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid());
userInfoOneVo.setPostName(staffPostDetailsVo.getName());
if (orgVoList.size() > 0) {
//类型为员工的组织机构信息
SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0);
userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName());
userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid());
SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid());
if (sysOrganizationOne != null) {
String psid = sysOrganizationOne.getPsid();
String name = sysOrganizationService.fetchBySid(psid).getName();
userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName());
}
userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid());
userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName());
userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath());
userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath());
//根据orgSidPath查询分公司sid=====
userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath());
userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath());
// 获取人员姓名
SysStaffinfo staffVo = sysStaffinfoService.fetchBySid(user.getStaffSid());
if (null != staffVo) {
userInfoOneVo.setName(staffVo.getName());
userInfoOneVo.setMobile(staffVo.getMobile());
userInfoOneVo.setStaffSid(staffVo.getSid());
// userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath());
// userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath());
}
// 尚无单位人员,没有单位和部门信息
if ("3".equals(user.getIsAdmin())) {
userInfoOneVo.setOrganizationName("无单位");
userInfoOneVo.setDepartmentName("无部门");
} else {
userInfoOneVo.setOrganizationName("无单位");
userInfoOneVo.setDepartmentName("无部门");
List<SysStaffOrgVo> orgVoList = sysStaffOrgService.getSysStaffOrgListByStaff(user.getStaffSid());
SysStaffPostDetailsVo staffPostDetailsVo = sysStaffPostService.getPostByStaffSid(user.getStaffSid());
userInfoOneVo.setPostSid(staffPostDetailsVo.getPostSid());
userInfoOneVo.setPostName(staffPostDetailsVo.getName());
if (orgVoList.size() > 0) {
//类型为员工的组织机构信息
SysStaffOrgVo sysStaffOrgVo = orgVoList.get(0);
userInfoOneVo.setDepartmentName(sysStaffOrgVo.getOrgName());
userInfoOneVo.setDepartmentSid(sysStaffOrgVo.getOrgSid());
SysOrganization sysOrganizationOne = sysOrganizationService.fetchBySid(sysStaffOrgVo.getOrgSid());
if (sysOrganizationOne != null) {
String psid = sysOrganizationOne.getPsid();
String name = sysOrganizationService.fetchBySid(psid).getName();
userInfoOneVo.setPNameAndDepartmentNameAndPostName(name + "-" + sysStaffOrgVo.getOrgName());
}
userInfoOneVo.setOrganizationSid(sysStaffOrgVo.getOrgSid());
userInfoOneVo.setOrganizationName(sysStaffOrgVo.getOrgName());
userInfoOneVo.setOrgNamePath(sysStaffOrg.getOrgNamePath());
userInfoOneVo.setOrgSidPath(sysStaffOrg.getOrgSidPath());
//根据orgSidPath查询分公司sid=====
userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath());
userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath());
/* String orgSid = sysStaffOrgService.getOrgByOrgSid(sysStaffOrgVo.getOrgSid());
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid);
if (sysOrganization != null) {
@ -398,9 +398,13 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
} else {
userInfoOneVo.setDefaultOrgPathName("暂无组织机构");
}*/
}
}
}
}
userInfoOneVo.setRoleName("");
String dwjb = "";
// 设置用户的角色sids
List<String> roleSids = this.getUserRoleSids(user.getSid());
userInfoOneVo.setRoleSids(roleSids);
@ -1161,6 +1165,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
public ResultBean<SysUserLoginVo> wxSilentLogin(String wxCode) {
ResultBean rb = ResultBean.fireFail();
// 通过wxCode获取unionid,失败返回微信的错误提示。
ResultBean<JSONObject> rbJsonObject = wxLogin(wxCode,APP_ID,SECRET);
if (!rbJsonObject.getSuccess()){
JSONObject jsonObject = rbJsonObject.getData();
@ -1171,7 +1176,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
// 判断存在不存在unionid,用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明。、
JSONObject jsonObject = rbJsonObject.getData();
if (!jsonObject.containsKey("openid")){
return rb.setMsg("未获得openid,请参见auth.code2Session");
return rb.setMsg("未获得openid,请联系管理员");
}
//String unionid = jsonObject.get("unionid").toString();
String openid = jsonObject.get("openid").toString();
@ -1216,52 +1221,18 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (!jsonObject.containsKey("openid")){
return rb.setMsg("未获得openid,请参见auth.code2Session");
}
//String unionid = jsonObject.get("unionid").toString();
String unionid = jsonObject.get("unionid").toString();
String openid = jsonObject.get("openid").toString();
// 判断用户登陆授权表是否存在该用户unionid和openid,如果不存在就增加一条返回
SysUser sysUser=baseMapper.selectOne(new QueryWrapper<SysUser>().eq("appletOpenid",openid));
Map<String,String> map=new HashMap<>();
map.put("openid",openid);
map.put("unionid",unionid);
if(sysUser==null){
return rb.setMsg("此微信没有绑定用户").setCode("100").setData(openid);
return rb.setMsg("此微信没有绑定用户").setCode("100").setData(map);
}else{
}
// //SysUserWxAuth sysUserWxAuth = sysUserWxAuthService.fetchByUnionidAndOpenid(unionid,openid);
// if (null == sysUser) {
// // 添加一个新用户授权记录
// //sysUser.setUnionid(unionid);
// //sysUser.setOpenid(openid);
// int isSave = baseMapper.insert(sysUser);
// if ( isSave==0 ){
// return rb.setMsg("登陆:新增用户授权表失败");
// }
// return rb.setMsg(SysUserWxAuth_Not_Exist.getMsg()).setCode(SysUserWxAuth_Not_Exist.getCode());
// }
// // 如果用户Sid为空返回
// String sysUserSid = sysUserWxAuth.getSysUserSid();
// if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(sysUserSid) || sysUserSid == null){
// return rb.setMsg(SysUser_Sid_IsEmpty.getMsg()).setCode(SysUser_Sid_IsEmpty.getCode());
// }
// // 如果未找到用户记录返回
// SysUser sysUser = fetchBySid(sysUserSid);
// if (sysUser == null){
// return rb.setMsg(SysUser_Not_Exist.getMsg()).setCode(SysUser_Not_Exist.getCode());
// }
// // 如果未绑定手机号返回
// String mobile = sysUser.getMobile();
// if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(mobile) || mobile == null){
// return rb.setMsg(SysUser_Mobile_Not_Bind.getMsg()).setCode(SysUser_Mobile_Not_Bind.getCode());
// }
// // 如果设置为未登陆返回
// int isLogin = sysUser.getIsLogin();
// if (isLogin !=1){
// return rb.setMsg(SysUser_Not_Login.getMsg()).setCode(SysUser_Not_Login.getCode());
// }
// 获得Token
// String token = sysUser.getToken();
// if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(token) || token == null){
// return rb.setMsg("登陆:token为空").setCode("122016");
// }
// 重置Token失效时间
// {写代码}
SysUserLoginVo sysUserLoginVo = new SysUserLoginVo();
@ -1306,6 +1277,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (sysUser != null) {
sysUserSid = sysUser.getSid();
sysUser.setAppletOpenid(sysUserWxBindMobileDto.getOpenid());
sysUser.setUnionid(sysUserWxBindMobileDto.getUnionid());
int i= baseMapper.updateById(sysUser);
if (i>0){
return rb.success().setMsg("绑定成功").setData(sysUser);
@ -1313,54 +1285,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
else{
return rb.setMsg("绑定失败");
}
}else{
return rb.setMsg("您的平台应用未被授权,请联系工作人员。");
}
// 当用户Sid不为空时更新
// if(!com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(sysUserWxAuth.getSysUserSid()) && sysUserWxAuth.getSysUserSid() != null){
// sysUserSid = sysUserWxAuth.getSysUserSid();
// sysUser = fetchBySid(sysUserSid);
// if (sysUser != null){
// sysUser.setMobile(mobile);
// boolean isUpdate = updateById(sysUser);
// if (isUpdate){
// return rb.success().setMsg("绑定成功").setData(sysUserSid);
// }
// else{
// return rb.setMsg("绑定失败");
// }
// }
// }
// // 添加用户信息表
// SysUserInfoDto sysUserInfoDto = sysUserInfoService.setSysUserInfoDefaultValue();
// sysUserInfoDto.setMobile(mobile);
// ResultBean isSave = sysUserInfoService.saveSysUserInfo(sysUserInfoDto);
// if (!isSave.getSuccess()){
// return rb.setMsg("绑定用户新增用户信息表失败");
// }
// String sysUserInfoSid = isSave.getData().toString();
// sysUser = new SysUser();
// sysUser.setSysUserInfoSid(sysUserInfoSid);
// sysUser.setMobile(mobile);
// // 设置登陆名
// String timeNow = String.valueOf(System.currentTimeMillis());
// sysUser.setLoginName("user" + timeNow);
// sysUser.setIsLogin(1);
// sysUser.setIsAdmin(2);
// sysUser.setOnlineState(1);
// boolean isSaveSysUser = this.save(sysUser);
// if (!isSaveSysUser){
// return rb.setMsg("用户表保存失败");
// }
// // 更新用户微信授权表
// sysUserSid = sysUser.getSid();
// sysUserWxAuth.setSysUserSid(sysUserSid);
// boolean isUpdate = sysUserWxAuthService.updateById(sysUserWxAuth);
// if (isUpdate){
// return rb.success().setMsg("绑定成功").setData(sysUserSid);
// }
// else{
// return rb.setMsg("绑定失败");
// }
return rb;
}
}
Loading…
Cancel
Save