ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteOrderService.java
@@ -1,10 +1,17 @@ package com.ruoyi.system.api; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import com.ruoyi.system.api.factory.RemoteUserFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @FeignClient(contextId = "remoteOrderService", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) public interface RemoteOrderService { @PostMapping("/order/getAppOrderTotal") public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteShopService.java
@@ -1,9 +1,17 @@ package com.ruoyi.system.api; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.factory.RemoteUserFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @FeignClient(contextId = "remoteShopService", value = ServiceNameConstants.SHOP_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) public interface RemoteShopService { @PostMapping("/shop/getShop") public R<Shop> getShop(@RequestBody Long shopId); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.api; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import org.springframework.cloud.openfeign.FeignClient; @@ -75,4 +76,11 @@ @PostMapping("/user/updateUserMobile") public R updateUserMobile(@RequestBody SysUser sysUser); /** * * @param appEditUserDto * @return */ @PostMapping("/user/editUserInfo") public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -59,4 +59,60 @@ String AGREEMENT_FAILED = "获取协议失败"; String GOODS_DOWN = "商品已下架"; String NO_STOCK = "商品已售完"; String LIMIT_BUY = "达到商品购买限制"; String NO_GOODS = "商品不存在或已下架"; String DOUBLE_SUBMIT = "请勿重复提交"; String COUPON_USE_FAILED = "优惠券已被使用"; String INTEGRAL_USE_FAILED = "积分不够支付"; String CREATE_ORDER_FAILED = "创建订单失败"; String CANCEL_ERROR_ORDER = "只能取消未支付订单"; String DELETE_ERROR_ORDER = "待支付订单需取消后才能删除"; String RECEIVE_ERROR_ORDER = "只能收货已发货订单"; String EVALUATE_ERROR_ORDER = "只能评价已完成订单"; String EXPRESS_ERROR_ORDER = "订单未发货暂无物流信息"; String EXPRESS_FAILED = "物流信息获取失败"; String ORDER_FAILED = "获取订单失败"; String REFUND_ERROR_ORDER = "只有已支付订单可申请退款"; String REFUND_ORDER_ING = "订单已通过审核"; String REFUND_ORDER_END = "订单已完成售后"; String ORDER_AFTER_SALES = "订单还在售后中"; String AFTER_SALES_FAILED = "获取售后订单失败"; String AFTER_SALES_CANCEL = "撤销的售后不能修改"; String AFTER_SALES_SUCCESS = "完成的售后不能修改"; String AFTER_SALES_SEND = "订单需要审核"; String AFTER_SALES_BEYOND = "退款不能超过支付金额"; String AUTO_ORDER_FAILED = "自动获取订单失败"; String PAYMENT_FAILED = "提交支付失败"; String INVOICE_FAILED = "获取发票失败"; String INTEGRAL_COUPON_ERROR = "积分不能和优惠券同时使用"; String ADDRESS_FAILED = "只能修改未支付订单地址"; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseBathDto.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseBathDto.java @@ -1,4 +1,4 @@ package com.ruoyi.member.domain.dto; package com.ruoyi.system.api.domain.dto; /** * @author jqs34 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseDto.java
File was renamed from ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseDto.java @@ -1,4 +1,4 @@ package com.ruoyi.system.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppBaseGetDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseGetDto.java @@ -1,4 +1,4 @@ package com.ruoyi.shop.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppEditUserDto.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppEditUserDto * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppEditUserDto extends AppBaseDto{ @ApiModelProperty(value = "修改类型1.昵称2.头像3.性别4.生日") private Integer editType; @ApiModelProperty(value = "修改值 性别0=男,1=女,2=未知 生日YYYY-MM-DD ") private String editValue; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/AppPageDto.java
File was renamed from ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPageDto.java @@ -1,4 +1,4 @@ package com.ruoyi.order.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtBaseDto.java @@ -1,4 +1,4 @@ package com.ruoyi.shop.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtBaseGetDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtBaseGetDto.java @@ -1,4 +1,4 @@ package com.ruoyi.shop.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtPageDto.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtPageDto.java @@ -1,4 +1,4 @@ package com.ruoyi.shop.domain.dto; package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/config/SysClassification.java
@@ -56,8 +56,8 @@ /** * 关联数量 */ @TableField("realtion_num") private Integer realtionNum; @TableField("relation_num") private Integer relationNum; /** * 创建时间 */ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/Member.java
@@ -67,8 +67,8 @@ /** * 关联商户id */ @TableField("realtion_shop_id") private Long realtionShopId; @TableField("relation_shop_id") private Long relationShopId; /** * 真实姓名 */ @@ -79,7 +79,7 @@ */ private String mobile; /** * 性别0未知1男2女 * 性别0=男,1=女,2=未知 */ private Integer gender; /** ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
File was renamed from ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/Shop.java @@ -1,4 +1,4 @@ package com.ruoyi.shop.domain.pojo.shop; package com.ruoyi.system.api.domain.poji.shop; import com.baomidou.mybatisplus.annotation.IdType; import java.util.Date; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/sys/SysUser.java
@@ -30,6 +30,10 @@ private Long deptId; /** 用户账号 */ @Excel(name = "用户类型", readConverterExp = "00系统用户,01B端商户成员,03C端用户") private String userType; /** 用户账号 */ @Excel(name = "登录名称") private String userName; @@ -296,6 +300,15 @@ { this.roleId = roleId; } public String getUserType() { return userType; } public void setUserType(String userType) { this.userType = userType; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -318,6 +331,7 @@ .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) .append("userType", getUserType()) .toString(); } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppOrderTotalVo.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.system.api.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppOrderTotalVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppOrderTotalVo { @ApiModelProperty("待支付统计") private Integer noPayCount; @ApiModelProperty("待核销统计") private Integer noUseCount; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -1,7 +1,9 @@ package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.RemoteOrderService; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -24,6 +26,10 @@ return new RemoteOrderService() { @Override public R<AppOrderTotalVo> getAppOrderTotal(Long userId) { return R.fail("获取订单统计失败:" + throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -1,7 +1,9 @@ package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.RemoteShopService; import com.ruoyi.system.api.domain.poji.shop.Shop; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -23,7 +25,10 @@ log.error("商户服务调用失败:{}", throwable.getMessage()); return new RemoteShopService() { @Override public R<Shop> getShop(Long shopId) { return R.fail("获取商户失败:" + throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.api.factory; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import org.slf4j.Logger; @@ -39,8 +40,6 @@ return R.fail("注册用户失败:" + throwable.getMessage()); } @Override public R<SysUser> getSysUser(Long userId) { return R.fail("获取用户失败:" + throwable.getMessage()); @@ -55,6 +54,11 @@ public R updateUserMobile(SysUser sysUser) { return R.fail("更新用户手机失败:" + throwable.getMessage()); } @Override public R editUserInfo(AppEditUserDto appEditUserDto) { return R.fail("更新用户信息失败:" + throwable.getMessage()); } }; } } ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -172,6 +172,7 @@ SysUser sysUser = new SysUser(); sysUser.setUserName(username); sysUser.setNickName(username); sysUser.setUserType("00"); sysUser.setPassword(SecurityUtils.encryptPassword(password)); R<?> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppMemberController.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppConfigController.java @@ -4,7 +4,11 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.AppUserAuthorizeDto; import com.ruoyi.member.domain.vo.AppUserAuthorizeVo; import com.ruoyi.member.domain.vo.AppUserInfoVo; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.sys.SysUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -22,8 +26,8 @@ */ @Api(value = "小程序配置相关接口", tags = "小程序配置相关接口", description = "小程序配置相关接口") @RestController @RequestMapping("/app/config") public class AppConfigController { @RequestMapping("/app/member") public class AppMemberController { @Autowired private MemberService memberService; @@ -38,7 +42,21 @@ return R.ok(appUserAuthorizeVo); } @RequestMapping(value = "/getAppUserInfo", method = RequestMethod.POST) @ApiOperation(value = "获取用户信息") public R<AppUserInfoVo> getAppUserInfo() { Long userId = SecurityUtils.getUserId(); AppUserInfoVo appUserInfoVo = memberService.getAppUserInfo(userId); return R.ok(appUserInfoVo); } @RequestMapping(value = "/editAppUserInfo", method = RequestMethod.POST) @ApiOperation(value = "修改用户信息") public R editAppUserInfo(@RequestBody AppEditUserDto appEditUserDto) { Long userId = SecurityUtils.getUserId(); appEditUserDto.setUserId(userId); memberService.editAppUserInfo(appEditUserDto); return R.ok(); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseDto.java
File was deleted ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppBaseGetDto.java
File was deleted ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppPageDto.java
File was deleted ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/AppUserAuthorizeDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.member.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppUserAuthorizeDto extends AppBaseDto{ public class AppUserAuthorizeDto extends AppBaseDto { @ApiModelProperty(value = "手机iv") private String phoneIv; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUserInfoVo.java
New file @@ -0,0 +1,49 @@ package com.ruoyi.member.domain.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.ruoyi.common.core.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppUserInfoVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppUserInfoVo { @ApiModelProperty(value = "用户id") private Long userId; @ApiModelProperty("会员编号") private String memberNo; @ApiModelProperty(name = "用户名称") private String nickName; @ApiModelProperty(name = "手机号码") private String phonenumber; @ApiModelProperty("关联商户") private String shopName; @ApiModelProperty("生日") private String birthday; @ApiModelProperty("性别0=男,1=女,2=未知") private Integer gender; @ApiModelProperty("用户头像") private String avatar; @ApiModelProperty("待支付统计") private Integer noPayCount; @ApiModelProperty("待核销统计") private Integer noUseCount; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -5,16 +5,23 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.member.domain.dto.AppUserAuthorizeDto; import com.ruoyi.member.domain.vo.AppUserAuthorizeVo; import com.ruoyi.member.domain.vo.AppUserInfoVo; import com.ruoyi.member.mapper.member.MemberMapper; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.system.api.RemoteOrderService; import com.ruoyi.system.api.RemoteShopService; import com.ruoyi.system.api.RemoteUserService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.member.Member; 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.AppOrderTotalVo; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import org.apache.commons.lang3.StringUtils; @@ -47,6 +54,12 @@ @Resource private StringRedisTemplate stringRedisTemplate; @Resource private RemoteShopService shopService; @Resource private RemoteOrderService orderService; /** * @description: TODO @@ -89,9 +102,10 @@ SysUser sysUser; if(member==null){ //创建新用户 String memberId = UUID.randomUUID().toString(); String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); sysUser.setUserName(memberId); sysUser.setUserType("03"); sysUser.setNickName("微信用户"); String password = "hongruitang"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); @@ -163,5 +177,62 @@ return appUserAuthorizeVo; } /** * 获取用户信息 * @param userId * @return */ @Override public AppUserInfoVo getAppUserInfo(Long userId){ AppUserInfoVo appUserInfoVo = new AppUserInfoVo(); SysUser sysUser = sysUserService.getSysUser(userId).getData(); Member member = this.getByUserId(userId); appUserInfoVo.setUserId(userId); appUserInfoVo.setMemberNo(member.getMemberNo()); appUserInfoVo.setNickName(sysUser.getNickName()); appUserInfoVo.setPhonenumber(sysUser.getPhonenumber()); if(member.getRelationShopId()!=null){ Shop shop = shopService.getShop(member.getRelationShopId()).getData(); appUserInfoVo.setShopName(shop.getShopName()); } appUserInfoVo.setBirthday(member.getBirthday()); appUserInfoVo.setGender(member.getGender()); appUserInfoVo.setAvatar(sysUser.getAvatar()); AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId).getData(); appUserInfoVo.setNoPayCount(appOrderTotalVo.getNoPayCount()); appUserInfoVo.setNoUseCount(appOrderTotalVo.getNoUseCount()); return appUserInfoVo; } /** * 修改用户信息 * @param appEditUserDto */ @Override public void editAppUserInfo(AppEditUserDto appEditUserDto){ //修改类型1.昵称2.头像3.性别4.生日 Integer editType = appEditUserDto.getEditType(); String editValue = appEditUserDto.getEditValue(); Member member = this.getByUserId(appEditUserDto.getUserId()); switch (editType){ case 1: break; case 2: break; case 3: member.setGender(Integer.valueOf(editValue)); member.setUpdateTime(new Date()); member.setUpdateUserId(appEditUserDto.getUserId()); this.saveOrUpdate(member); break; case 4: member.setBirthday(editValue); member.setUpdateTime(new Date()); member.setUpdateUserId(appEditUserDto.getUserId()); this.saveOrUpdate(member); break; default: break; } } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -1,6 +1,8 @@ package com.ruoyi.member.service.member; import com.ruoyi.member.domain.vo.AppUserAuthorizeVo; import com.ruoyi.member.domain.vo.AppUserInfoVo; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; @@ -38,5 +40,16 @@ */ AppUserAuthorizeVo getAppUserAuthorize(AppUserAuthorizeDto appUserAuthorizeDto); /** * 获取用户信息 * @param userId * @return */ AppUserInfoVo getAppUserInfo(Long userId); /** * 修改用户信息 * @param appEditUserDto */ void editAppUserInfo(AppEditUserDto appEditUserDto); } ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -24,7 +24,7 @@ </resultMap> <sql id="selectMemberVo"> select user_id, del_flag, member_id, member_no, wx_openid, mini_openid, wx_unionid, realtion_shop_id, real_name, mobile, gender, referrer, customer_source, level, birthday, create_time, update_time, update_user_id from t_member select user_id, del_flag, member_id, member_no, wx_openid, mini_openid, wx_unionid, relation_shop_id, real_name, mobile, gender, referrer, customer_source, level, birthday, create_time, update_time, update_user_id from t_member </sql> <select id="selectMemberList" parameterType="com.ruoyi.system.api.domain.poji.member.Member" resultMap="MemberResult"> @@ -35,7 +35,7 @@ <if test="wxOpenid != null and wxOpenid != ''"> and wx_openid = #{wxOpenid}</if> <if test="miniOpenid != null and miniOpenid != ''"> and mini_openid = #{miniOpenid}</if> <if test="wxUnionid != null and wxUnionid != ''"> and wx_unionid = #{wxUnionid}</if> <if test="realtionShopId != null "> and realtion_shop_id = #{realtionShopId}</if> <if test="relationShopId != null "> and relation_shop_id = #{relationShopId}</if> <if test="realName != null and realName != ''"> and real_name like concat('%', #{realName}, '%')</if> <if test="mobile != null and mobile != ''"> and mobile = #{mobile}</if> <if test="gender != null "> and gender = #{gender}</if> @@ -62,7 +62,7 @@ <if test="wxOpenid != null">wx_openid,</if> <if test="miniOpenid != null">mini_openid,</if> <if test="wxUnionid != null">wx_unionid,</if> <if test="realtionShopId != null">realtion_shop_id,</if> <if test="relationShopId != null">relation_shop_id,</if> <if test="realName != null">real_name,</if> <if test="mobile != null">mobile,</if> <if test="gender != null">gender,</if> @@ -82,7 +82,7 @@ <if test="wxOpenid != null">#{wxOpenid},</if> <if test="miniOpenid != null">#{miniOpenid},</if> <if test="wxUnionid != null">#{wxUnionid},</if> <if test="realtionShopId != null">#{realtionShopId},</if> <if test="relationShopId != null">#{relationShopId},</if> <if test="realName != null">#{realName},</if> <if test="mobile != null">#{mobile},</if> <if test="gender != null">#{gender},</if> @@ -105,7 +105,7 @@ <if test="wxOpenid != null">wx_openid = #{wxOpenid},</if> <if test="miniOpenid != null">mini_openid = #{miniOpenid},</if> <if test="wxUnionid != null">wx_unionid = #{wxUnionid},</if> <if test="realtionShopId != null">realtion_shop_id = #{realtionShopId},</if> <if test="relationShopId != null">relation_shop_id = #{relationShopId},</if> <if test="realName != null">real_name = #{realName},</if> <if test="mobile != null">mobile = #{mobile},</if> <if test="gender != null">gender = #{gender},</if> ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
New file @@ -0,0 +1,33 @@ package com.ruoyi.order.controller.concole; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author jqs34 * @ClassName OrderController * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @RestController @RequestMapping("/order") public class OrderController { @Autowired private OrderService orderService; @InnerAuth @PostMapping("/getAppOrderTotal") public R<AppOrderTotalVo> getAppOrderTotal(@RequestBody Long userId){ AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId); return R.ok(appOrderTotalVo); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppConsumerController.java
New file @@ -0,0 +1,81 @@ package com.ruoyi.order.controller.miniapp; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.vo.AppConsumerPageVo; import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.UserServiceRecordService; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.domain.poji.member.Member; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author jqs34 * @ClassName AppConsumerController * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Api(value = "小程序服务相关接口", tags = "小程序服务相关接口", description = "小程序服务相关接口") @RestController @RequestMapping("/app/consumer") public class AppConsumerController { @Autowired private RemoteMemberService memberService; @Autowired private ConsumerGoodsService consumerGoodsService; @Autowired private UserServiceRecordService userServiceRecordService; @RequestMapping(value = "/pageUserConsumerGoods", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户服务单") public R<Page<AppConsumerPageVo>> pageUserConsumerGoods(@RequestBody AppConsumerPageDto appConsumerPageDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appConsumerPageDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appConsumerPageDto.setShopId(member.getRelationShopId()); } } Page<AppConsumerPageVo> page = new Page<>(); page.setSize(appConsumerPageDto.getPageSize()); page.setCurrent(appConsumerPageDto.getPageNum()); List<AppConsumerPageVo> appConsumerPageVoList = consumerGoodsService.pageUserConsumerGoods(page,appConsumerPageDto); return R.ok(page.setRecords(appConsumerPageVoList)); } @RequestMapping(value = "/pageUserServiceRecord", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户服务记录") public R<Page<AppServiceRecordPageVo>> pageUserServiceRecord(@RequestBody AppConsumerPageDto appConsumerPageDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appConsumerPageDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appConsumerPageDto.setShopId(member.getRelationShopId()); } } Page<AppServiceRecordPageVo> page = new Page<>(); page.setSize(appConsumerPageDto.getPageSize()); page.setCurrent(appConsumerPageDto.getPageNum()); List<AppServiceRecordPageVo> appServiceRecordPageVoList = userServiceRecordService.pageUserServiceRecord(page,appConsumerPageDto); return R.ok(page.setRecords(appServiceRecordPageVoList)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppGoodsController.java
@@ -3,13 +3,12 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.AppBaseBathDto; import com.ruoyi.system.api.domain.dto.AppBaseBathDto; import com.ruoyi.order.domain.dto.AppGoodsInfoGetDto; import com.ruoyi.order.domain.dto.AppShoppingCartAddDto; import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto; import com.ruoyi.order.domain.vo.AppGoodsInfoVo; import com.ruoyi.order.service.goods.GoodsService; import com.ruoyi.order.service.goods.ShopGoodsService; import com.ruoyi.order.service.order.ShoppingCartService; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.domain.poji.member.Member; @@ -48,8 +47,8 @@ Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); if(member!=null&&member.getRealtionShopId()!=null){ appGoodsInfoGetDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appGoodsInfoGetDto.setShopId(member.getRelationShopId()); } } AppGoodsInfoVo appGoodsInfoVo = goodsService.getGoodsInfo(appGoodsInfoGetDto); @@ -63,8 +62,8 @@ if(userId!=null){ Member member = memberService.getMember(userId).getData(); appShoppingCartAddDto.setUserId(userId); if(member!=null&&member.getRealtionShopId()!=null){ appShoppingCartAddDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appShoppingCartAddDto.setShopId(member.getRelationShopId()); } } shoppingCartService.addShoppingCart(appShoppingCartAddDto); @@ -78,8 +77,8 @@ if(userId!=null){ Member member = memberService.getMember(userId).getData(); appShoppingCartChangeDto.setUserId(userId); if(member!=null&&member.getRealtionShopId()!=null){ appShoppingCartChangeDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appShoppingCartChangeDto.setShopId(member.getRelationShopId()); } } shoppingCartService.changeShoppingCart(appShoppingCartChangeDto); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppHomeController.java
@@ -4,7 +4,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.AppPageDto; import com.ruoyi.system.api.domain.dto.AppPageDto; import com.ruoyi.order.domain.dto.AppSearchGoodsPageDto; import com.ruoyi.order.domain.dto.AppShopGoodsPageDto; import com.ruoyi.order.domain.vo.AppSimpleActivityGoodsVo; @@ -50,14 +50,15 @@ Long shopId = null; if(userId!=null){ Member member = memberService.getMember(userId).getData(); if(member!=null&&member.getRealtionShopId()!=null){ shopId = member.getRealtionShopId(); if(member!=null&&member.getRelationShopId()!=null){ shopId = member.getRelationShopId(); } } Page<AppSimpleGoodsVo> page = new Page<>(); page.setSize(appPageDto.getPageSize()); page.setCurrent(appPageDto.getPageNum()); List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsService.pageRecommendGoods(page,shopId); return R.ok(page.setRecords(appSimpleGoodsVoList)); } @@ -67,8 +68,8 @@ Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); if(member!=null&&member.getRealtionShopId()!=null){ appShopGoodsPageDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appShopGoodsPageDto.setShopId(member.getRelationShopId()); } } Page<AppSimpleGoodsVo> page = new Page<>(); @@ -84,8 +85,8 @@ Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); if(member!=null&&member.getRealtionShopId()!=null){ appSearchGoodsPageDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appSearchGoodsPageDto.setShopId(member.getRelationShopId()); } } Page<AppSimpleGoodsVo> page = new Page<>(); @@ -101,8 +102,8 @@ Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); if(member!=null&&member.getRealtionShopId()!=null){ appSearchGoodsPageDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appSearchGoodsPageDto.setShopId(member.getRelationShopId()); } } Page<AppSimpleActivityGoodsVo> page = new Page<>(); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -1,13 +1,14 @@ package com.ruoyi.order.controller.miniapp; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.AppBuyGoodsDto; import com.ruoyi.order.domain.dto.AppSureOrderDto; import com.ruoyi.order.domain.vo.AppSureOrderVo; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.system.api.domain.poji.member.Member; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * @author jqs34 @@ -43,13 +46,82 @@ if(userId!=null){ Member member = memberService.getMember(userId).getData(); appSureOrderDto.setUserId(userId); if(member!=null&&member.getRealtionShopId()!=null){ appSureOrderDto.setShopId(member.getRealtionShopId()); if(member!=null&&member.getRelationShopId()!=null){ appSureOrderDto.setShopId(member.getRelationShopId()); } } AppSureOrderVo appSureOrderVo = orderService.buyGoods(appSureOrderDto); return R.ok(appSureOrderVo); } @RequestMapping(value = "/placeOrder", method = RequestMethod.POST) @ApiOperation(value = "创建订单") public R<AppPlaceOrderVo> placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appPlaceOrderDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appPlaceOrderDto.setShopId(member.getRelationShopId()); } } AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto); return R.ok(appPlaceOrderVo); } @RequestMapping(value = "/pageUserOrder", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户订单") public R<Page<AppUserOrderPageVo>> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appUserOrderPageDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appUserOrderPageDto.setShopId(member.getRelationShopId()); } } Page<AppUserOrderPageVo> page = new Page<>(); page.setSize(appUserOrderPageDto.getPageSize()); page.setCurrent(appUserOrderPageDto.getPageNum()); List<AppUserOrderPageVo> appUserOrderPageVoList = orderService.pageUserOrder(page,appUserOrderPageDto); return R.ok(page.setRecords(appUserOrderPageVoList)); } @RequestMapping(value = "/getAppOrderDetail", method = RequestMethod.POST) @ApiOperation(value = "获取订单详情") public R<AppUserOrderGetVo> getAppOrderDetail(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); Long shopId = null; if(userId!=null){ Member member = memberService.getMember(userId).getData(); appBaseGetDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ shopId = member.getRelationShopId(); } } AppUserOrderGetVo appUserOrderGetVo = orderService.getAppOrderDetail(appBaseGetDto); if(shopId!=null&&appUserOrderGetVo.getShopId().equals(shopId)){ appUserOrderGetVo.setSameShop(1); }else{ appUserOrderGetVo.setSameShop(0); } return R.ok(appUserOrderGetVo); } @RequestMapping(value = "/payOrder", method = RequestMethod.POST) @ApiOperation(value = "支付订单(临时)") public R<AppPlaceOrderVo> placeOrder(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); AppPlaceOrderVo appPlaceOrderVo = null; return R.ok(appPlaceOrderVo); } @RequestMapping(value = "/cancelOrder", method = RequestMethod.POST) @ApiOperation(value = "取消订单") public R cancelOrder(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); orderService.cancelOrder(appBaseGetDto.getId()); return R.ok(); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseBathDto.java
File was deleted ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseDto.java
File was deleted ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBaseGetDto.java
File was deleted ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,7 +13,7 @@ */ @Data public class AppBuyGoodsDto extends AppBaseDto{ public class AppBuyGoodsDto extends AppBaseDto { @ApiModelProperty(value = "商品id") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppConsumerPageDto.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppConsumerPageDto * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppConsumerPageDto extends AppPageDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; @ApiModelProperty("商品类型1周期2服务3体验4单品") private Integer goodsType; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppGoodsInfoGetDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppPlaceOrderDto.java
New file @@ -0,0 +1,31 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author jqs34 * @version 1.0 * @classname AppShoppingcartDto * @description: TODO * @date 2023 2023/5/2 20:54 */ @Data public class AppPlaceOrderDto extends AppBaseDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; @ApiModelProperty(value = "支付方式1.全款2.订金") private Integer payType; @ApiModelProperty(value = "订单备注") private String orderRemark; @ApiModelProperty(value = "购物车列表") List<AppBuyGoodsDto> appBuyGoodsDtoList; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSearchGoodsPageDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShopGoodsPageDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppShopGoodsPageDto extends AppPageDto{ public class AppShopGoodsPageDto extends AppPageDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartAddDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppShoppingCartAddDto extends AppBaseDto{ public class AppShoppingCartAddDto extends AppBaseDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppShoppingCartChangeDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppShoppingCartChangeDto extends AppBaseDto{ public class AppShoppingCartChangeDto extends AppBaseDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppSureOrderDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -13,7 +14,7 @@ * @date 2023 2023/5/2 20:54 */ @Data public class AppSureOrderDto extends AppBaseDto{ public class AppSureOrderDto extends AppBaseDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppUserOrderPageDto.java
New file @@ -0,0 +1,25 @@ package com.ruoyi.order.domain.dto; import com.ruoyi.system.api.domain.dto.AppPageDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppUserOrderPageDto * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppUserOrderPageDto extends AppPageDto { @ApiModelProperty(value = "shopId",hidden = true) private Long shopId; @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") private Integer orderStatus; @ApiModelProperty(value = "搜索关键词") private String keyword; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java
@@ -83,6 +83,13 @@ */ @TableField("receivable_money") private BigDecimal receivableMoney; /** * 应收订金 */ @TableField("receivable_deposit") private BigDecimal receivableDeposit; /** * 支付类型1.全款2.订金 */ @@ -138,7 +145,11 @@ */ @TableField("use_user_id") private Long useUserId; /** * 商品数量 */ @TableField("goods_num") private Integer goodsNum; @Override protected Serializable pkVal() { ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/UserServiceRecord.java
@@ -35,6 +35,12 @@ */ @TableField("del_flag") private Integer delFlag; /** * 用户id */ @TableField("shop_id") private Long shopId; /** * 用户id */ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppConsumerPageVo.java
New file @@ -0,0 +1,48 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppConsumerPageVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppConsumerPageVo { @ApiModelProperty("服务id") private String consumerGoodsId; @ApiModelProperty("服务状态-1删除1未完成2完成") private Integer serviceStatus; @ApiModelProperty("商户id") private Long shopId; @ApiModelProperty("商品类型1周期2服务3体验4单品") private Integer goodsType; @ApiModelProperty("商品名称") private String goodsName; @ApiModelProperty("商品图片") private String goodsPicture; @ApiModelProperty("商品调理问题") private String goodsNurses; @ApiModelProperty("周期标记") private Integer cycleNumFlag; @ApiModelProperty("服务次数") private Integer serviceNum; @ApiModelProperty("消耗次数") private Integer usedNum; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppPlaceOrderVo.java
New file @@ -0,0 +1,55 @@ package com.ruoyi.order.domain.vo; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author jqs34 * @ClassName AppResettlement * @description: TODO * @date 2023年02月27日 * @version: 1.0 */ @Data public class AppPlaceOrderVo { @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty(value = "订单编号") private String orderNo; @ApiModelProperty(value = "支付金额") private BigDecimal payMoney; @ApiModelProperty(value = "支付截止时间") private String payDeadlineTime; @ApiModelProperty(value = "appId") private String appId; @ApiModelProperty(value = "商户号") private String mchId; @ApiModelProperty(value = "时间戳") private String timeStamp; @ApiModelProperty(value = "随机串防重发") private String nonceStr; @ApiModelProperty(value = "package") @JsonProperty("package") private String packageStr; @ApiModelProperty(value = "签名方式") private String tradeType; @ApiModelProperty(value = "签名") private String paySign; @ApiModelProperty(value = "预支付回话标识") private String prepayId; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppServiceRecordPageVo.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author jqs34 * @ClassName AppServiceRecordPageVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppServiceRecordPageVo { @ApiModelProperty("服务名称") private String consumerGoodsNames; @ApiModelProperty("服务类型1.周期2.服务3.体验") private Integer serviceType; @ApiModelProperty("创建时间") private Date createTime; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGetVo.java
New file @@ -0,0 +1,74 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author jqs34 * @ClassName AppUserOrderPageVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppUserOrderGetVo { @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty("订单编号") private String orderNo; @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") private Integer orderStatus; @ApiModelProperty("订单来源1.商城2.秒杀活动3.线下创建") private Integer orderFrom; @ApiModelProperty(value = "商品总价") private BigDecimal orderGoodsMoney; @ApiModelProperty(value = "优惠券抵扣") private BigDecimal couponDiscount; @ApiModelProperty("应收金额") private BigDecimal receivableMoney; @ApiModelProperty("应收订金") private BigDecimal receivableDeposit; @ApiModelProperty("订单商品列表") private List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList; @ApiModelProperty("订单支付金额") private BigDecimal payMoney; @ApiModelProperty("商户id") private Long shopId; @ApiModelProperty("商户名称") private String shopName; @ApiModelProperty(value = "是否绑定商户0否1是") private Integer sameShop; @ApiModelProperty("创建时间") private Date createTime; @ApiModelProperty("支付时间") private Date payTime; @ApiModelProperty("核销时间") private Date useTime; @ApiModelProperty("取消时间") private Date cancelTime; @ApiModelProperty("订单备注") private String orderRemark; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderGoodsPageVo.java
New file @@ -0,0 +1,41 @@ package com.ruoyi.order.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author jqs34 * @ClassName AppUserOrderPageVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppUserOrderGoodsPageVo { @ApiModelProperty("商品id") private String goodsId; @ApiModelProperty("商品名称") private String goodsName; @ApiModelProperty("商品图片") private String goodsPicture; @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") private Integer goodsType; @ApiModelProperty(value = "购买数量") private Integer buyNum; @ApiModelProperty(value = "商品售价") private BigDecimal goodsPrice; @ApiModelProperty(value = "商品实际价格") private BigDecimal goodsRealPrice; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppUserOrderPageVo.java
New file @@ -0,0 +1,53 @@ package com.ruoyi.order.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.List; /** * @author jqs34 * @ClassName AppUserOrderPageVo * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @Data public class AppUserOrderPageVo { @ApiModelProperty(value = "订单id") private String orderId; @ApiModelProperty("订单编号") private String orderNo; @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") private Integer orderStatus; @ApiModelProperty("订单来源1.商城2.秒杀活动3.线下创建") private Integer orderFrom; @ApiModelProperty("订单商品列表") private List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList; @ApiModelProperty("订单支付金额") private BigDecimal receivableMoney; @ApiModelProperty("商品数量") private Integer goodsNum; @ApiModelProperty("商户id") private Long shopId; @ApiModelProperty("商户名称") private String shopName; @ApiModelProperty("商户服务电话") private String shopServicePhone; @ApiModelProperty(value = "是否绑定商户0否1是") private Integer sameShop; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/ConsumerGoodsMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.order.mapper.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.vo.AppConsumerPageVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface ConsumerGoodsMapper extends BaseMapper<ConsumerGoods> { /** * 分页获取用户服务 * @param page * @param appConsumerPageDto * @return */ List<AppConsumerPageVo> pageUserConsumerGoods(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java
@@ -2,6 +2,10 @@ import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +17,11 @@ */ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> { /** * * @param orderId * @return */ List<AppUserOrderGoodsPageVo> listVoByOrderId(@Param("orderId") String orderId); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.order.mapper.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.order.domain.dto.AppUserOrderPageDto; import com.ruoyi.order.domain.pojo.order.Order; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.vo.AppUserOrderPageVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface OrderMapper extends BaseMapper<Order> { /** * 分页获取用户订单 * @param page * @param appUserOrderPageDto * @return */ List<AppUserOrderPageVo> pageUserOrder(Page page, @Param("param") AppUserOrderPageDto appUserOrderPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.order.mapper.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.UserServiceRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,11 @@ */ public interface UserServiceRecordMapper extends BaseMapper<UserServiceRecord> { /** * 分页获取用户服务记录 * @param page * @param appConsumerPageDto * @return */ List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -1,11 +1,17 @@ package com.ruoyi.order.service.impl.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.ruoyi.order.domain.vo.AppConsumerPageVo; import com.ruoyi.order.mapper.order.ConsumerGoodsMapper; import com.ruoyi.order.service.order.ConsumerGoodsService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -18,4 +24,17 @@ @Service public class ConsumerGoodsServiceImpl extends ServiceImpl<ConsumerGoodsMapper, ConsumerGoods> implements ConsumerGoodsService { @Resource private ConsumerGoodsMapper consumerGoodsMapper; /** * 获取用户服务 * @param page * @param appConsumerPageDto * @return */ @Override public List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto){ return consumerGoodsMapper.pageUserConsumerGoods(page, appConsumerPageDto); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java
@@ -3,9 +3,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; import com.ruoyi.order.mapper.order.OrderGoodsMapper; import com.ruoyi.order.service.order.OrderGoodsService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -18,4 +22,16 @@ @Service public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGoods> implements OrderGoodsService { @Resource private OrderGoodsMapper orderGoodsMapper; /** * * @param orderId * @return */ @Override public List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId){ return orderGoodsMapper.listVoByOrderId(orderId); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1,31 +1,39 @@ package com.ruoyi.order.service.impl.order; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.domain.dto.AppBuyGoodsDto; import com.ruoyi.order.domain.dto.AppSureOrderDto; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.goods.Goods; import com.ruoyi.order.domain.pojo.goods.GoodsFile; import com.ruoyi.order.domain.pojo.goods.ShopGoods; import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.vo.AppSureOrderGoodsVo; import com.ruoyi.order.domain.vo.AppSureOrderVo; import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.goods.GoodsFileService; import com.ruoyi.order.service.goods.ShopGoodsService; import com.ruoyi.order.service.order.OrderGoodsService; import com.ruoyi.order.util.CodeFactoryUtil; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.RemoteShopService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import com.ruoyi.system.api.domain.vo.AppUserCouponVo; import com.ruoyi.order.mapper.order.OrderMapper; import com.ruoyi.order.service.goods.GoodsService; import com.ruoyi.order.service.order.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -49,11 +57,18 @@ @Resource private ShopGoodsService shopGoodsService; @Autowired @Resource private RemoteMemberService remoteMemberService; @Autowired @Resource private GoodsFileService goodsFileService; @Resource private OrderGoodsService orderGoodsService; @Resource private RemoteShopService remoteShopService; /** * @description: buyGoods * @param: appSureOrderDto @@ -174,4 +189,257 @@ appSureOrderVo.setAppSureOrderGoodsVoList(appSureOrderGoodsVoList); return appSureOrderVo; } /** * 创建订单 * @param appPlaceOrderDto * @return */ @Override public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto){ Long userId = appPlaceOrderDto.getUserId(); AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); List<AppSureOrderGoodsVo> appSureOrderGoodsVoList = new ArrayList<>(); AppSureOrderGoodsVo appSureOrderGoodsVo; List<AppBuyGoodsDto> appBuyGoodsDtoList = appPlaceOrderDto.getAppBuyGoodsDtoList(); String goodsId; Integer buyNum; BigDecimal buyNumBig; Integer serviceNum; Integer goodsNum = 0; Long userCouponId; Goods goods; BigDecimal goodsPrice; BigDecimal goodsTotalPrice; BigDecimal goodsRealPrice; List<AppUserCouponVo> appUserCouponVoList = remoteMemberService.listVoUserCouponByUserId(userId).getData(); Map<Long,AppUserCouponVo> appUserCouponVoMap = appUserCouponVoList.stream().collect(Collectors.toMap(AppUserCouponVo::getUserCouponId, Function.identity())); AppUserCouponVo appUserCouponVo; Integer couponType; BigDecimal moneyThreshold; BigDecimal discountMoney = new BigDecimal("0.00"); BigDecimal discountPercent; BigDecimal goodsDeposit; GoodsFile goodsFile; Integer useCoupon; BigDecimal orderGoodsMoney = new BigDecimal("0.00"); BigDecimal couponDiscount = new BigDecimal("0.00"); BigDecimal orderPayDeposit = new BigDecimal("0.00"); BigDecimal orderPayMoney = new BigDecimal("0.00"); String orderId = IdUtils.simpleUUID(); String orderNo = CodeFactoryUtil.getShopOrderNo(); OrderGoods orderGoods; String orderGoodsId; for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){ appSureOrderGoodsVo = new AppSureOrderGoodsVo(); useCoupon = 0; goodsId = appBuyGoodsDto.getGoodsId(); userCouponId = appBuyGoodsDto.getUserCouponId(); goods = goodsService.getById(goodsId); appSureOrderGoodsVo.setGoodsId(goodsId); appSureOrderGoodsVo.setGoodsName(goods.getGoodsName()); appSureOrderGoodsVo.setGoodsIntroduction(goods.getGoodsIntroduction()); appSureOrderGoodsVo.setGoodsType(goods.getGoodsType()); //商品图片 goodsFile = goodsFileService.getGoodsPicture(goodsId); appSureOrderGoodsVo.setGoodsPicture(goodsFile.getFileUrl()); buyNum = appBuyGoodsDto.getBuyNum(); appSureOrderGoodsVo.setBuyNum(buyNum); goodsPrice = goods.getSalesPrice(); serviceNum = goods.getServiceNum(); //商户定制价格 ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(appPlaceOrderDto.getShopId(),goods.getGoodsId()); if(shopGoods!=null){ goodsPrice = shopGoods.getSalesPrice(); serviceNum = shopGoods.getServiceNum(); } appSureOrderGoodsVo.setGoodsPrice(goodsPrice); buyNumBig = BigDecimal.valueOf(buyNum); goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; if(userCouponId!=null){ appUserCouponVo = appUserCouponVoMap.get(userCouponId); if(StringUtils.isBlank(appUserCouponVo.getRelGoodsIds()) || appUserCouponVo.getRelGoodsIds().contains(goodsId)){ couponType = appUserCouponVo.getCouponType(); if(couponType == 1 && appUserCouponVo.getMoneyThreshold()!=null && appUserCouponVo.getDiscountMoney()!=null){ moneyThreshold = appUserCouponVo.getMoneyThreshold(); if(goodsTotalPrice.compareTo(moneyThreshold)>=0){ discountMoney = appUserCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; } }else if(couponType == 2 && appUserCouponVo.getDiscountPercent()!=null){ discountPercent = appUserCouponVo.getDiscountPercent(); goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); useCoupon = 1; }else if(couponType == 3 && appUserCouponVo.getDiscountMoney()!=null){ discountMoney = appUserCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; } } } appSureOrderGoodsVo.setUseCoupon(useCoupon); appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice); appSureOrderGoodsVo.setCouponDiscount(discountMoney); appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice); goodsDeposit = goods.getSubscription(); if(goodsDeposit == null){ goodsDeposit = new BigDecimal("0.00"); } appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit); goodsNum = goodsNum + buyNum; orderGoodsMoney = orderGoodsMoney.add(goodsTotalPrice); couponDiscount = couponDiscount.add(discountMoney); orderPayDeposit = orderPayDeposit.add(goodsDeposit); orderPayMoney = orderPayMoney.add(goodsRealPrice); //创建OrderGoods orderGoods = new OrderGoods(); orderGoodsId = IdUtils.simpleUUID(); orderGoods.setOrderGoodsId(orderGoodsId); orderGoods.setDelFlag(0); orderGoods.setOrderId(orderId); orderGoods.setGoodsId(goodsId); orderGoods.setBuyNum(buyNum); orderGoods.setCouponId(userCouponId.toString()); orderGoods.setGoodsPrice(goodsPrice); orderGoods.setGoodsTotalMoney(orderGoodsMoney); orderGoods.setGoodsReceivableMoney(goodsRealPrice); orderGoods.setCycleNumFlag(goods.getCycleNumFlag()); orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoodsService.save(orderGoods); } Order order = new Order(); order.setOrderId(orderId); order.setDelFlag(0); order.setOrderStatus(1); order.setOrderNo(orderNo); order.setOrderFrom(1); order.setShopId(appPlaceOrderDto.getShopId()); order.setUserId(userId); order.setOrderMoney(orderGoodsMoney); order.setCouponMoney(couponDiscount); order.setDiscountMoney(couponDiscount); order.setReceivableMoney(orderPayMoney); order.setPayType(appPlaceOrderDto.getPayType()); if(order.getPayType()==1){ order.setPayMoney(orderPayMoney); order.setOnlinePayMoney(orderPayMoney); appPlaceOrderVo.setPayMoney(orderPayMoney); }else if(order.getPayType()==2){ order.setPayMoney(orderPayDeposit); order.setOnlinePayMoney(orderPayDeposit); appPlaceOrderVo.setPayMoney(orderPayDeposit); } order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); order.setCreateTime(new Date()); this.save(order); appPlaceOrderVo.setOrderId(orderId); appPlaceOrderVo.setOrderNo(orderNo); //调用支付 return appPlaceOrderVo; } /** * 分页获取用户订单 * @param page * @param appUserOrderPageDto * @return */ @Override public List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto){ List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page,appUserOrderPageDto); if(appUserOrderPageVoList!=null&&!appUserOrderPageVoList.isEmpty()){ Long shopId; Shop shop; HashSet<Long> set=new HashSet<Long>(); for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){ shopId = appUserOrderPageVo.getShopId(); set.add(shopId); } Map<Long, Shop> shopMap = new HashMap<>(); set.forEach(shopIdLong -> { Shop shopTemp = remoteShopService.getShop(shopIdLong).getData(); shopMap.put(shopIdLong, shopTemp); }); for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){ shop = shopMap.get(appUserOrderPageVo.getShopId()); appUserOrderPageVo.setShopName(shop.getShopName()); appUserOrderPageVo.setShopServicePhone(shop.getShopServicePhone()); if(appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())){ appUserOrderPageVo.setSameShop(1); }else{ appUserOrderPageVo.setSameShop(0); } } } return appUserOrderPageVoList; } /** * * @param appBaseGetDto * @return */ @Override public AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto){ String orderId = appBaseGetDto.getId(); Order order = this.getById(orderId); List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId); AppUserOrderGetVo appUserOrderGetVo = new AppUserOrderGetVo(); appUserOrderGetVo.setOrderId(orderId); appUserOrderGetVo.setOrderNo(order.getOrderNo()); appUserOrderGetVo.setOrderStatus(order.getOrderStatus()); appUserOrderGetVo.setOrderFrom(order.getOrderFrom()); appUserOrderGetVo.setOrderGoodsMoney(order.getOrderMoney()); appUserOrderGetVo.setCouponDiscount(order.getCouponMoney()); appUserOrderGetVo.setReceivableDeposit(order.getReceivableDeposit()); appUserOrderGetVo.setReceivableMoney(order.getReceivableMoney()); appUserOrderGetVo.setPayMoney(order.getPayMoney()); appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); appUserOrderGetVo.setShopId(order.getShopId()); Shop shop = remoteShopService.getShop(order.getShopId()).getData(); appUserOrderGetVo.setShopName(shop.getShopName()); appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); return appUserOrderGetVo; } /** * 取消订单 * @param orderId */ @Override public void cancelOrder(String orderId){ Order order = this.getById(orderId); if(order.getOrderStatus()!=1){ throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER); } order.setOrderStatus(0); order.setCancelTime(new Date()); this.saveOrUpdate(order); } /** * 获取用户订单统计 * @param userId * @return */ @Override public AppOrderTotalVo getAppOrderTotal(Long userId) { LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Order::getDelFlag, 0).eq(Order::getUserId, userId).eq(Order::getOrderStatus, 1); Integer noPayCount = Integer.valueOf((int) this.count(queryWrapper)); queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Order::getDelFlag, 0).eq(Order::getUserId, userId).eq(Order::getOrderStatus, 2); Integer noUseCount = Integer.valueOf((int) this.count(queryWrapper)); AppOrderTotalVo appOrderTotalVo = new AppOrderTotalVo(); appOrderTotalVo.setNoPayCount(noPayCount); appOrderTotalVo.setNoUseCount(noUseCount); return appOrderTotalVo; } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ShoppingCartServiceImpl.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.exception.ServiceException; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.order.domain.dto.AppBaseBathDto; import com.ruoyi.system.api.domain.dto.AppBaseBathDto; import com.ruoyi.order.domain.dto.AppShoppingCartAddDto; import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto; import com.ruoyi.order.domain.pojo.goods.Goods; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/UserServiceRecordServiceImpl.java
@@ -1,11 +1,17 @@ package com.ruoyi.order.service.impl.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.UserServiceRecord; import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; import com.ruoyi.order.mapper.order.UserServiceRecordMapper; import com.ruoyi.order.service.order.UserServiceRecordService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -18,4 +24,17 @@ @Service public class UserServiceRecordServiceImpl extends ServiceImpl<UserServiceRecordMapper, UserServiceRecord> implements UserServiceRecordService { @Resource private UserServiceRecordMapper userServiceRecordMapper; /** * 分页获取用户服务记录 * @param page * @param appConsumerPageDto * @return */ @Override public List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto){ return userServiceRecordMapper.pageUserServiceRecord(page, appConsumerPageDto); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ConsumerGoodsService.java
@@ -1,7 +1,12 @@ package com.ruoyi.order.service.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.vo.AppConsumerPageVo; import java.util.List; /** * <p> @@ -13,4 +18,11 @@ */ public interface ConsumerGoodsService extends IService<ConsumerGoods> { /** * 分页获取用户服务 * @param page * @param appConsumerPageDto * @return */ List<AppConsumerPageVo> pageUserConsumerGoods(Page page, AppConsumerPageDto appConsumerPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java
@@ -2,6 +2,9 @@ import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; import java.util.List; /** * <p> @@ -13,4 +16,10 @@ */ public interface OrderGoodsService extends IService<OrderGoods> { /** * * @param orderId * @return */ List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -1,9 +1,19 @@ package com.ruoyi.order.service.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.order.domain.dto.AppPlaceOrderDto; import com.ruoyi.order.domain.dto.AppSureOrderDto; import com.ruoyi.order.domain.dto.AppUserOrderPageDto; import com.ruoyi.order.domain.pojo.order.Order; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.vo.AppPlaceOrderVo; import com.ruoyi.order.domain.vo.AppSureOrderVo; import com.ruoyi.order.domain.vo.AppUserOrderGetVo; import com.ruoyi.order.domain.vo.AppUserOrderPageVo; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import java.util.List; /** * <p> @@ -16,11 +26,46 @@ public interface OrderService extends IService<Order> { /** * @description: buyGoods * @description: 购买商品 * @param: appSureOrderDto * @return: AppSureOrderVo * @author jqs34 * @date: 2023/5/3 0:31 */ AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto); /** * 创建订单 * @param appPlaceOrderDto * @return */ AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto); /** * 分页获取用户订单 * @param page * @param appUserOrderPageDto * @return */ List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto); /** * 获取订单详情 * @param appBaseGetDto * @return */ AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto); /** * 取消订单 * @param orderId */ void cancelOrder(String orderId); /** * 获取用户订单统计 * @param userId * @return */ AppOrderTotalVo getAppOrderTotal(Long userId); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/ShoppingCartService.java
@@ -1,6 +1,6 @@ package com.ruoyi.order.service.order; import com.ruoyi.order.domain.dto.AppBaseBathDto; import com.ruoyi.system.api.domain.dto.AppBaseBathDto; import com.ruoyi.order.domain.dto.AppShoppingCartAddDto; import com.ruoyi.order.domain.dto.AppShoppingCartChangeDto; import com.ruoyi.order.domain.pojo.order.ShoppingCart; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/UserServiceRecordService.java
@@ -1,7 +1,12 @@ package com.ruoyi.order.service.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.order.domain.dto.AppConsumerPageDto; import com.ruoyi.order.domain.pojo.order.UserServiceRecord; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; import java.util.List; /** * <p> @@ -13,4 +18,11 @@ */ public interface UserServiceRecordService extends IService<UserServiceRecord> { /** * 分页获取用户服务记录 * @param page * @param appConsumerPageDto * @return */ List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java
@@ -2,7 +2,9 @@ import com.ruoyi.common.core.utils.DateUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.poi.ss.usermodel.DateUtil; import java.security.SecureRandom; import java.util.Date; @@ -28,9 +30,9 @@ private static final String SHOP_PREFIX = "HRT_S"; /** * 订单前缀 * 商户订单前缀 */ private static final String ORDER_PREFIX = "BO"; private static final String ORDER_PREFIX = "SC"; /** * 退款订单前缀 @@ -64,39 +66,12 @@ return toFillZeroCode(prefix, maxLength, shopId); } /** * 获取会员编号 * @param userId * @return */ public static String getMemberNo(Long userId) { String prefix = APP_USER_PREFIX; return toFillZeroCode(prefix, maxLength, userId); } /** * 获取订单编号 * * @param userId * @return */ public static String getOrderNo(Long userId) { String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date()); prefix = ORDER_PREFIX + prefix; return toFillZeroCode(prefix, maxLength, userId); } /** * 获取用户编号 * * @param userId * @return */ public static String getAppUserNo(Long userId) { return toFillZeroCode(APP_USER_PREFIX, 9, userId); public static String getShopOrderNo() { String orderNo; String timeTemp = DateFormatUtils.format(new Date(), "yyyyMMdd"); String suffixNumber = "0001"; orderNo = ORDER_PREFIX + timeTemp + suffixNumber; return orderNo; } /** ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml
@@ -117,4 +117,25 @@ </foreach> </delete> <select id="pageUserConsumerGoods" resultType="com.ruoyi.order.domain.vo.AppConsumerPageVo"> SELECT tcg.consumer_goods_id consumerGoodsId, tcg.service_status serviceStatus, tcg.shop_id shopId, tg.goods_type goodsType, tg.goods_name goodsName, tgf.file_url goodsPicture, tg.goods_nurses goodsNurses, tcg.cycle_num_flag cycleNumFlag, tcg.service_num serviceNum, tcg.used_num usedNum FROM t_consumer_goods tcg INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId} <if test="param.goodsType != null"> AND tg.goods_type = #{param.goodsType} </if> ORDER BY tcg.cycle_num_flag ASC, tcg.create_time DESC </select> </mapper> ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml
@@ -103,4 +103,19 @@ </foreach> </delete> <select id="listVoByOrderId" resultType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> SELECT tog.goods_id goodsId, tg.goods_name goodsName, tog.goods_type goodsType, tog.buy_num buyNum, tgf.file_url goodsPrice, tog.goods_total_money goodsRealPrice FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE toc.del_flag = 0 AND toc.order_id = #{orderId} </select> </mapper> ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -27,6 +27,23 @@ <result property="useUserId" column="use_user_id" /> </resultMap> <resultMap id="orderResultMap" type="com.ruoyi.order.domain.vo.AppUserOrderPageVo"> <result column="orderId" property="orderId"/> <result column="orderStatus" property="orderStatus"/> <result column="orderNo" property="orderNo"/> <result column="receivableMoney" property="receivableMoney"/> <result column="goodsNum" property="goodsNum"/> <result column="shopId" property="shopId" /> <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> <result column="goodsId" property="goodsId"/> <result column="goodsName" property="goodsName"/> <result column="goodsType" property="goodsType"/> <result column="buyNum" property="buyNum"/> <result column="goodsPrice" property="goodsPrice"/> <result column="goodsRealPrice" property="goodsRealPrice" /> </collection> </resultMap> <sql id="selectOrderVo"> select order_id, del_flag, order_status, order_no, order_from, shop_id, user_id, order_money, coupon_money, discount_money, receivable_money, pay_type, pay_money, online_pay_money, offline_pay_money, order_remark, goods_info, create_time, pay_time, use_time, cancel_time, use_user_id from t_order </sql> @@ -152,4 +169,33 @@ </foreach> </delete> <select id="pageUserOrder" resultMap="orderResultMap"> SELECT toc.order_id orderId, toc.order_no orderNo, toc.order_status orderStatus, tooc.order_from orderFrom, toc.receivable_money receivableMoney, toc.goods_num goodsNum, toc.shop_id shopId, tog.goods_id goodsId, tg.goods_name goodsName, tog.goods_type goodsType, tog.buy_num buyNum, tog.goods_price goodsPrice, tog.goods_total_money goodsRealPrice FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE toc.del_flag = 0 <if test="param.orderStatus != null"> AND toc.order_status = #{param.orderStatus} </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%')) </if> ORDER BY toc.create_time DESC </select> </mapper> ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -75,4 +75,16 @@ </foreach> </delete> <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.AppServiceRecordPageVo"> SELECT tcg.consumer_goods_names consumerGoodsNames, tcg.service_type serviceType, tcg.create_time createTime FROM t_user_service_record tusr WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.userId} AND tusr.shop_id = #{param.shopId} <if test="param.goodsType != null"> AND tusr.service_type = #{param.goodsType} </if> ORDER BY tusr.create_time DESC </select> </mapper> ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
New file @@ -0,0 +1,37 @@ package com.ruoyi.shop.controller.console; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; import com.ruoyi.system.api.domain.poji.shop.Shop; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author jqs34 * @ClassName ShopController * @description: TODO * @date 2023年05月03日 * @version: 1.0 */ @RestController @RequestMapping("/shop") public class ShopController { @Autowired private ShopService shopService; @InnerAuth @PostMapping("/getShop") public R<Shop> getShop(@RequestBody Long shopId) { Shop shop = shopService.getByShopId(shopId); return R.ok(shop); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -9,6 +9,7 @@ import com.ruoyi.shop.domain.vo.MgtShopTagVo; import com.ruoyi.shop.service.shop.ShopRelTagService; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java
@@ -2,7 +2,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.shop.domain.dto.AppBaseGetDto; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.shop.domain.dto.AppNearbyShopDto; import com.ruoyi.shop.domain.vo.AppNearbyShopVo; import com.ruoyi.shop.domain.vo.AppShopInfoVo; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseBathDto.java
File was deleted ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppBaseDto.java
File was deleted ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppNearbyShopDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppNearbyShopDto extends AppBaseDto{ public class AppNearbyShopDto extends AppBaseDto { @ApiModelProperty(value = "经度") ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/AppPageDto.java
File was deleted ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtChangeCoopDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopDto.java
@@ -1,6 +1,7 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,7 +13,7 @@ * @version: 1.0 */ @Data public class MgtEditShopDto extends MgtBaseDto{ public class MgtEditShopDto extends MgtBaseDto { @ApiModelProperty(value = "商户id,新增不传") ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtEditShopTagDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.shop.domain.dto; import com.ruoyi.system.api.domain.dto.MgtPageDto; import lombok.Data; /** ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.shop.mapper.shop; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.pojo.shop.Shop; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.shop.domain.dto.MgtShopPageDto; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.shop.domain.vo.MgtShopPageVo; ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -1,5 +1,7 @@ package com.ruoyi.shop.service.impl.shop; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.shop.*; @@ -7,9 +9,10 @@ import com.ruoyi.shop.mapper.shop.ShopMapper; import com.ruoyi.shop.service.shop.*; import com.ruoyi.shop.util.CodeFactoryUtil; import com.ruoyi.system.api.RemoteActivityService; import com.ruoyi.system.api.RemoteConfigService; import com.ruoyi.system.api.RemoteUserService; 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.config.SysTag; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.sys.SysUser; @@ -324,9 +327,9 @@ public AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto,Member member){ AppNearbyShopVo appNearbyShopVo = new AppNearbyShopVo(); Shop shop = null; if(member.getRealtionShopId()!=null){ if(member.getRelationShopId()!=null){ //获取绑定商户 shop = this.getById(member.getRealtionShopId()); shop = this.getById(member.getRelationShopId()); }else{ //获取附近商户 shop = this.getById(1L); @@ -338,4 +341,17 @@ appNearbyShopVo.setShopLongitude(shop.getShopLongitude()); return appNearbyShopVo; } /** * * @param shopId * @return */ @Override public Shop getByShopId(Long shopId){ LambdaQueryWrapper<Shop> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(Shop::getDelFlag, 0).eq(Shop::getShopId, shopId); Shop shop = this.getOne(queryWrapper); return shop; } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.shop.Shop; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.vo.AppNearbyShopVo; import com.ruoyi.shop.domain.vo.AppShopInfoVo; @@ -70,6 +70,13 @@ AppNearbyShopVo getNearbyShop(AppNearbyShopDto appNearbyShopDto, Member member); /** * * @param shopId * @return */ Shop getByShopId(Long shopId); /** * 获取商户详情 * @param userId * @return ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -11,6 +11,7 @@ import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.sys.SysDept; import com.ruoyi.system.api.domain.poji.sys.SysRole; import com.ruoyi.system.api.domain.poji.sys.SysUser; @@ -355,6 +356,16 @@ return R.ok(); } /** * * @param appEditUserDto * @return */ @InnerAuth @PostMapping("/user/editUserInfo") public R editUserInfo(@RequestBody AppEditUserDto appEditUserDto){ userService.editUserInfo(appEditUserDto); return R.ok(); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppAgreementDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,7 +12,7 @@ * @version: 1.0 */ @Data public class AppAgreementDto extends AppBaseDto{ public class AppAgreementDto extends AppBaseDto { @ApiModelProperty(value = "协议类型1用户协议 2隐私协议") ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseBathDto.java
File was deleted ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppBaseGetDto.java
File was deleted ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppImmediatelyBuyDto.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.system.domain.dto; import com.ruoyi.system.api.domain.dto.AppBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author jqs34 * @ClassName AppImmediatelyBuyDto * @description: TODO * @date 2023年04月27日 * @version: 1.0 */ @Data public class AppImmediatelyBuyDto extends AppBaseDto { @ApiModelProperty(value = "商品id") private Long goodsId; @ApiModelProperty(value = "购买数量") private Integer buyNum; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AppPageDto.java
File was deleted ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderGoodsVo.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.domain.vo; import lombok.Data; /** * @author jqs34 * @ClassName AppSureOrderGoodsVo * @description: TODO * @date 2023年04月27日 * @version: 1.0 */ @Data public class AppSureOrderGoodsVo { } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/AppSureOrderVo.java
New file @@ -0,0 +1,21 @@ package com.ruoyi.system.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author jqs34 * @ClassName AppSureOrderVo * @description: TODO * @date 2023年04月27日 * @version: 1.0 */ @Data public class AppSureOrderVo { @ApiModelProperty(value = "商品列表") private List<AppSureOrderGoodsVo> appSureOrderGoodsVoList; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -1,9 +1,13 @@ package com.ruoyi.system.service.impl.sys; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.validation.Validator; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.member.Member; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -549,9 +553,47 @@ * @author jqs34 * @date: 2023/4/30 15:43 */ @Override public void updateUserMobile(SysUser sysUser){ SysUser oldSysUser = this.selectUserById(sysUser.getUserId()); oldSysUser.setPhonenumber(sysUser.getPhonenumber()); userMapper.updateUser(oldSysUser); } /** * * @param appEditUserDto */ @Override public void editUserInfo(AppEditUserDto appEditUserDto){ SysUser sysUser = this.selectUserById(appEditUserDto.getUserId()); //修改类型1.昵称2.头像3.性别4.生日 Integer editType = appEditUserDto.getEditType(); String editValue = appEditUserDto.getEditValue(); switch (editType){ case 1: sysUser.setNickName(editValue); sysUser.setUpdateTime(new Date()); sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); userMapper.updateUser(sysUser); break; case 2: sysUser.setAvatar(editValue); sysUser.setUpdateTime(new Date()); sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); userMapper.updateUser(sysUser); break; case 3: sysUser.setSex(editValue); sysUser.setUpdateTime(new Date()); sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); userMapper.updateUser(sysUser); break; case 4: break; default: break; } } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java
@@ -1,6 +1,8 @@ package com.ruoyi.system.service.sys; import java.util.List; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.sys.SysUser; /** @@ -212,4 +214,10 @@ * @date: 2023/4/30 15:43 */ public void updateUserMobile(SysUser sysUser); /** * * @param appEditUserDto */ public void editUserInfo(AppEditUserDto appEditUserDto); }