ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TGameRecord.java
@@ -25,8 +25,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id */ ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/model/TSubjectRecord.java
@@ -24,8 +24,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id */ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java
@@ -16,6 +16,11 @@ return new SysUserClient(){ @Override public R<SysUser> updatePassword1(SysUser sysUser) { return null; } @Override public R<List<CompanyUserListVo>> getSysUserFromCompanyId(CompanySysUserReq companySysUserReq) { return R.fail("公司获取关联已有账号失败:" + cause.getMessage()); } @@ -25,6 +30,10 @@ return R.fail("获取用户失败:" + cause.getMessage()); } @Override public R<SysUser> getSysUserByPhonenumber(String phonenumber) { return null; } @Override ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/SysUserClient.java
@@ -1,11 +1,13 @@ package com.ruoyi.system.api.feignClient; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.factory.SysUserFallbackFactory; import com.ruoyi.system.api.model.*; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -16,12 +18,18 @@ @FeignClient(contextId = "sysUserClient", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = SysUserFallbackFactory.class) public interface SysUserClient { @PostMapping("/user/updatePassword1") @ApiOperation("账号管理--账号详情") R<SysUser> updatePassword1(@RequestBody SysUser sysUser); @PostMapping("/user/getSysUserFromCompanyId") R<List<CompanyUserListVo>> getSysUserFromCompanyId(@RequestBody CompanySysUserReq companySysUserReq); @PostMapping("/user/getSysUser") R<SysUser> getSysUser(Long userId); @PostMapping("/user/getSysUserByPhonenumber/{phonenumber}") R<SysUser> getSysUserByPhonenumber(@PathVariable("phonenumber") String phonenumber); // @PostMapping("/user/updateSysUser") // R<Boolean> updateSysUser(@RequestBody SysUser sysUser); ruoyi-common/pom.xml
@@ -27,6 +27,8 @@ </description> <dependencies> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> ruoyi-common/ruoyi-common-datasource/pom.xml
@@ -31,5 +31,6 @@ <version>${dynamic-ds.version}</version> </dependency> </dependencies> </project> ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -49,6 +49,22 @@ @Autowired private ISysPermissionService permissionService; /** * 删除用户 */ @PostMapping("/getSysUserByPhonenumber/{phonenumber}") @ApiOperation("根据手机号获取账号") public R<SysUser> getSysUserByPhonenumber(@PathVariable("phonenumber") String phonenumber) { SysUser one = userService.getOne(new QueryWrapper<SysUser>() .eq("phonenumber", phonenumber).eq("del_flag", 0)); return R.ok(one); } @PostMapping("/updatePassword1") @ApiOperation("账号管理--账号详情") public R<SysUser> updatePassword1(@RequestBody SysUser sysUser) { userService.updateUser(sysUser); return R.ok(sysUser); } /** * 获取当前用户信息 */ @InnerAuth ruoyi-service/ruoyi-goods/pom.xml
@@ -15,7 +15,12 @@ </description> <dependencies> <!--依赖sharding-jdbc--> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/RuoYiGoodsApplication.java
@@ -6,6 +6,8 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.scheduling.annotation.EnableScheduling; /** @@ -35,4 +37,10 @@ " | | \\ / \\ / \n" + " ''-' `'-' `-..-' "); } @Bean public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() { PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer(); c.setIgnoreUnresolvablePlaceholders(true); return c; } } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/DatasourceModel.java
New file @@ -0,0 +1,24 @@ package com.ruoyi.goods.config; import lombok.Data; import org.springframework.stereotype.Component; /** * 数据源 * * @author pzb * @Date 2022/11/21 21:13 */ @Data @Component public class DatasourceModel { private String url = "jdbc:mysql://127.0.0.1:10633/dolphin_goods?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai"; private String username = "root"; private String password = "HaiTunEnglish2024!"; private String driverClassName = "com.mysql.cj.jdbc.Driver"; private Integer maxActive =20; private Long maxWait = 60000L; private Integer minIdle =5; private Integer initialSize =2; } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/Master0DataSource.java
New file @@ -0,0 +1,2 @@ package com.ruoyi.goods.config; ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/config/ShardingConfig.java
New file @@ -0,0 +1,96 @@ package com.ruoyi.goods.config; import com.alibaba.druid.pool.DruidDataSource; import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory; import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration; import org.apache.shardingsphere.infra.config.rule.RuleConfiguration; import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration; import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.sql.SQLException; import java.util.*; @Configuration public class ShardingConfig { @Autowired private DatasourceModel master0DataSource; @Bean public DataSource getDataSource() { DataSource dataSource = null; try { Properties properties = new Properties(); properties.setProperty("sql-show", "true"); String databaseName = "m_0";//真实数据源名称,多个数据源用逗号区分 dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, createDataSourceMap(), createShardingRuleConfiguration(), properties); } catch (SQLException e) { e.printStackTrace(); } return dataSource; } /** * 配置多数据源 * * @return */ private Map<String, DataSource> createDataSourceMap() { Map<String, DataSource> dataSourceMap = new HashMap<>(); // 配置第 1 个数据源 DruidDataSource dataSource1 = new DruidDataSource(); dataSource1.setDriverClassName(master0DataSource.getDriverClassName()); dataSource1.setUrl(master0DataSource.getUrl()); dataSource1.setUsername(master0DataSource.getUsername()); dataSource1.setPassword(master0DataSource.getPassword()); dataSource1.setMaxActive(master0DataSource.getMaxActive()); dataSource1.setMaxWait(master0DataSource.getMaxWait()); dataSource1.setMinIdle(master0DataSource.getMinIdle()); dataSource1.setInitialSize(master0DataSource.getInitialSize()); dataSourceMap.put("m_0", dataSource1); return dataSourceMap; } /** * 分片配置 * * @return */ private Collection<RuleConfiguration> createShardingRuleConfiguration() { LinkedList<RuleConfiguration> linkedList = new LinkedList(); //分片规则配置 ShardingRuleConfiguration result1 = new ShardingRuleConfiguration(); result1.getTables().add(getCoursePackagePaymentTableRuleConfiguration()); Properties props1 = new Properties(); props1.setProperty("algorithm-expression", "t_order$->{userId % 5 + 1}"); result1.getShardingAlgorithms().put("t_order-inline", new AlgorithmConfiguration("INLINE", props1)); result1.getKeyGenerators().put("t_order-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); linkedList.add(result1); return linkedList; } /** * 分片算法配置 * * @return */ private ShardingTableRuleConfiguration getCoursePackagePaymentTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_order", "m_$->{0}.t_order$->{1..5}");//50 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_order-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_order-snowflake")); return result; } } ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -1,4 +1,5 @@ package com.ruoyi.goods.controller; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -17,6 +18,7 @@ import com.ruoyi.goods.vo.TOrderVO; import com.ruoyi.study.api.domain.TUser; import com.ruoyi.study.api.feignClient.StudyClient; import com.ruoyi.study.api.vo.UserPersonalCenterVO; import com.ruoyi.system.api.model.LoginUserParent; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -58,7 +60,38 @@ private IRegionService regionService; @Resource private TokenService tokenService; @PostMapping("/testAddData") @ApiOperation(value = "测试分片", tags = {"测试分片"}) public R<Object> testAddData() { TOrder tOrder = new TOrder(); tOrder.setOrderNumber(""); tOrder.setUserId(63); tOrder.setInsertTime(new Date()); tOrder.setGoodsId(0); tOrder.setCount(0); tOrder.setState(0); tOrder.setExpress(""); tOrder.setExpressNumber(""); tOrder.setExpressTime(new Date()); tOrder.setIntegral(0); tOrder.setCompleteTime(new Date()); tOrder.setConsigneeName(""); tOrder.setImg(""); tOrder.setName(""); tOrder.setType(""); tOrder.setConsigneePhone(""); tOrder.setConsigneeAddress(""); tOrder.setProvince(""); tOrder.setCity(""); tOrder.setRemark(""); tOrder.setDisabled(false); tOrder.setCreateBy(""); tOrder.setCreateTime(new Date()); tOrder.setUpdateBy(""); tOrder.setUpdateTime(new Date()); orderService.save(tOrder); return R.ok(); } @PostMapping("/listType") @ApiOperation(value = "列表查询", tags = {"后台-商品类型管理"}) public R<PageInfo<TGoodsType>> listType(@RequestBody GoodsTypeQuery query) { @@ -662,7 +695,20 @@ if (null == loginUserStudy) { return R.tokenError("登录失效!"); } return R.ok(goodsService.goodRecommend(loginUserStudy.getUserid())); UserPersonalCenterVO data = studyClient.userInfo().getData(); List<TGoodsVO> tGoodsVOS = goodsService.goodRecommend(loginUserStudy.getUserid()); List<TGoodsVO> res = new ArrayList<>(); int temp = 0; for (TGoodsVO re : tGoodsVOS) { if (temp>=3){ break; } if (data.getUser().getIntegral()>=re.getIntegral()){ res.add(re); temp++; } } return R.ok(res); } /** ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/TOrder.java
@@ -28,8 +28,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 订单编号 */ @@ -115,13 +115,7 @@ private String remark; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getOrderNumber() { return orderNumber; ruoyi-service/ruoyi-goods/src/main/resources/mapper/goods/TGoodsMapper.xml
@@ -49,9 +49,9 @@ <select id="goodRecommend" resultType="com.ruoyi.goods.vo.TGoodsVO"> select * from t_goods g where g.integral <![CDATA[ <= ]]> (select integral from t_user u where u.id = #{userId}) and g.disabled = 0 where g.disabled = 0 ORDER BY g.integral desc limit 3 </select> </mapper> ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysDeptController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysDictController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysDictDataController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysDictTypeController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysExpenseController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysJobController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysJobLogController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysLoginLogController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysLogininforController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysMenuController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysNoticeController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysOperationLogController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysPostController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysRelationController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysRoleController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysRoleDeptController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysRoleMenuController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysUserController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysUserPostController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/SysUserRoleController.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TFeedbackController.java
@@ -12,6 +12,8 @@ import com.ruoyi.management.query.UseGuideQuery; import com.ruoyi.management.service.ITFeedbackService; import com.ruoyi.management.vo.FeedbackVO; import com.ruoyi.study.api.domain.TUser; import com.ruoyi.study.api.feignClient.StudyClient; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -42,6 +44,8 @@ return R.ok(); } @Autowired private StudyClient studyClient; @ResponseBody @PostMapping("/listAll") @ApiOperation(value = "列表查询", tags = {"反馈管理"}) @@ -52,9 +56,35 @@ // query.getEndTime().setSeconds(59); // } List<FeedbackVO> list = feedbackService.listAll(query); List<FeedbackVO> result = new ArrayList<>(); for (FeedbackVO feedbackVO : list) { TUser data = studyClient.getUserById(feedbackVO.getUserId()).getData(); if (data == null )continue; feedbackVO.setName(data.getName()); feedbackVO.setPhone(data.getPhone()); if (!StringUtils.hasLength(query.getPhone()) && !StringUtils.hasLength(query.getUserName())) { result.add(feedbackVO); continue; } // 如果筛选条件输入了电话或者姓名那么需要过滤掉不符合条件的数据 if (StringUtils.hasLength(query.getPhone()) && StringUtils.hasLength(query.getUserName())) { if (feedbackVO.getPhone().contains(query.getPhone()) && feedbackVO.getName().contains(query.getUserName())) { result.add(feedbackVO); } } else if (StringUtils.hasLength(query.getPhone())) { if (feedbackVO.getPhone().contains(query.getPhone())) { result.add(feedbackVO); } } else if (StringUtils.hasLength(query.getUserName())) { if (feedbackVO.getName().contains(query.getUserName())) { result.add(feedbackVO); } } } PageInfo<FeedbackVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize()); res.setTotal(list.size()); res.setRecords(list); res.setTotal(result.size()); res.setRecords(result); return AjaxResult.success(res); } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TGoodsController.java
@@ -1,7 +1,6 @@ package com.ruoyi.management.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; @@ -10,9 +9,6 @@ import com.ruoyi.goods.api.feignClient.GoodsClient; import com.ruoyi.goods.api.model.GoodsTypeQuery; import com.ruoyi.goods.api.model.TGoodsVO; import com.ruoyi.management.service.ITGoodsService; import com.ruoyi.management.service.ITGoodsTypeService; import com.ruoyi.management.service.ITOrderService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -31,12 +27,7 @@ @Controller @RequestMapping("/tGoods") public class TGoodsController { @Autowired private ITGoodsService goodsService; @Autowired private ITGoodsTypeService goodsTypeService; @Autowired private ITOrderService orderService; @Autowired private GoodsClient goodsClient; @ResponseBody ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TOrderController.java
@@ -1,16 +1,12 @@ package com.ruoyi.management.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.goods.api.feignClient.GoodsClient; import com.ruoyi.goods.api.model.OrderDTO; import com.ruoyi.goods.api.model.OrderQuery; import com.ruoyi.goods.api.model.TOrderVO; import com.ruoyi.management.service.ITGoodsService; import com.ruoyi.management.service.ITOrderService; import com.ruoyi.management.service.ITUserService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -31,12 +27,7 @@ @Controller @RequestMapping("/tOrder") public class TOrderController { @Autowired private ITOrderService tOrderService; @Autowired private ITUserService userService; @Autowired private ITGoodsService goodsService; @Autowired private GoodsClient goodsClient; @ResponseBody @@ -75,7 +66,7 @@ // byId.setExpressTime(new Date()); // tOrderService.updateById(byId); goodsClient.getGoodsInfo1(dto); R.tokenError("登陆失效"); // R.tokenError("登陆失效"); return AjaxResult.success("修改成功"); } } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java
@@ -4,23 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.constant.RedisConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.GlobalException; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.management.domain.SysUser; import com.ruoyi.management.domain.TUser; import com.ruoyi.management.domain.TVipSet; import com.ruoyi.management.service.ISysUserService; import com.ruoyi.management.service.ITUserService; import com.ruoyi.management.service.ITVipSetService; import com.ruoyi.management.vo.VipSetVO; import com.ruoyi.study.api.domain.TUser; import com.ruoyi.study.api.dto.AppUserQuery; import com.ruoyi.study.api.dto.UserInfoQuery; import com.ruoyi.study.api.feignClient.StudyClient; import com.ruoyi.study.api.model.TGameRecord; import com.ruoyi.study.api.vo.*; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -28,8 +26,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; /** @@ -44,14 +40,11 @@ @RequestMapping("/tUser") public class TUserController { @Autowired private ITUserService userService; @Autowired private ITVipSetService vipSetService; @Autowired private StudyClient studyClient; @Autowired private ISysUserService sysUserService; @PostMapping("/userList") @ApiOperation(value = "用户列表", tags = {"用户管理"}) @@ -147,8 +140,8 @@ @PostMapping("/freeze") @ApiOperation(value = "冻结/解冻", tags = {"用户管理"}) public AjaxResult freeze(Integer id) { TUser byId = userService.getById(id); if (byId.getState() == 1) { TUser data = studyClient.getUserById(id).getData(); if (data.getState() == 1) { studyClient.freeze(id); return AjaxResult.success("冻结成功"); } else { @@ -166,8 +159,7 @@ @ApiImplicitParam(value = "新密码", name = "password", dataType = "string", required = true), }) public AjaxResult updatePassword(String phone,String phoneCode,String password) { SysUser one = sysUserService.getOne(new QueryWrapper<SysUser>() .eq("phonenumber", phone).eq("del_flag", 0)); SysUser one = sysUserClient.getSysUserByPhonenumber(phone).getData(); if (one == null){ return AjaxResult.error("账号不存在!"); } @@ -190,21 +182,23 @@ return AjaxResult.error("新密码不能与旧密码相同"); } one.setPassword(SecurityUtils.encryptPassword(password)); sysUserService.updateById(one); sysUserClient.updatePassword1(one); return AjaxResult.success(); } @Autowired private SysUserClient sysUserClient; @GetMapping("/sendPhoneCode") @ApiOperation(value = "发送手机验证码", tags = {"管理后台-修改密码"}) @ApiImplicitParams({ @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true), }) public R<?> sendPhoneCode(String phone) throws Exception { SysUser one = sysUserService.getOne(new QueryWrapper<SysUser>() .eq("phonenumber", phone).eq("del_flag", 0)); if (one == null){ SysUser data = sysUserClient.getSysUserByPhonenumber(phone).getData(); if (data == null){ return R.fail("账号不存在!"); } return userService.phoneCode(phone) ? R.ok() : R.fail(); return vipSetService.phoneCode(phone) ? R.ok() : R.fail(); } @PostMapping("/getVipSet") @ApiOperation(value = "获取会员设置", tags = {"用户管理"}) ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysDept.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysDict.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysDictData.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysDictType.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysExpense.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysJob.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysJobLog.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysLoginLog.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysLogininfor.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysMenu.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysNotice.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysOperationLog.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysPost.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysRelation.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysRole.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysRoleDept.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysRoleMenu.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysUser.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysUserPost.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/SysUserRole.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TUser.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TVipOrder.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysDeptMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysDictDataMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysDictMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysDictTypeMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysExpenseMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysJobLogMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysJobMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysLoginLogMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysLogininforMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysMenuMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysNoticeMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysOperationLogMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysPostMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysRelationMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysRoleDeptMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysRoleMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysRoleMenuMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysUserMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysUserPostMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/SysUserRoleMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TGoodsMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TGoodsTypeMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TOrderMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/mapper/TUserMapper.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysDeptService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysDictDataService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysDictService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysDictTypeService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysExpenseService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysJobLogService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysJobService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysLoginLogService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysLogininforService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysMenuService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysNoticeService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysOperationLogService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysPostService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysRelationService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysRoleDeptService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysRoleMenuService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysRoleService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysUserPostService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysUserRoleService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ISysUserService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITGoodsService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITGoodsTypeService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITOrderService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITUserService.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/ITVipSetService.java
@@ -12,5 +12,5 @@ * @since 2024-04-26 */ public interface ITVipSetService extends IService<TVipSet> { Boolean phoneCode(String phone) throws Exception; } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysDeptServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysDictDataServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysDictServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysDictTypeServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysExpenseServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysJobLogServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysJobServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysLoginLogServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysLogininforServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysMenuServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysNoticeServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysOperationLogServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysPostServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysRelationServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysRoleDeptServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysRoleMenuServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysRoleServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysUserPostServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysUserRoleServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SysUserServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TGoodsServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TGoodsTypeServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TOrderServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TUserServiceImpl.java
File was deleted ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/TVipSetServiceImpl.java
@@ -1,10 +1,20 @@ package com.ruoyi.management.service.impl; import cn.hutool.core.util.RandomUtil; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.RedisConstants; import com.ruoyi.common.core.exception.GlobalException; import com.ruoyi.management.domain.TVipSet; import com.ruoyi.management.mapper.TVipSetMapper; import com.ruoyi.management.service.ITVipSetService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.management.utils.HWSendSms; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.concurrent.TimeUnit; /** * <p> @@ -16,5 +26,44 @@ */ @Service public class TVipSetServiceImpl extends ServiceImpl<TVipSetMapper, TVipSet> implements ITVipSetService { @Resource private RedisTemplate<String, Object> redisTemplate; // @Override // public List<AppUserVO> listAll(AppUserQuery query) { // return this.baseMapper.listAll(query); // } @Autowired private HWSendSms hwSendSms; @Override public Boolean phoneCode(String phone) throws Exception { // 生成随机 6位数字 验证码 String phoneCode = RandomUtil.randomNumbers(6); hwSendSms.sendSms(phoneCode, phone); // 判断redis中是否存在手机验证码 Object phoneCodeRedis = redisTemplate.opsForValue().get(RedisConstants.PHONE_CODE + phone); if (phoneCodeRedis == null) { // 将手机验证码 key: reg:用户输入的手机号码 value: 随机验证码:时间戳 phoneCodeRedis = phoneCode; } else { // redis有验证码,获取redis中value的时间戳,判断是否过期 long oldTime = Long.parseLong(String.valueOf(phoneCodeRedis).split(":")[1]); // 没有超过1分钟的重发时间 if (System.currentTimeMillis() - oldTime < (long) Constants.SIXTY * Constants.ONE_THOUSAND) { throw new GlobalException("操作频繁,稍后重试!!!"); } else { phoneCode = String.valueOf(phoneCodeRedis).split(":")[0]; } } /* * 保存信息到redis * key为 --> phone_code:手机号码 (phone_code表示该业务为 验证码登录) * value为 --> 随机验证码:时间戳 (时间戳用于计算是否超过1分钟的重发时间) */ redisTemplate.opsForValue().set(RedisConstants.PHONE_CODE + phone, phoneCode + ":" + System.currentTimeMillis(), 5, TimeUnit.MINUTES); String sendMessage = "验证码发送成功,您的验证码为:" + phoneCode + ",该验证码三分钟内有效,请及时完成登陆"; // todo 发送此消息 System.out.println(sendMessage); return true; } } ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/FeedbackVO.java
@@ -10,8 +10,10 @@ @Data @ApiModel public class FeedbackVO { @ApiModelProperty(value = "用户id") @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "用户id") private Integer userId; @ApiModelProperty(value = "用户姓名") private String name; @ApiModelProperty(value = "电话") ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysDeptMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysDictDataMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysDictMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysDictTypeMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysExpenseMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysJobLogMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysJobMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysLoginLogMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysLogininforMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysMenuMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysNoticeMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysOperationLogMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysPostMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysRelationMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysRoleDeptMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysRoleMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysRoleMenuMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysUserMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysUserPostMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/SysUserRoleMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TFeedbackMapper.xml
@@ -16,16 +16,10 @@ id, userId, img, content, state </sql> <select id="listAll" resultType="com.ruoyi.management.vo.FeedbackVO"> select t1.*,t2.name as name ,t2.phone as phone,t1.createTime as insertTime select t1.*,t1.createTime as insertTime from t_feedback t1 left join t_user t2 on t1.userId = t2.id where 1=1 <if test="null != req.userName and '' != req.userName"> and t2.name like CONCAT('%', #{req.userName}, '%') </if> <if test="null != req.phone and '' != req.phone"> and t2.phone like CONCAT('%', #{req.phone}, '%') </if> <if test="null != req.state"> and t1.state = #{req.state} </if> ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TGoodsMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TGoodsTypeMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TOrderMapper.xml
File was deleted ruoyi-service/ruoyi-management/src/main/resources/mapper/management/TUserMapper.xml
File was deleted ruoyi-service/ruoyi-study/pom.xml
@@ -16,6 +16,12 @@ <dependencies> <!--依赖sharding-jdbc--> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>org.openeuler</groupId> ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/RuoYiStudyApplication.java
@@ -9,6 +9,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.scheduling.annotation.EnableScheduling; /** @@ -38,5 +39,10 @@ " | | \\ / \\ / \n" + " ''-' `'-' `-..-' "); } @Bean public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() { PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer(); c.setIgnoreUnresolvablePlaceholders(true); return c; } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/DatasourceModel.java
New file @@ -0,0 +1,24 @@ package com.ruoyi.study.config; import lombok.Data; import org.springframework.stereotype.Component; /** * 数据源 * * @author pzb * @Date 2022/11/21 21:13 */ @Data @Component public class DatasourceModel { private String url = "jdbc:mysql://127.0.0.1:10633/dolphin_study?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai"; private String username = "root"; private String password = "HaiTunEnglish2024!"; private String driverClassName = "com.mysql.cj.jdbc.Driver"; private Integer maxActive =20; private Long maxWait = 60000L; private Integer minIdle =5; private Integer initialSize =2; } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/Master0DataSource.java
New file @@ -0,0 +1,8 @@ package com.ruoyi.study.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/config/ShardingConfig.java
New file @@ -0,0 +1,172 @@ package com.ruoyi.study.config; import com.alibaba.druid.pool.DruidDataSource; import org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory; import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration; import org.apache.shardingsphere.infra.config.rule.RuleConfiguration; import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration; import org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration; import org.apache.shardingsphere.sharding.api.config.strategy.sharding.StandardShardingStrategyConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.sql.SQLException; import java.util.*; @Configuration public class ShardingConfig { @Autowired private DatasourceModel master0DataSource; @Bean public DataSource getDataSource() { DataSource dataSource = null; try { Properties properties = new Properties(); properties.setProperty("sql-show", "true"); String databaseName = "m_0";//真实数据源名称,多个数据源用逗号区分 dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, createDataSourceMap(), createShardingRuleConfiguration(), properties); } catch (SQLException e) { e.printStackTrace(); } return dataSource; } /** * 配置多数据源 * * @return */ private Map<String, DataSource> createDataSourceMap() { Map<String, DataSource> dataSourceMap = new HashMap<>(); // 配置第 1 个数据源 DruidDataSource dataSource1 = new DruidDataSource(); dataSource1.setDriverClassName(master0DataSource.getDriverClassName()); dataSource1.setUrl(master0DataSource.getUrl()); dataSource1.setUsername(master0DataSource.getUsername()); dataSource1.setPassword(master0DataSource.getPassword()); dataSource1.setMaxActive(master0DataSource.getMaxActive()); dataSource1.setMaxWait(master0DataSource.getMaxWait()); dataSource1.setMinIdle(master0DataSource.getMinIdle()); dataSource1.setInitialSize(master0DataSource.getInitialSize()); dataSourceMap.put("m_0", dataSource1); return dataSourceMap; } /** * 分片配置 * * @return */ private Collection<RuleConfiguration> createShardingRuleConfiguration() { LinkedList<RuleConfiguration> linkedList = new LinkedList(); //分片规则配置 ShardingRuleConfiguration result1 = new ShardingRuleConfiguration(); result1.getTables().add(getCoursePackagePaymentTableRuleConfiguration()); Properties props1 = new Properties(); props1.setProperty("algorithm-expression", "t_integral_record$->{userId % 5 + 1}"); result1.getShardingAlgorithms().put("t_integral_record-inline", new AlgorithmConfiguration("INLINE", props1)); result1.getKeyGenerators().put("t_integral_record-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); //分片规则配置 result1.getTables().add(getCoursePackageStudentTableRuleConfiguration()); Properties props2 = new Properties(); props2.setProperty("algorithm-expression", "t_game_record$->{userId % 5 + 1}"); result1.getShardingAlgorithms().put("t_game_record-inline", new AlgorithmConfiguration("INLINE", props2)); result1.getKeyGenerators().put("t_game_record-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); //分片规则配置 result1.getTables().add(getCoursePackageSchedulingTableRuleConfiguration()); Properties props5 = new Properties(); props5.setProperty("algorithm-expression", "t_user_study_record$->{user_id % 5 + 1}"); result1.getShardingAlgorithms().put("t_user_study_record-inline", new AlgorithmConfiguration("INLINE", props5)); result1.getKeyGenerators().put("t_user_study_record-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); //分片规则配置 result1.getTables().add(getCoursePackageOrderTableRuleConfiguration()); Properties props6 = new Properties(); props6.setProperty("algorithm-expression", "t_subject_record$->{userId % 5 + 1}"); result1.getShardingAlgorithms().put("t_subject_record-inline", new AlgorithmConfiguration("INLINE", props6)); result1.getKeyGenerators().put("t_subject_record-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); //分片规则配置 result1.getTables().add(getCoursePackageOrderTableRuleConfiguration1()); Properties props7 = new Properties(); props7.setProperty("algorithm-expression", "t_user_present_record$->{user_id % 5 + 1}"); result1.getShardingAlgorithms().put("t_user_present_record-inline", new AlgorithmConfiguration("INLINE", props7)); result1.getKeyGenerators().put("t_user_present_record-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); linkedList.add(result1); return linkedList; } /** * 分片算法配置 * * @return */ private ShardingTableRuleConfiguration getCoursePackagePaymentTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_integral_record", "m_$->{0}.t_integral_record$->{1..5}");//50 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_integral_record-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_integral_record-snowflake")); return result; } /** * 分片算法配置 * * @return */ private ShardingTableRuleConfiguration getCoursePackageStudentTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_game_record", "m_$->{0}.t_game_record$->{1..5}");//30 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_game_record-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_game_record-snowflake")); return result; } /** * 分片算法配置 * * @return */ private ShardingTableRuleConfiguration getCoursePackageSchedulingTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_user_study_record", "m_$->{0}.t_user_study_record$->{1..5}");//30 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "t_user_study_record-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_user_study_record-snowflake")); return result; } /** * 分片算法配置 * * @return */ private ShardingTableRuleConfiguration getCoursePackageOrderTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_subject_record", "m_$->{0}.t_subject_record$->{1..5}");//30 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_subject_record-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_subject_record-snowflake")); return result; }private ShardingTableRuleConfiguration getCoursePackageOrderTableRuleConfiguration1() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_user_present_record", "m_$->{0}.t_user_present_record$->{1..5}");//30 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("user_id", "t_user_present_record-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_user_present_record-snowflake")); return result; } } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java
@@ -29,25 +29,7 @@ @RequestMapping("/base/tStory") public class TStoryController { @Autowired private ITStudyAnswerService studyAnswerService; @Autowired private ITStudyInductionService studyInductionService; @Autowired private ITStudyLookService studyLookService; @Autowired private ITStudyListenService studyListenService; @Autowired private ITStudyPairService studyPairService; @Autowired private ITGameService gameService; @Autowired private ITStoryListenService storyListenService; @Autowired private ITSubjectService subjectService; @Autowired private ITStoryService storyService; @Autowired private ITStudyService studyService; @Autowired private ITStoryService service; @PostMapping("/storyList") ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
@@ -1,4 +1,5 @@ package com.ruoyi.study.controller; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -21,6 +22,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.jetbrains.annotations.TestOnly; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -83,6 +85,67 @@ @Resource private ITUserPresentRecordService userPresentRecordService; @PostMapping("/testAddData") @ApiOperation(value = "测试分片", tags = {"测试分片"}) public R<Object> testAddData() { TIntegralRecord tIntegralRecord = new TIntegralRecord(); tIntegralRecord.setIntegral("1"); tIntegralRecord.setMethod("1"); tIntegralRecord.setUserId(23); tIntegralRecord.setGameId(1); tIntegralRecord.setGameDifficulty(1); tIntegralRecord.setStoryId(1); tIntegralRecord.setStoryType(1); integralRecordService.save(tIntegralRecord); TGameRecord tGameRecord = new TGameRecord(); tGameRecord.setUserId(33); tGameRecord.setAccuracy(0); tGameRecord.setGameName(""); tGameRecord.setUseTime(0); tGameRecord.setUseTime1(""); tGameRecord.setGameId(0); tGameRecord.setGameDifficulty(0); tGameRecord.setTime(""); tGameRecord.setDisabled(false); tGameRecord.setCreateBy(""); tGameRecord.setCreateTime(new Date()); tGameRecord.setUpdateBy(""); tGameRecord.setUpdateTime(new Date()); gameRecordService.save(tGameRecord); TSubjectRecord tSubjectRecord = new TSubjectRecord(); tSubjectRecord.setUserId(22); tSubjectRecord.setWeek(0); tSubjectRecord.setDay(0); tSubjectRecord.setBeforeSubject(""); tSubjectRecord.setType(0); tSubjectRecord.setCompleteSubject(""); tSubjectRecord.setAnswerNumber(0); tSubjectRecord.setCorrectNumber(0); tSubjectRecord.setDisabled(false); tSubjectRecord.setCreateBy(""); tSubjectRecord.setCreateTime(new Date()); tSubjectRecord.setUpdateBy(""); tSubjectRecord.setUpdateTime(new Date()); subjectRecordService.save(tSubjectRecord); TUserPresentRecord tUserPresentRecord = new TUserPresentRecord(); tUserPresentRecord.setUserId(44); tUserPresentRecord.setPresentTime(new Date()); tUserPresentRecord.setIsDelete(0); userPresentRecordService.save(tUserPresentRecord); TUserStudyRecord tUserStudyRecord = new TUserStudyRecord(); tUserStudyRecord.setUserId(17); tUserStudyRecord.setQuarter(0); tUserStudyRecord.setWeek(0); tUserStudyRecord.setDay(0); tUserStudyRecord.setObtainedIntegral(0); tUserStudyRecord.setType(0); tUserStudyRecord.setStudyType(0); tUserStudyRecord.setStoryId(0); studyRecordService.save(tUserStudyRecord); return R.ok(); } @PostMapping("/storyList") // @ApiOperation(value = "配置学习类型选择故事", tags = {"题目管理"}) public R<PageInfo<TStory>> storyList(@RequestBody ChoiceStory query) { @@ -1769,6 +1832,9 @@ @GetMapping("/getIntegral") @ApiOperation(value = "获取剩余积分", tags = {"家长端-获取剩余积分"}) public R<Integer> getIntegral() { if (tokenService.getLoginUser1() == null){ return R.tokenError("登录失效"); } Integer userId = tokenService.getLoginUser1().getUserid(); return R.ok(userService.getById(userId).getIntegral()); } ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -211,6 +211,10 @@ Map<String, String> map = payMoneyUtil.alipayCallback(request); System.err.println("返回参数" + map); if (null != map) { PrintWriter out = response.getWriter(); out.write("success"); out.flush(); out.close(); String out_trade_no = map.get("out_trade_no"); String trade_no = map.get("trade_no"); // 会员规格id @@ -278,10 +282,7 @@ // 修改用户会员续期信息 userService.updateById(byId1); PrintWriter out = response.getWriter(); out.write("success"); out.flush(); out.close(); } } catch (Exception e) { e.printStackTrace(); @@ -294,11 +295,16 @@ try { Map<String, String> map = payMoneyUtil.weixinpayCallback(request); if (null != map) { // 内部订单号 String out_trade_no = map.get("out_trade_no"); // 微信订单号 String transaction_id = map.get("transaction_id"); String result = map.get("result"); PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); // 会员规格id String s = out_trade_no.split("_")[0]; Integer integer = Integer.valueOf(s); @@ -359,10 +365,7 @@ vipOrderService.updateById(byId); // 修改用户会员续期信息 userService.updateById(byId1); PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); } } catch (Exception e) { e.printStackTrace(); @@ -921,9 +924,14 @@ try { Map<String, String> map = payMoneyUtil.wxRefundCallback(request); if (null != map) { String code = map.get("out_refund_no"); String refund_id = map.get("refund_id"); String result = map.get("result"); PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); TVipOrder one = vipOrderService.getOne(new QueryWrapper<TVipOrder>() .eq("outTradeNo", code) .eq("payState", 3)); @@ -950,10 +958,7 @@ userService.updateById(byId1); } PrintWriter out = response.getWriter(); out.write(result); out.flush(); out.close(); } } catch (Exception e) { e.printStackTrace(); ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGameRecord.java
@@ -25,8 +25,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id */ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TIntegralRecord.java
@@ -25,8 +25,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 积分数量 带有负号为减少 */ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TSubjectRecord.java
@@ -25,8 +25,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id */ ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserPresentRecord.java
@@ -22,8 +22,8 @@ @TableName("t_user_present_record") public class TUserPresentRecord { @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUserStudyRecord.java
@@ -24,8 +24,8 @@ /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 季度