| ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfApplicationController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zhang-content/src/main/java/com/ruoyi/domain/ZfApplication.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zhang-content/src/main/java/com/ruoyi/mapper/ZfApplicationMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zhang-content/src/main/java/com/ruoyi/service/ZfApplicationService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zhang-content/src/main/java/com/ruoyi/service/impl/ZfApplicationServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -102,7 +102,7 @@ LocalDateTime startDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); long daysPassed = ChronoUnit.DAYS.between(startDateTime, LocalDateTime.now()); return AjaxResult.success(daysPassed > 7 ? "您的试用期已经结束,请付费继续使用":"您还有 " + (7L - daysPassed) + " 天的试用天数"); return AjaxResult.success(daysPassed > sysUser.getRemainTime() ? "您的试用期已经结束,请付费继续使用":"您还有 " + (sysUser.getRemainTime() - daysPassed) + " 天的试用天数"); }else return AjaxResult.success("尊敬的会员用户,您好!"); } ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZfApplicationController.java
New file @@ -0,0 +1,116 @@ package com.ruoyi.web.controller.zhang; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.domain.ZfApplication; import com.ruoyi.service.ZfApplicationService; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; @RestController @RequestMapping("/application") public class ZfApplicationController extends BaseController { @Resource private ZfApplicationService zfApplicationService; @Autowired private ISysUserService userService; @Autowired private SysUserRoleMapper sysUserRoleMapper; @GetMapping("/all") public AjaxResult listAll(ZfApplication zfApplication){ Long userId = SecurityUtils.getUserId(); SysUserRole role = sysUserRoleMapper.selectUserById(userId); Integer roleId = 0; if (role != null) roleId=role.getRoleId().intValue(); Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); return zfApplicationService.selectDoctorList(zfApplication, pageNum, pageSize,roleId); } /** * 获取 详细信息 */ // @PreAuthorize("@ss.hasPermi('system:property:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(zfApplicationService.getById(id)); } // /** * 新增 */ // @PreAuthorize("@ss.hasPermi('system:property:add')") @Log(title = " ", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ZfApplication zfApplication) { return zfApplicationService.addData(zfApplication); } /** * 审核 */ // @PreAuthorize("@ss.hasPermi('system:property:add')") @Log(title = " ", businessType = BusinessType.INSERT) @PostMapping("/status") public AjaxResult setStatus(@RequestBody ZfApplication zfApplication) { if(zfApplication.getStatus().equals("1")) { ZfApplication byId = zfApplicationService.getById(zfApplication.getId()); SysUser sysUser = userService.selectUserById(byId.getApplicant().longValue()); sysUser.setStatus("0"); Integer integer = zfApplication.getApplyDay() == null ? byId.getApplyDay() : zfApplication.getApplyDay(); sysUser.setRemainTime(sysUser.getRemainTime() + integer); userService.updateUser(sysUser); } System.out.println("[[[[["+zfApplication); return zfApplicationService.setStatus(zfApplication); } /** * 批量删除 */ // @PreAuthorize("@ss.hasPermi('system:property:remove')") @Log(title = " ", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return zfApplicationService.deleteData(ids); } } ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -94,6 +94,17 @@ /**是否会员 0否 1是*/ private Integer paid; /**试用期时间 默认7天**/ private Integer remainTime; public Integer getRemainTime() { return remainTime; } public void setRemainTime(Integer remainTime) { this.remainTime = remainTime; } public Integer getPaid() { return paid; } @@ -349,6 +360,7 @@ .append("remark", getRemark()) .append("dept", getDept()) .append("paid",getPaid()) .append("remainTime",getRemainTime()) .toString(); } } ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -119,6 +119,7 @@ public boolean endOfLife(String username) { SysUser sysUser = userService.selectUserByNickName(username); System.out.println(sysUser); if (sysUser.getPaid() != null && sysUser.getPaid().equals(0) && !"4".equals(sysUser.getStatus())) { Date startTime = sysUser.getCreateTime(); @@ -127,7 +128,7 @@ LocalDateTime startDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); long daysPassed = ChronoUnit.DAYS.between(startDateTime, LocalDateTime.now()); if (daysPassed > 7) { if (daysPassed > sysUser.getRemainTime()) { sysUser.setStatus("4"); userService.updateUserStatus(sysUser); ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -25,6 +25,7 @@ <result property="clanId" column="clan_id" /> <result property="remark" column="remark" /> <result property="paid" column="paid" /> <result property="remainTime" column="remain_time" /> <association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" /> <collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> </resultMap> @@ -49,7 +50,7 @@ </resultMap> <sql id="selectUserVo"> select u.clan_id,u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.clan_id,u.paid, select u.clan_id,u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,u.clan_id,u.paid,u.remain_time, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u @@ -256,6 +257,7 @@ <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="remark != null">remark = #{remark},</if> <if test="paid != null and paid != ''">paid = #{paid},</if> <if test="remainTime != null and remainTime != ''">remain_time = #{remainTime},</if> update_time = sysdate() </set> where user_id = #{userId} zhang-content/src/main/java/com/ruoyi/domain/ZfApplication.java
New file @@ -0,0 +1,50 @@ package com.ruoyi.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.annotation.Excel; import lombok.Data; import java.util.Date; @Data @TableName("zf_application") public class ZfApplication { @TableId(value = "id", type = IdType.AUTO) private Integer id; /** *申请人 */ private Integer applicant; /** * 申请原因 */ private String applyReason; /** * 状态 */ private String status; /** * 时间 */ private Date createTime; /** * 申请时间 */ private Integer applyDay; /** * 申请人的家族 */ private Integer clanId; } zhang-content/src/main/java/com/ruoyi/mapper/ZfApplicationMapper.java
New file @@ -0,0 +1,10 @@ package com.ruoyi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.domain.ZExperience; import com.ruoyi.domain.ZfApplication; import org.apache.ibatis.annotations.Mapper; @Mapper public interface ZfApplicationMapper extends BaseMapper<ZfApplication> { } zhang-content/src/main/java/com/ruoyi/service/ZfApplicationService.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.ZfApplication; import org.springframework.web.multipart.MultipartFile; import java.util.List; public interface ZfApplicationService extends IService<ZfApplication> { AjaxResult selectDoctorList(ZfApplication zfApplication, Integer pageNum, Integer pageSize,Integer roleId); List<ZfApplication> selectByCondition(ZfApplication zfApplication); List<ZfApplication> selectByIds(Long[] ids); AjaxResult addData(ZfApplication ZfApplication); AjaxResult deleteData(Long[] ids); AjaxResult setStatus(ZfApplication zfApplication); } zhang-content/src/main/java/com/ruoyi/service/impl/ZfApplicationServiceImpl.java
New file @@ -0,0 +1,190 @@ package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfApplicationMapper; import com.ruoyi.service.*; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; import java.util.*; @Service public class ZfApplicationServiceImpl extends ServiceImpl<ZfApplicationMapper, ZfApplication> implements ZfApplicationService { @Resource ZInfoUserService zInfoUserService; @Resource EsService esService; @Resource private RestHighLevelClient restHighLevelClient; @Override public AjaxResult selectDoctorList(ZfApplication zfApplication, Integer pageNum, Integer pageSize,Integer roleId) { //要查自己家庭的 ZInfoUser myself = zInfoUserService.getMyself(); System.out.println("[[[[[[[[["+myself); if (myself !=null) { System.out.println("iiiiiii"+myself.getClanId()); zfApplication.setClanId(myself.getClanId()); if (roleId != 1) zfApplication.setApplicant(myself.getSysId().intValue()); } LambdaQueryWrapper<ZfApplication> lqw = buildCondition(zfApplication); Page<ZfApplication> zfDoctorPage = new Page<>(pageNum, pageSize); Page<ZfApplication> pageResult = page(zfDoctorPage, lqw); List<ZfApplication> beanRecords = pageResult.getRecords();//得到查询出来的数据 HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public List<ZfApplication> selectByCondition(ZfApplication zfApplication) { LambdaQueryWrapper<ZfApplication> lambdaQueryWrapper = buildCondition(zfApplication); List<ZfApplication> beanRecords = list(lambdaQueryWrapper); return beanRecords; } @Override public List<ZfApplication> selectByIds(Long[] ids) { List<ZfApplication> list = new ArrayList<>(); if (ids.length != 0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } @Override public AjaxResult addData(ZfApplication zfApplication) { ZInfoUser myself = zInfoUserService.getMyself(); Long userId = SecurityUtils.getUserId(); if (myself !=null) { zfApplication.setClanId(myself.getClanId()); } Date currentDate = new Date(); zfApplication.setApplicant(userId.intValue()); zfApplication.setStatus("0"); zfApplication.setCreateTime(currentDate); if (save(zfApplication)) { EsModel esModel = new EsModel(); Integer inte = zfApplication.getId(); String uuid = UUID.randomUUID().toString().replace("-", ""); esModel.setId(uuid); esModel.setCtId(Long.valueOf(inte)); esModel.setCtTableName("申请表"); esModel.setBy2(zfApplication.getApplyReason()); //这里存储查询详情的路径 esService.insertTable(esModel); return AjaxResult.success(); } else { return AjaxResult.error(); } } @Override public AjaxResult deleteData(Long[] ids) { List<ZfApplication> zfDoctors = listByIds(Arrays.asList(ids)); if (this.removeByIds(Arrays.asList(ids))) { //删除es中的数据 zfDoctors.stream().forEach(zfDoctor -> { EsModel esModel = esService.findByCtId(zfDoctor.getId().intValue(), "申请表"); if (esModel != null) { DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); try { restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT); } catch (IOException e) { throw new RuntimeException(e); } } }); return AjaxResult.success(); } else { return AjaxResult.error(); } } @Override public AjaxResult setStatus(ZfApplication zfApplication) { Date currentDate = new Date(); System.out.println("[[[[[[["+zfApplication); LambdaUpdateWrapper<ZfApplication> lqw = new LambdaUpdateWrapper(); lqw .eq(ZfApplication::getId,zfApplication.getId()) .set(ZfApplication::getStatus,zfApplication.getStatus()) .set(ZfApplication::getCreateTime, currentDate); boolean isUpdated = this.update(lqw); // 使用Service执行更新 if (isUpdated) { if (zfApplication.getStatus().equals("1")) return AjaxResult.success("已经给该用户延长试用时间"); else return AjaxResult.success("已驳回该用户的申请"); } else { return AjaxResult.error("更新失败,请检查数据"); } } private LambdaQueryWrapper<ZfApplication> uniqueCondition(ZfApplication zfApplication) { LambdaQueryWrapper<ZfApplication> lqw = new LambdaQueryWrapper<>(); lqw.eq(zfApplication.getApplicant() != null,ZfApplication::getApplicant, zfApplication.getApplicant()) .eq(StringUtils.isNotEmpty(zfApplication.getApplyReason()), ZfApplication::getApplyReason, zfApplication.getApplyReason()) .eq(zfApplication.getStatus() != null, ZfApplication::getStatus, zfApplication.getStatus()) .eq(zfApplication.getClanId() != null, ZfApplication::getClanId, zfApplication.getClanId()) .eq(zfApplication.getApplyDay() != null, ZfApplication::getApplyDay, zfApplication.getApplyDay()); return lqw; } private LambdaQueryWrapper<ZfApplication> buildCondition(ZfApplication zfApplication) { LambdaQueryWrapper<ZfApplication> lqw = new LambdaQueryWrapper<>(); lqw.orderByDesc(ZfApplication::getCreateTime); lqw.like(zfApplication.getApplicant() !=null,ZfApplication::getApplicant, zfApplication.getApplicant()) .like(StringUtils.isNotEmpty(zfApplication.getApplyReason()), ZfApplication::getApplyReason, zfApplication.getApplyReason()) .like(zfApplication.getStatus() != null, ZfApplication::getStatus, zfApplication.getStatus()) .like(zfApplication.getClanId() != null, ZfApplication::getClanId, zfApplication.getClanId()) .like(zfApplication.getApplyDay() != null, ZfApplication::getApplyDay, zfApplication.getApplyDay()) .like(zfApplication.getId() != null, ZfApplication::getId, zfApplication.getId()) ; return lqw; } }