From c203ff63489126a94d1be5dbfe32cadb69a70594 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 25 五月 2023 16:26:56 +0800 Subject: [PATCH] 完善数据库和框架 --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java | 9 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 18 --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 20 +++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java | 8 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java | 4 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java | 10 - ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java | 3 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java | 32 +++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java | 10 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java | 4 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java | 8 - ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java | 10 + ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java | 7 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 54 ++++++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 27 +++- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java | 14 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java | 7 + ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 12 +- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java | 8 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 29 ++++ 26 files changed, 245 insertions(+), 67 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java index fec6ea2..e9adbc2 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java @@ -50,7 +50,7 @@ String BEYOND_WITHDRAW = "超出可提现金额"; - String BEYOND_WITHDRAW_time = "超出可提现金额"; + String BEYOND_WITHDRAW_TIME = "超出可提现金额"; String USER_NO_WITHDRAW = "用户没有提现权限"; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java index b5cc560..5a4be89 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java @@ -64,6 +64,16 @@ public R updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) { return R.fail("更新会员商品类型失败:" + throwable.getMessage()); } + + @Override + public R<Member> getMemberByMobile(String mobile) { + return R.fail("获取会员手机失败:" + throwable.getMessage()); + } + + @Override + public R createNewMember(Member member) { + return R.fail("订单创建用户失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java index a89b6d5..bb40b7c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java @@ -1,6 +1,8 @@ package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.api.model.QwH5LoginVo; +import com.ruoyi.system.api.model.QwUserDetailDto; import com.ruoyi.system.api.service.RemoteShopService; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.ShopRelUserVo; @@ -34,6 +36,11 @@ public R<ShopRelUserVo> getShopByUserId(Long userId) { return R.fail("获取商户失败:" + throwable.getMessage()); } + + @Override + public R<QwH5LoginVo> qwH5Login(QwUserDetailDto qwUserDetail) { + return R.fail("获取商户员工失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java index 217df68..fd443d4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java @@ -39,10 +39,6 @@ return R.fail("注册用户失败:" + throwable.getMessage()); } - @Override - public R<QwH5LoginVo> qwH5Login(QwUserDetailDto qwUserDetail) { - return R.fail("用户登录:" + throwable.getMessage()); - } @Override public R<SysUser> getSysUser(Long userId) { @@ -51,7 +47,9 @@ @Override public R<SysUser> getSysUserByMobile(String mobile) { - return null; + { + return R.fail("获取用户失败:" + throwable.getMessage()); + } } @Override @@ -71,7 +69,7 @@ @Override public R<SysTag> getSysTag(Long sysTagId) { - return null; + return R.fail("获取系统标签失败:" + throwable.getMessage()); } }; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index 3cd05dc..d1f6a18 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -55,7 +55,27 @@ @PostMapping("/member/updateMemberBinding") public R updateMemberBinding(@RequestBody AppMemberBindingDto appMemberBindingDto); + /** + * 更新会员商品类型 + * @param appMemberGoodsTypeDto + * @return + */ @PostMapping("/member/updateMemberGoodsType") public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto); + /** + * 通过手机号获取会员 + * @param mobile + * @return + */ + @PostMapping("/member/getMemberByMobile") + public R<Member> getMemberByMobile(@RequestBody String mobile); + + /** + * 订单创建新用户 + * @param member + * @return + */ + @PostMapping("/member/createNewMember") + public R createNewMember(@RequestBody Member member); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java index 6ed877f..1316bfe 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java @@ -7,6 +7,8 @@ import com.ruoyi.system.api.domain.vo.ShopRelUserVo; import com.ruoyi.system.api.factory.RemoteShopFallbackFactory; import com.ruoyi.system.api.factory.RemoteUserFallbackFactory; +import com.ruoyi.system.api.model.QwH5LoginVo; +import com.ruoyi.system.api.model.QwUserDetailDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,4 +22,12 @@ @PostMapping("/shop/getShopByUserId") public R<ShopRelUserVo> getShopByUserId(@RequestBody Long userId); + + /** + * 企业微信H5登录 + * @param qwUserDetail + * @return + */ + @PostMapping("/shop/qwH5Login") + public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java index 217921d..a503218 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java @@ -44,13 +44,7 @@ public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); - /** - * 企业微信H5登录 - * @param qwUserDetail - * @return - */ - @PostMapping("/user/qwH5Login") - public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail); + /** diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java index b7e86ae..2e8e379 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java @@ -304,7 +304,7 @@ String[] s1 = ipWildCard.split("\\."); String[] s2 = ip.split("\\."); boolean isMatchedSeg = true; - for (int i = 0; i < s1.length && !s1[i].equals("*"); i++) + for (int i = 0; i < s1.length && !"*".equals(s1[i]); i++) { if (!s1[i].equals(s2[i])) { diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 3b17bbd..3c38eb0 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -37,7 +37,7 @@ protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND; - private final static long expireTime = CacheConstants.EXPIRATION; + private final static long EXPIRE_TIME = CacheConstants.EXPIRATION; private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY; @@ -66,7 +66,7 @@ // 接口返回信息 Map<String, Object> rspMap = new HashMap<String, Object>(); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); + rspMap.put("expires_in", EXPIRE_TIME); return rspMap; } @@ -96,7 +96,7 @@ claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP); rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); + rspMap.put("expires_in", EXPIRE_TIME); } if(StringUtils.isNotBlank(appMiniLoginVo.getMobile())){ rspMap.put("mobile",appMiniLoginVo.getMobile() ); @@ -132,7 +132,7 @@ OauthUserVo oauthUserVo = new OauthUserVo(); oauthUserVo.setShopId(qwH5LoginVo.getShopId()); oauthUserVo.setToken(JwtUtils.createToken(claimsMap)); - oauthUserVo.setExpiresIn(expireTime); + oauthUserVo.setExpiresIn(EXPIRE_TIME); oauthUserVo.setUserid(qwH5LoginVo.getUserid()); oauthUserVo.setMobile(qwH5LoginVo.getMobile()); return oauthUserVo; @@ -229,10 +229,10 @@ public void refreshToken(LoginUser loginUser) { loginUser.setLoginTime(System.currentTimeMillis()); - loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE); + loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE); // 根据uuid将loginUser缓存 String userKey = getTokenKey(loginUser.getToken()); - redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); + redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES); } private String getTokenKey(String token) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java index 919be37..d4652e2 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java @@ -138,7 +138,7 @@ appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber()); appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline()); //售罄判断 - if(activityGoods.getActivityNumber()==activityGoods.getSalesNumber()){ + if(activityGoods.getActivityNumber().equals(activityGoods.getSalesNumber())){ appGoodsInfoVo.setSellOutFlag(1); }else{ appGoodsInfoVo.setSellOutFlag(0); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java index b979a0a..e85398a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java @@ -58,7 +58,7 @@ * 用户id和随机数总长度 */ - private static final int maxLength = 4; + private static final int MAX_LENGTH = 4; /** * 更具id进行加密+加随机数组成固定长度编码 @@ -78,7 +78,7 @@ */ public static String getShopNo(Long shopId) { String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); + return toFillZeroCode(prefix, MAX_LENGTH, shopId); } public static String getShopOrderNo() { diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index bb5a959..e8a8451 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -95,10 +95,39 @@ return R.ok(); } + /** + * 更新会员商品类型 + * @param appMemberGoodsTypeDto + * @return + */ @PostMapping("/updateMemberGoodsType") public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto) { memberService.updateMemberGoodsType(appMemberGoodsTypeDto); return R.ok(); } + + /** + * 通过手机号获取会员 + * @param mobile + * @return + */ + @PostMapping("/getMemberByMobile") + public R<Member> getMemberByMobile(@RequestBody String mobile) + { + Member member = memberService.getByMobile(mobile); + return R.ok(member); + } + + /** + * 订单创建新用户 + * @param member + * @return + */ + @PostMapping("/createNewMember") + public R createNewMember(@RequestBody Member member) + { + memberService.createNewMember(member); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java index 3501a19..bdee645 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java @@ -102,7 +102,7 @@ * 总活动次数 */ @TableField("total_activity_count") - private String totalActivityCount; + private Integer totalActivityCount; /** * 最后活动时间 */ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index 6c734a0..b5c088f 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java @@ -1,4 +1,5 @@ package com.ruoyi.member.service.impl.member; +import java.util.Date; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; @@ -14,10 +15,12 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.*; import com.ruoyi.member.domain.pojo.member.MemberNurse; +import com.ruoyi.member.domain.pojo.member.MemberTotal; import com.ruoyi.member.domain.vo.*; import com.ruoyi.member.mapper.member.MemberMapper; import com.ruoyi.member.service.member.MemberNurseService; import com.ruoyi.member.service.member.MemberService; +import com.ruoyi.member.service.member.MemberTotalService; import com.ruoyi.member.util.HttpUtils; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; @@ -46,6 +49,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -92,6 +96,9 @@ @Resource private RedisService redisService; + + @Resource + private MemberTotalService memberTotalService; /** * @description: TODO @@ -180,7 +187,7 @@ JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); String errcode = jsonUserPhoneNumber.getString("errcode"); String errmsg = jsonUserPhoneNumber.getString("errmsg"); - if (!errcode.equals("0")) { + if (!"0".equals(errcode)) { throw new ServiceException(errmsg); } String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); @@ -215,10 +222,13 @@ member.setUserId(sysUser.getUserId()); member.setDelFlag(0); member.setNickName("鸿瑞堂用户"); + member.setRealName("鸿瑞堂用户"); member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); member.setMemberId(memberId); member.setBindingFlag(0); member.setCreateTime(new Date()); + member.setMobile(mobile); + initMemberTotal(memberId); }else{ sysUser = sysUserService.getSysUser(member.getUserId()).getData(); } @@ -493,6 +503,7 @@ member.setCreateTime(new Date()); log.info("member-----------------"+member.toString()); this.saveOrUpdate(member); + initMemberTotal(memberId); } @@ -570,4 +581,45 @@ } } } + + + /** + * 订单创建新用户 + * @param member + */ + @Override + public void createNewMember(Member member){ + member.setDelFlag(0); + member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); + member.setBindingFlag(0); + member.setCreateTime(new Date()); + this.saveOrUpdate(member); + initMemberTotal(member.getMemberId()); + } + + /** + * 生成会员统计 + * @param memberId + * @return + */ + private void initMemberTotal(String memberId){ + MemberTotal memberTotal = new MemberTotal(); + memberTotal.setMemberId(memberId); + memberTotal.setDelFlag(0); + memberTotal.setTotalIntegral(0); + memberTotal.setUsedIntegral(0); + memberTotal.setUseableIntegral(0); + memberTotal.setTotalPayMoney(new BigDecimal("0.00")); + memberTotal.setTotalPayCount(0); + memberTotal.setLastPayMoney(new BigDecimal("0.00")); + memberTotal.setTotalServiceCount(0); + memberTotal.setUsedServiceCount(0); + memberTotal.setUseableServiceCount(0); + memberTotal.setTotalActivityCount(0); + memberTotal.setTotalCycleOrder(0); + memberTotal.setToltaExperienceOrder(0); + memberTotal.setTotalServiceOrder(0); + memberTotal.setTotalGoodsOrder(0); + memberTotalService.saveOrUpdate(memberTotal); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java index af2881a..1c4091d 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java @@ -32,6 +32,7 @@ * @version 1.0 */ Member getByUserId(Long userId); + /** * 小程序登录 * @param appMiniLoginDto @@ -122,7 +123,7 @@ void editMerMember(MerMemberEditDto merMemberEditDto); /** - * + * 通过手机号获取 * @param mobile * @return */ @@ -133,4 +134,10 @@ * @param appMemberGoodsTypeDto */ void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto); + + /** + * 订单创建新用户 + * @param member + */ + void createNewMember(Member member); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java index e844e40..aef93a6 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java @@ -41,7 +41,7 @@ * 用户id和随机数总长度 */ - private static final int maxLength = 4; + private static final int MAX_LENGTH = 4; /** * 更具id进行加密+加随机数组成固定长度编码 @@ -61,7 +61,7 @@ */ public static String getShopNo(Long shopId) { String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); + return toFillZeroCode(prefix, MAX_LENGTH, shopId); } /** @@ -71,7 +71,7 @@ */ public static String getMemberNo(Long userId) { String prefix = APP_USER_PREFIX; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } /** @@ -84,7 +84,7 @@ String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date()); prefix = ORDER_PREFIX + prefix; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java index 4ad5625..84144c1 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java @@ -312,12 +312,15 @@ try { SSLContext ctx = SSLContext.getInstance("TLS"); X509TrustManager tm = new X509TrustManager() { + @Override public X509Certificate[] getAcceptedIssuers() { return null; } + @Override public void checkClientTrusted(X509Certificate[] xcs, String str) { } + @Override public void checkServerTrusted(X509Certificate[] xcs, String str) { } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java index b9de969..003aa9c 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java @@ -112,7 +112,7 @@ } consumerGoods.setUsedNum(usedNum+useNum); consumerGoods.setUseTime(new Date()); - if(consumerGoods.getUsedNum()==serviceNum){ + if(consumerGoods.getUsedNum().equals(serviceNum)){ consumerGoods.setServiceStatus(2); consumerGoods.setCompleteTime(new Date()); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 8dba62e..da81acf 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.core.utils.uuid.UUID; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; @@ -652,28 +653,38 @@ @Override public void createNewOrder(MerNewOrderDto merNewOrderDto){ Long userId = merNewOrderDto.getBuyUserId(); + //如果非指定用户判断是否需要通过手机号创建新用户 if(userId==null){ String name = merNewOrderDto.getName(); String mobile = merNewOrderDto.getMobile(); - SysUser sysUser = remoteUserService.getSysUserByMobile(mobile).getData(); - if(sysUser==null){ + Member member = remoteMemberService.getMemberByMobile(mobile).getData(); + SysUser sysUser; + if(member!=null){ + sysUser = remoteUserService.getSysUser(member.getUserId()).getData(); + }else{ //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); - sysUser.setUserName(mobile); + sysUser.setUserName(memberId); sysUser.setUserType("03"); sysUser.setNickName(name); + sysUser.setPhonenumber(mobile); sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "hongruitang"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); log.debug("sysUser"+sysUser.toString()); sysUser = remoteUserService.registerUser(sysUser).getData(); - userId = sysUser.getUserId(); - }else{ - userId = sysUser.getUserId(); + member = new Member(); + member.setMemberId(memberId); + member.setUserId(sysUser.getUserId()); + member.setMobile(mobile); + member.setRealName(name); + member.setNickName(name); + remoteMemberService.createNewMember(member); } + userId = sysUser.getUserId(); } - //创建订单 + //创建订单计算 List<AppBuyGoodsDto> appBuyGoodsDtoList = merNewOrderDto.getAppBuyGoodsDtoList(); String goodsId; Integer buyNum; @@ -724,6 +735,7 @@ buyNumBig = BigDecimal.valueOf(buyNum); goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; + //优惠券计算 if(memberCouponId!=null){ appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); if(null != appMemberCouponVo && (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId))){ @@ -773,6 +785,7 @@ orderGoods.setGoodsType(goods.getGoodsType()); orderGoodsService.save(orderGoods); } + //创建订单 Order order = new Order(); order.setOrderId(orderId); order.setDelFlag(0); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java index 5d64ef4..0b1f251 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java @@ -58,7 +58,7 @@ * 用户id和随机数总长度 */ - private static final int maxLength = 4; + private static final int MAX_LENGTH = 4; /** * 更具id进行加密+加随机数组成固定长度编码 @@ -78,7 +78,7 @@ */ public static String getShopNo(Long shopId) { String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); + return toFillZeroCode(prefix, MAX_LENGTH, shopId); } public static String getShopOrderNo() { diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java index b266dd7..b49b87f 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java @@ -4,11 +4,17 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.shop.domain.pojo.shop.ShopRelUser; +import com.ruoyi.shop.domain.pojo.shop.ShopStaff; import com.ruoyi.shop.service.shop.ShopRelUserService; import com.ruoyi.shop.service.shop.ShopService; +import com.ruoyi.shop.service.shop.ShopStaffService; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; import com.ruoyi.system.api.domain.poji.shop.Shop; +import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.ShopRelUserVo; +import com.ruoyi.system.api.model.QwH5LoginVo; +import com.ruoyi.system.api.model.QwUserDetailDto; +import com.ruoyi.system.api.service.RemoteUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -32,6 +38,32 @@ @Resource private ShopRelUserService shopRelUserService; + @Resource + private ShopStaffService shopStaffService; + + @Resource + private RemoteUserService remoteUserService; + + /** + * 企业微信H5登录 + * @param qwUserDetail + * @return + */ + @PostMapping("/qwH5Login") + public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail) + { + String mobile = qwUserDetail.getMobile(); + ShopStaff shopStaff = shopStaffService.getByMobile(mobile); + Long userId = shopStaff.getUserId(); + SysUser sysUser = remoteUserService.getSysUser(userId).getData(); + Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); + // 构造登录返回信息 + QwH5LoginVo qwH5LoginVo = new QwH5LoginVo(); + qwH5LoginVo.setUserid(qwUserDetail.getUserid()); + qwH5LoginVo.setMobile(qwUserDetail.getMobile()); + qwH5LoginVo.setSysUser(sysUser); + return R.ok(qwH5LoginVo); + } @PostMapping("/getShop") public R<Shop> getShop(@RequestBody Long shopId) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java index 9a791ff..373be58 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java @@ -47,6 +47,18 @@ return this.getOne(queryWrapper,false); } + /** + * 通过手机号获取商户员工 + * @param mobile + * @return + */ + @Override + public ShopStaff getByMobile(String mobile){ + LambdaQueryWrapper<ShopStaff> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(ShopStaff::getDelFlag, 0).eq(ShopStaff::getStaffMobile, mobile); + return this.getOne(queryWrapper,false); + } + /** * 获取商户员工信息 @@ -91,6 +103,8 @@ case 4: shopStaff.setStaffBirthday(merEditUserDto.getEditValue()); break; + default: + break; } this.saveOrUpdate(shopStaff); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java index 1e79027..85dfd7a 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java @@ -23,6 +23,13 @@ ShopStaff getByUserId(Long userId); /** + * 通过手机号获取商户员工 + * @param mobile + * @return + */ + ShopStaff getByMobile(String mobile); + + /** * 获取商户员工信息 * @param userId * @return diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java index a08fa6d..5250452 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java @@ -41,7 +41,7 @@ * 用户id和随机数总长度 */ - private static final int maxLength = 4; + private static final int MAX_LENGTH = 4; /** * 更具id进行加密+加随机数组成固定长度编码 @@ -61,7 +61,7 @@ */ public static String getShopNo(Long shopId) { String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); + return toFillZeroCode(prefix, MAX_LENGTH, shopId); } /** @@ -71,7 +71,7 @@ */ public static String getMemberNo(Long userId) { String prefix = APP_USER_PREFIX; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } /** @@ -84,7 +84,7 @@ String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date()); prefix = ORDER_PREFIX + prefix; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java index 5e93462..dd8f3a1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java @@ -147,25 +147,7 @@ return R.ok(userService.registerUser(sysUser)!=null); } - /** - * 企业微信H5登录 - * @param qwUserDetail - * @return - */ - @PostMapping("/qwH5Login") - public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail) - { - String mobile = qwUserDetail.getMobile(); - SysUser sysUser = userService.selectUserByPhoneNumber(mobile,"01"); - Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); - // 构造登录返回信息 - QwH5LoginVo qwH5LoginVo = new QwH5LoginVo(); - qwH5LoginVo.setUserid(qwUserDetail.getUserid()); - qwH5LoginVo.setMobile(qwUserDetail.getMobile()); - qwH5LoginVo.setSysUser(sysUser); - return R.ok(qwH5LoginVo); - } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java index a8fd244..196a2ef 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java @@ -41,7 +41,7 @@ * 用户id和随机数总长度 */ - private static final int maxLength = 4; + private static final int MAX_LENGTH = 4; /** * 更具id进行加密+加随机数组成固定长度编码 @@ -61,7 +61,7 @@ */ public static String getShopNo(Long shopId) { String prefix = SHOP_PREFIX; - return toFillZeroCode(prefix, maxLength, shopId); + return toFillZeroCode(prefix, MAX_LENGTH, shopId); } /** @@ -71,7 +71,7 @@ */ public static String getMemberNo(Long userId) { String prefix = APP_USER_PREFIX; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } /** @@ -84,7 +84,7 @@ String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date()); prefix = ORDER_PREFIX + prefix; - return toFillZeroCode(prefix, maxLength, userId); + return toFillZeroCode(prefix, MAX_LENGTH, userId); } -- Gitblit v1.7.1