From 466715915bed38c0b97d2f6bae839c37b7d25385 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Sun, 6 Aug 2023 16:16:18 +0800 Subject: [PATCH] 2023-08-06 --- .../ProjectInformationMapper.java | 8 +- .../ProjectInformationRest.java | 4 + .../ProjectInformationService.java | 31 +++++- .../crm/biz/userproject/UserProject.java | 43 +++++++++ .../crm/biz/userproject/UserProjectDto.java | 46 +++++++++ .../biz/userproject/UserProjectMapper.java | 22 +++++ .../crm/biz/userproject/UserProjectMapper.xml | 24 +++++ .../crm/biz/userproject/UserProjectQuery.java | 46 +++++++++ .../crm/biz/userproject/UserProjectRest.java | 64 +++++++++++++ .../biz/userproject/UserProjectService.java | 63 ++++++++++++ .../crm/biz/userproject/UserProjectVo.java | 46 +++++++++ .../crm/feign/system/SysUserFeign.java | 4 + .../biz/projectdaily/ProjectDailyService.java | 12 ++- .../biz/stock/ReportStockDayService.java | 14 +-- .../report/biz/stock/StockDayRest.java | 13 ++- .../report/biz/wechat/WechatRest.java | 95 +++++++++++++++++-- .../supervise/report/ds/crm/CrmMapper.java | 6 ++ .../supervise/report/ds/crm/UserProject.java | 43 +++++++++ .../supervise/report/ds/system/SysUser.java | 74 +++++++++++++++ .../report/ds/system/systemMapper.java | 19 ++++ .../yxt/supervise/system/sysuser/SysUser.java | 4 + .../supervise/system/sysuser/SysUserRest.java | 5 + .../system/sysuser/SysUserService.java | 19 +++- 23 files changed, 681 insertions(+), 24 deletions(-) create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProject.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectDto.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.xml create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectQuery.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectRest.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectService.java create mode 100644 yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectVo.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/UserProject.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/SysUser.java create mode 100644 yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationMapper.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationMapper.java index 072a183a..3c8cc84a 100644 --- a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationMapper.java +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationMapper.java @@ -23,9 +23,11 @@ public interface ProjectInformationMapper extends BaseMapper @Select("select * from project_information") List listAll(); ProjectInformationVo getProjectBySid( @Param("sid") String sid); - @Select("select p.*,i.enterpriseName as enterpriseName from project_information p left join enterprise_project e on e.projectSid=p.sid left join enterprise_information i on i.sid=e.enterpriseSid") + @Select("select p.*,i.enterpriseName as enterpriseName from project_information p left join enterprise_project e on e.projectSid=p.sid left join enterprise_information i on i.sid=e.enterpriseSid where p.managerSid=#{sid}") List getProjectByUserSid( @Param("sid") String sid); - - + @Select("select p.*,i.enterpriseName as enterpriseName from project_information p left join enterprise_project e on e.projectSid=p.sid left join enterprise_information i on i.sid=e.enterpriseSid where p.bankSid=#{sid}") + List getProjectByBankSid( @Param("sid") String sid); + @Select("select p.*,i.enterpriseName as enterpriseName from project_information p left join enterprise_project e on e.projectSid=p.sid left join enterprise_information i on i.sid=e.enterpriseSid") + List getProjectByUser( @Param("sid") String sid); void insertFiles(List> maps); } diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationRest.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationRest.java index 9069bc45..07413e15 100644 --- a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationRest.java +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationRest.java @@ -6,6 +6,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.supervise.crm.api.projectinformation.*; import com.yxt.supervise.crm.api.storehouseproject.StoreHouseProjectDto; +import com.yxt.supervise.crm.feign.system.SysUserFeign; import com.yxt.supervise.crm.feign.wh.ShStorehouseFeign; import com.yxt.supervise.crm.feign.wh.StoreHouseProjectFeign; import io.swagger.annotations.Api; @@ -13,6 +14,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -29,6 +31,8 @@ public class ProjectInformationRest implements ProjectInformationFeign { ShStorehouseFeign shStorehouseFeign; @Autowired StoreHouseProjectFeign storeHouseProjectFeign; + @Autowired + SysUserFeign sysUserFeign; @ApiOperation("根据条件分页查询数据的列表") @PostMapping("/listPage") diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java index 49e65303..d3674c51 100644 --- a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/projectinformation/ProjectInformationService.java @@ -9,17 +9,23 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.crm.api.bankmanager.BankManager; import com.yxt.supervise.crm.api.enterpriseproject.EnterpriseProjectVo; import com.yxt.supervise.crm.api.projectinformation.ProjectInformation; import com.yxt.supervise.crm.api.projectinformation.ProjectInformationDto; import com.yxt.supervise.crm.api.projectinformation.ProjectInformationQuery; import com.yxt.supervise.crm.api.projectinformation.ProjectInformationVo; +import com.yxt.supervise.crm.biz.bankmanager.BankManagerService; import com.yxt.supervise.crm.biz.enterpriseproject.EnterpriseProjectService; +import com.yxt.supervise.crm.biz.loanbankinformation.LoanBankInformationService; +import com.yxt.supervise.crm.feign.system.SysUserFeign; import com.yxt.supervise.crm.feign.wh.StoreHouseProjectFeign; +import com.yxt.supervise.system.sysuser.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.util.*; /** @@ -32,6 +38,12 @@ public class ProjectInformationService extends MybatisBaseService listPageVo(PagerQuery pq) { ProjectInformationQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -96,8 +108,25 @@ public class ProjectInformationService extends MybatisBaseService getProjectByUserSid(String sid){ - List bank=baseMapper.getProjectByUserSid(sid); + SysUser s =sysUserFeign.getUserBySid(sid).getData(); + //银行人员 + if(s.getUserType().equals("3")){ + BankManager b=bankManagerService.getOne(new QueryWrapper().eq("sid",s.getStaffSid())); +// bankInformationService. + for(String name:s.getRoleNames()){ + if(name.equals("银行行长")){ + List bank=baseMapper.getProjectByBankSid(b.getBankSid()); + return bank; + } + } + List bank=baseMapper.getProjectByUserSid(s.getStaffSid()); + return bank; + }else if(s.getUserType().equals("1")){ + //监管人员 + } + List bank=baseMapper.getProjectByUser(s.getStaffSid()); return bank; + } public ResultBean delete(String sid) { ResultBean rb=new ResultBean(); diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProject.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProject.java new file mode 100644 index 00000000..cc85b8b4 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProject.java @@ -0,0 +1,43 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.EntityWithId; + +/** + * @author wangpengfei + * @date 2023/8/6 11:34 + */ +@TableName("user_project") +public class UserProject extends EntityWithId { + + private String sid; + private String projectSid; + private String userSid; + + + + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getProjectSid() { + return projectSid; + } + + public void setProjectSid(String projectSid) { + this.projectSid = projectSid; + } + + public String getUserSid() { + return userSid; + } + + public void setUserSid(String userSid) { + this.userSid = userSid; + } +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectDto.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectDto.java new file mode 100644 index 00000000..6caa9a11 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectDto.java @@ -0,0 +1,46 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.yxt.common.core.dto.Dto; + +/** + * @author wangpengfei + * @date 2023/8/6 11:34 + */ +public class UserProjectDto implements Dto { + private String id; + private String sid; + private String projectSid; + private String userSid; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getProjectSid() { + return projectSid; + } + + public void setProjectSid(String projectSid) { + this.projectSid = projectSid; + } + + public String getUserSid() { + return userSid; + } + + public void setUserSid(String userSid) { + this.userSid = userSid; + } +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.java new file mode 100644 index 00000000..82c17c53 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.java @@ -0,0 +1,22 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/8/6 11:36 + */ +@Mapper +public interface UserProjectMapper extends BaseMapper { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + List typeList(); + UserProjectVo getProjectTypeBySid( @Param("sid") String sid); + +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.xml b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.xml new file mode 100644 index 00000000..bcfa6f58 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectQuery.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectQuery.java new file mode 100644 index 00000000..a809afde --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectQuery.java @@ -0,0 +1,46 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.yxt.common.core.query.Query; + +/** + * @author wangpengfei + * @date 2023/8/6 11:35 + */ +public class UserProjectQuery implements Query { + private String id; + private String sid; + private String projectSid; + private String userSid; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getProjectSid() { + return projectSid; + } + + public void setProjectSid(String projectSid) { + this.projectSid = projectSid; + } + + public String getUserSid() { + return userSid; + } + + public void setUserSid(String userSid) { + this.userSid = userSid; + } +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectRest.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectRest.java new file mode 100644 index 00000000..27ad7331 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectRest.java @@ -0,0 +1,64 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/8/6 11:34 + */ +@Api(tags = "用户项目关联") +@RestController +@RequestMapping("userproject") +public class UserProjectRest { + + @Autowired + UserProjectService UserProjectService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = UserProjectService.listPageVo(pq); + return rb.success().setData(pv); + } + @ApiOperation("查询项目类型字典") + @PostMapping("/list") + public ResultBean> listPage() { + ResultBean rb = ResultBean.fireFail(); + List pv = UserProjectService.typeList(); + return rb.success().setData(pv); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody UserProjectDto dto) { + return UserProjectService.save(dto); + } + @ApiOperation("修改") + @PostMapping("/update") + public ResultBean update(@RequestBody UserProjectDto dto) { + return UserProjectService.update(dto); + } + @ApiOperation("根据sid查询") + @GetMapping("/getProjTypeBySid/{sid}") + public ResultBean getWarehouse(@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + UserProjectVo UserProjectVo=UserProjectService.getProjectTypeBySid(sid); + return rb.success().setData(UserProjectVo); + } + @ApiOperation("删除") + @DeleteMapping("/delete/{sid}") + public ResultBean delete(@PathVariable String sid) { + return UserProjectService.delete(sid); + } + + + +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectService.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectService.java new file mode 100644 index 00000000..ccc4eb27 --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectService.java @@ -0,0 +1,63 @@ +package com.yxt.supervise.crm.biz.userproject; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/8/6 11:37 + */ +@Service +public class UserProjectService extends MybatisBaseService { + public PagerVo listPageVo(PagerQuery pq) { + UserProjectQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); +// if(StringUtils.isNotBlank(query.getTypeName())){ +// qw.like("projectType",query.getTypeName()); +// } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List typeList() { + List pagging = baseMapper.typeList(); + return pagging; + } + public ResultBean save(UserProjectDto dto) { + ResultBean rb=new ResultBean(); + UserProject entity=new UserProject(); +// dto.setProjectType(dto.getTypeName()); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("保存项目类型成功"); + } + public ResultBean update(UserProjectDto dto) { + ResultBean rb=new ResultBean(); + String dtoSid = dto.getSid(); +// dto.setProjectType(dto.getTypeName()); + UserProject entity=fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改项目类型成功"); + } + public UserProjectVo getProjectTypeBySid(String sid){ + UserProjectVo bank=baseMapper.getProjectTypeBySid(sid); + return bank; + } + public ResultBean delete(String sid) { + ResultBean rb=new ResultBean(); + baseMapper.delete(new QueryWrapper().eq("sid",sid)); + return rb.success().setMsg("删除项目类型成功"); + } +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectVo.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectVo.java new file mode 100644 index 00000000..112e02ee --- /dev/null +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/biz/userproject/UserProjectVo.java @@ -0,0 +1,46 @@ +package com.yxt.supervise.crm.biz.userproject; + +import com.yxt.common.core.query.Query; + +/** + * @author wangpengfei + * @date 2023/8/6 11:35 + */ +public class UserProjectVo implements Query { + private String id; + private String sid; + private String projectSid; + private String userSid; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getProjectSid() { + return projectSid; + } + + public void setProjectSid(String projectSid) { + this.projectSid = projectSid; + } + + public String getUserSid() { + return userSid; + } + + public void setUserSid(String userSid) { + this.userSid = userSid; + } +} diff --git a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/feign/system/SysUserFeign.java b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/feign/system/SysUserFeign.java index 4da795ed..013fb096 100644 --- a/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/feign/system/SysUserFeign.java +++ b/yxt_supervise/supervise-crm/supervise-crm-biz/src/main/java/com/yxt/supervise/crm/feign/system/SysUserFeign.java @@ -1,11 +1,13 @@ package com.yxt.supervise.crm.feign.system; import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.system.sysuser.SysUser; import com.yxt.supervise.system.sysuser.SysUserDto; import com.yxt.supervise.system.sysuser.SysUserFeignFallback; import com.yxt.supervise.system.sysuser.SysUserVo; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @@ -26,4 +28,6 @@ public interface SysUserFeign { @PostMapping(value = "/loginDetails", headers = "token") @ApiOperation("根据token值获取登录后的用户信息") public ResultBean loginDetails(HttpServletRequest httpServletRequest); + @GetMapping("/getUserBySid") + public ResultBean getUserBySid(@RequestParam("sid")String sid); } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyService.java index 83addaca..9c7db256 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyService.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDailyService.java @@ -3,6 +3,7 @@ package com.yxt.supervise.report.biz.projectdaily; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.unit.DataUnit; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -12,6 +13,7 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.report.biz.wechat.WechatRest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -32,6 +34,8 @@ public class ProjectDailyService extends ServiceImpl selectListPage(PagerQuery pq) { ProjectDailyQuery params = pq.getParams(); @@ -107,6 +111,12 @@ public class ProjectDailyService extends ServiceImpl { + try { + wechatRest.sendMessage(projectSid,orderDate); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); } } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/ReportStockDayService.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/ReportStockDayService.java index 48ca2032..e5925335 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/ReportStockDayService.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/ReportStockDayService.java @@ -126,13 +126,13 @@ public class ReportStockDayService extends ServiceImpl { - try { - wechatRest.selectReport(projectSid,orderDate); - } catch (Exception e) { - throw new RuntimeException(e); - } - }); +// ThreadUtil.execute(() -> { +// try { +// wechatRest.kcSendMessage(projectSid,orderDate); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// }); return null; } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/StockDayRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/StockDayRest.java index 9cdbc1bc..2e0e8c1a 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/StockDayRest.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/stock/StockDayRest.java @@ -6,6 +6,9 @@ import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.metadata.WriteSheet; import com.yxt.common.core.result.ResultBean; +import com.yxt.supervise.report.ds.crm.CrmMapper; +import com.yxt.supervise.report.ds.crm.UserProject; +import com.yxt.supervise.report.ds.system.systemMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @@ -33,6 +36,10 @@ public class StockDayRest { private ReportStockDayStoreService reportStockDayStoreService; @Autowired private ReportStockDayProductService reportStockDayProductService; + @Autowired + private com.yxt.supervise.report.ds.system.systemMapper systemMapper; + @Autowired + private CrmMapper crmMapper; @GetMapping("/getDayGather/{projectSid}/{orderDate}") public ResultBean getDayGather(@PathVariable("projectSid") String projectSid, @PathVariable("orderDate") String orderDate) { @@ -58,7 +65,11 @@ public class StockDayRest { @GetMapping("/buildReport/{projectSid}") public ResultBean buildReport(@PathVariable("projectSid") String projectSid) { ResultBean rb = ResultBean.fireFail(); - ReportStockDay pv = reportStockDayService.buildReportByProjectAndDay(projectSid); +// ListuserProjects=crmMapper.userProList(); + ReportStockDay pv=reportStockDayService.buildReportByProjectAndDay(projectSid); +// for(UserProject userProject:userProjects){ +// pv = reportStockDayService.buildReportByProjectAndDay(userProject.getProjectSid()); +// } return rb.success().setData(pv); } @GetMapping("/buildExcel/{projectSid}/{orderDate}") diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java index 16889dbe..4276c983 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/wechat/WechatRest.java @@ -16,6 +16,8 @@ import com.yxt.supervise.report.biz.reportinventory.ReportInventoryDayGatherMapp import com.yxt.supervise.report.biz.stock.ReportStockDay; import com.yxt.supervise.report.biz.stock.StockDayRest; import com.yxt.supervise.report.biz.util.WeixinCheckoutUtil; +import com.yxt.supervise.report.ds.crm.CrmMapper; +import com.yxt.supervise.report.ds.system.systemMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -66,6 +68,10 @@ public class WechatRest { MessagePushLogService messagePushLogService; @Autowired StockDayRest stockDayRest; + @Autowired + com.yxt.supervise.report.ds.system.systemMapper systemMapper; + @Autowired + CrmMapper crmMapper; @ApiOperation("token") @GetMapping(value = "token") public String wechate(String signature,String timestamp,String nonce,String echostr){ @@ -178,6 +184,11 @@ public class WechatRest { */ @PostMapping("/inventorySendMessage/{orderDate}") public void inventorySendMessage(@PathVariable("orderDate") String orderDate) throws Exception { + Listuser= crmMapper.suerList("983eefd8-6109-4e8e-bc1b-71e16e644170"); + List openIds=new ArrayList<>(); + for(String u:user){ + openIds.add(systemMapper.getOpenId(u)); + } ReportInventoryDayGatherVo csmCashReportVo=reportInventoryDayGatherMapper.getReportInventoryDayGather(orderDate); // 模板参数 Map sendMag = new HashMap(); @@ -187,15 +198,15 @@ public class WechatRest { String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); System.out.println("accessToken"+accessToken); String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); - List openIds=new ArrayList<>(); - openIds.add("oGdho60xVtWEXUks7nYEAn0tGlDE"); - openIds.add("oGdho66394A-4-NyumcJ1MEaT8Lo"); - openIds.add("oGdho68CArVhC_-7ELkG-jX21ruk"); - openIds.add("oGdho6yYB47f52HVk2NqirrFbRRk"); - openIds.add("oGdho6-12-ioAKeLhVUDYPucbDb4"); - openIds.add("oGdho668Hew45t0xfBJC84TNGVzI"); - openIds.add("oGdho624Cr3j_iZBj-0_HayKLNc4"); - openIds.add("oGdho6-LvwNY6KylgMlEG0C_JMmQ"); +// List openIds=new ArrayList<>(); +// openIds.add("oGdho60xVtWEXUks7nYEAn0tGlDE"); +// openIds.add("oGdho66394A-4-NyumcJ1MEaT8Lo"); +// openIds.add("oGdho68CArVhC_-7ELkG-jX21ruk"); +// openIds.add("oGdho6yYB47f52HVk2NqirrFbRRk"); +// openIds.add("oGdho6-12-ioAKeLhVUDYPucbDb4"); +// openIds.add("oGdho668Hew45t0xfBJC84TNGVzI"); +// openIds.add("oGdho624Cr3j_iZBj-0_HayKLNc4"); +// openIds.add("oGdho6-LvwNY6KylgMlEG0C_JMmQ"); String pa=""; JSONObject jsonObject=new JSONObject(); List list=new ArrayList<>(); @@ -318,6 +329,72 @@ public class WechatRest { }); //return forEntity.getBody(); } + /** + * 公共模版消息推送 + * @param orderDate + * @throws Exception + */ + @PostMapping("/SendMessage/{projectSid}/{orderDate}") + public void sendMessage(@PathVariable("projectSid") String projectSid,@PathVariable("orderDate") String orderDate) throws Exception { + Listuser= crmMapper.suerList(projectSid); + List openIds=new ArrayList<>(); + for(String u:user){ + openIds.add(systemMapper.getOpenId(u)); + } + ReportStockDay reportStockDay=stockDayRest.getDayGather(projectSid,orderDate).getData(); + // 模板参数 + Map sendMag = new HashMap(); + // 公众号的模板id(也有相应的接口可以查询到) + String templateId = "BT6BHEojCmgWNTcpz1raHNIpJEEISP1E134btP51p_8"; + //微信的基础accessToken + String accessToken=getAccessToken(APP_ID_BIZ,APPSECRETBIZ); + String wxUrl = WX_URL_MESSAGE_SEND.replace("ACCESS_TOKEN", accessToken); + String pa=""; + JSONObject jsonObject=new JSONObject(); + List list=new ArrayList<>(); + for(String openId:openIds){ + 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 miniprogram = new HashMap<>(); + miniprogram.put("appid","wx05604ce2a8bede05"); + miniprogram.put("pagepath","pages/index/RegulatoryReporting?orderDate="+reportStockDay.getOrderDate()+"&"+"projectSid="+reportStockDay.getProjectSid()); + pa=miniprogram.get("pagepath"); + RestTemplate restTemplate = new RestTemplate(); + //拼接base参数 + Map sendBody = new HashMap<>(); + sendBody.put("miniprogram",miniprogram); + sendBody.put("touser", openId); // openId + sendBody.put("url", ""); // 点击模板信息跳转地址 + sendBody.put("topcolor", "#FF0000"); // 顶色 + sendBody.put("data", sendMag); // 模板参数 + sendBody.put("template_id", templateId);// 模板Id + ResponseEntity forEntity = restTemplate.postForEntity(wxUrl, sendBody, String.class); + jsonObject = JSONObject.parseObject(forEntity.getBody()); + } + // 0 + String messageCode = jsonObject.getString("errcode"); + // 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(); + } /** * 山海光伏库存推送 * @param orderDate diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java index 0a7ab6b0..95342e16 100644 --- a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/CrmMapper.java @@ -6,10 +6,16 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; + @DS("crm") @Mapper public interface CrmMapper extends BaseMapper { @Select("select sid,entryName from project_information where sid=#{sid}") ProjectInfo fetchBySid(@Param("sid") String sid); + @Select("select * from user_project group by projectSid") + List userProList (); + @Select("select userSid from user_project where projectSid=#{projectSid}") + List suerList(@Param("projectSid") String projectSid); } diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/UserProject.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/UserProject.java new file mode 100644 index 00000000..87a4d2a4 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/crm/UserProject.java @@ -0,0 +1,43 @@ +package com.yxt.supervise.report.ds.crm; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.EntityWithId; + +/** + * @author wangpengfei + * @date 2023/8/6 11:34 + */ +@TableName("user_project") +public class UserProject extends EntityWithId { + + private String sid; + private String projectSid; + private String userSid; + + + + + public String getSid() { + return sid; + } + + public void setSid(String sid) { + this.sid = sid; + } + + public String getProjectSid() { + return projectSid; + } + + public void setProjectSid(String projectSid) { + this.projectSid = projectSid; + } + + public String getUserSid() { + return userSid; + } + + public void setUserSid(String userSid) { + this.userSid = userSid; + } +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/SysUser.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/SysUser.java new file mode 100644 index 00000000..f4eb6377 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/SysUser.java @@ -0,0 +1,74 @@ +package com.yxt.supervise.report.ds.system; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUser.java
+ * Class: SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表", description = "用户表") +@TableName("sys_user") +@Data +public class SysUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("密码修改时限") + private String pwdDayslimit; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("最后一次密码修改时间") + private Date pwdModifyTime; + + @ApiModelProperty("在线状态(0为离线、1为在线)") + private Integer onlineState; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + + @ApiModelProperty("用户头像") + private String headImage; + private String openId; + private String appletOpenid; + @TableField(exist = false) + private List roleNames; +} diff --git a/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java new file mode 100644 index 00000000..43408480 --- /dev/null +++ b/yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/ds/system/systemMapper.java @@ -0,0 +1,19 @@ +package com.yxt.supervise.report.ds.system; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.supervise.report.ds.crm.ProjectInfo; +import com.yxt.supervise.report.ds.crm.UserProject; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@DS("system") +@Mapper +public interface systemMapper extends BaseMapper { + + @Select("select openid from sys_user where sid=#{userSid}") + String getOpenId(@Param("userSid") String userSid); +} diff --git a/yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java b/yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java index 0fc862da..523462d6 100644 --- a/yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java +++ b/yxt_supervise/supervise-system/supervise-system-api/src/main/java/com/yxt/supervise/system/sysuser/SysUser.java @@ -1,5 +1,6 @@ package com.yxt.supervise.system.sysuser; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.domain.BaseEntity; @@ -8,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * Project: anrui_portal(门户建设)
@@ -67,4 +69,6 @@ public class SysUser extends BaseEntity { private String headImage; private String openId; private String appletOpenid; + @TableField(exist = false) + private List roleNames; } diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java index 0ac339c8..c6b3237b 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java @@ -253,6 +253,11 @@ public class SysUserRest implements SysUserFeign { } return new ResultBean().success().setMsg("删除成功"); } + @GetMapping("/getUserBySid") + public ResultBean getUserBySid(@RequestParam("sid")String sid) { + SysUser sysUser = sysUserService.getUserBySid(sid); + return new ResultBean().success().setData(sysUser); + } @Override public ResultBean getSysUserByMobile(String staffSid) { diff --git a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java index b4d9b172..75a4c889 100644 --- a/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java +++ b/yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.supervise.system.config.DictCommonType; import com.yxt.supervise.system.sysorganization.SysOrganization; import com.yxt.supervise.system.sysorganization.SysOrganizationService; +import com.yxt.supervise.system.sysrole.SysRole; import com.yxt.supervise.system.sysrole.SysRoleService; import com.yxt.supervise.system.sysstaffinfo.SysStaffinfo; import com.yxt.supervise.system.sysstaffinfo.SysStaffinfoService; @@ -28,6 +29,8 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.supervise.system.sysuser.app.AppUserOrgInfoVo; import com.yxt.supervise.system.sysuser.app.OrgList; import com.yxt.supervise.system.sysuser.wx.*; +import com.yxt.supervise.system.sysuserrole.SysUserRole; +import com.yxt.supervise.system.sysuserrole.SysUserRoleService; import com.yxt.supervise.system.sysuserwxauth.SysUserWxAuth; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; @@ -101,6 +104,8 @@ public class SysUserService extends MybatisBaseService { private ImageUploadUtil imageUploadUtil; @Autowired private SysRoleService sysRoleService; + @Autowired + private SysUserRoleService userRoleService; public PagerVo listPage(PagerQuery pq) { @@ -210,7 +215,17 @@ public class SysUserService extends MybatisBaseService { } return vo; } - + public SysUser getUserBySid(String sid) { + SysUser entity = this.fetchBySid(sid); + List s=userRoleService.list(new QueryWrapper().eq("userSid",sid)); + List roles=new ArrayList<>(); + for(SysUserRole sysUserRole:s){ + SysRole sysRole=sysRoleService.getOne(new QueryWrapper().eq("sid",sysUserRole.getRoleSid())); + roles.add(sysRole.getName()); + } + entity.setRoleNames(roles); + return entity; + } /** * 初始化密码,给用户发送手机短信 * @@ -1174,7 +1189,7 @@ public class SysUserService extends MybatisBaseService { SysUserVo sysUserVo=setUserRedisSessionToken(sysUser); SysUserLoginVo sysUserLoginVo = new SysUserLoginVo(); sysUserLoginVo.setSysUserSid(sysUser.getSid()); - sysUserLoginVo.setToken(sysUserVo.getToken()); +// sysUserLoginVo.setToken(sysUserVo.getToken()); sysUserLoginVo.setIsLogin(true); sysUser.setToken(sysUserVo.getToken()); return rb.success().setData(sysUser);