| | |
| | | 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; |
| | |
| | | @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; |
| | |
| | | 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))){ |
| | |
| | | orderGoods.setGoodsType(goods.getGoodsType()); |
| | | orderGoodsService.save(orderGoods); |
| | | } |
| | | //创建订单 |
| | | Order order = new Order(); |
| | | order.setOrderId(orderId); |
| | | order.setDelFlag(0); |