| | |
| | | import com.mzl.flower.dto.request.customer.UpdateCustomerDTO; |
| | | import com.mzl.flower.dto.request.system.*; |
| | | import com.mzl.flower.dto.response.current.CurrentUserDTO; |
| | | import com.mzl.flower.dto.response.customer.CustomerDTO; |
| | | import com.mzl.flower.dto.response.system.*; |
| | | import com.mzl.flower.entity.customer.Customer; |
| | | import com.mzl.flower.entity.point.CustomerPoint; |
| | | import com.mzl.flower.entity.system.*; |
| | | import com.mzl.flower.enums.TrueOrFalseEnum; |
| | | import com.mzl.flower.mapper.customer.CustomerMapper; |
| | | import com.mzl.flower.mapper.point.CustomerPointMapper; |
| | | import com.mzl.flower.mapper.system.*; |
| | | import com.mzl.flower.service.customer.CustomerService; |
| | |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | |
| | | |
| | | @Autowired |
| | | private CustomerPointMapper customerPointMapper; |
| | | |
| | | @Autowired |
| | | private CustomerMapper customerMapper; |
| | | |
| | | @Autowired |
| | | private StationService stationService; |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public User getUserByThirdId(String thirdId){ |
| | |
| | | |
| | | /** |
| | | * 新增用户 |
| | | * |
| | | * @param dto |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 更新用户 |
| | | * |
| | | * @param dto |
| | | */ |
| | | public void updateUser(UpdateUserDTO dto) { |
| | |
| | | |
| | | /** |
| | | * 查看微信是否已经存在用户 |
| | | * |
| | | * @param openId |
| | | * @param sessionKey |
| | | * @param unionId |
| | |
| | | userTypes.add(dto.getUserType()); |
| | | User user = findByLoginName(dto.getUsername(), userTypes); |
| | | if (ObjectUtils.isEmpty(user)) { |
| | | //验证邀请码 |
| | | if (StringUtils.isNotEmpty(dto.getIntevailCode()) && customerService.checkCode(dto.getIntevailCode())) { |
| | | throw new ValidationException("无效邀请码"); |
| | | } |
| | | // 是新用户,需要注册 |
| | | user = new User(); |
| | | user.setId(UUIDGenerator.getUUID()); |
| | |
| | | // 注册商户信息 |
| | | UpdateCustomerDTO updateCustomerDTO = new UpdateCustomerDTO(); |
| | | updateCustomerDTO.setUserId(user.getId()); |
| | | updateCustomerDTO.setRegesterCode(dto.getIntevailCode()); |
| | | //有效邀请码注册成功后赠送1天会员 |
| | | if (!customerService.checkCode(dto.getIntevailCode())) { |
| | | updateCustomerDTO.setIsMember(true); |
| | | updateCustomerDTO.setMemberOvertime(LocalDateTime.now().plusDays(1)); |
| | | } |
| | | if (StringUtils.isNotBlank(dto.getUsername())) { |
| | | updateCustomerDTO.setName("智信-" + dto.getUsername().substring(dto.getUsername().length() - 4)); |
| | | |
| | |
| | | updateCustomerDTO.setCover("https://hmy-flower.oss-cn-shanghai.aliyuncs.com/8f/8f205ea4618b4ce48d5bd204ae73f075tmp_f0c47a66148245dc17d74563c5939e764273ba583619664d.jpg"); |
| | | customerService.addOrUpdateCustomer(updateCustomerDTO); |
| | | |
| | | //邀请会员权益 |
| | | intervialUser(dto.getIntevailCode()); |
| | | return user; |
| | | } |
| | | } finally { |
| | |
| | | return null; |
| | | } |
| | | |
| | | //邀请成功增加用户权益 |
| | | private void intervialUser(String code) { |
| | | //按照该邀请码下已有邀请人数做相应的会员有效期增加 |
| | | Integer InvitatCount = customerMapper.getInvitatCountByCode(code); |
| | | //根据邀请码查找对应的邀请人员 |
| | | //1人-3天,3人-15天,5人-30天 |
| | | Customer customerByCode = customerMapper.findCustomerByInvitationCode(code); |
| | | if (!ObjectUtils.isEmpty(customerByCode)) { |
| | | LocalDateTime memberOvertime = customerByCode.getMemberOvertime(); |
| | | if (!customerByCode.getIsMember()) { |
| | | memberOvertime = LocalDateTime.now(); |
| | | } |
| | | switch (InvitatCount) { |
| | | case 1: |
| | | memberOvertime = memberOvertime.plusDays(3); |
| | | break; |
| | | case 3: |
| | | memberOvertime = memberOvertime.plusDays(15); |
| | | break; |
| | | case 5: |
| | | memberOvertime = memberOvertime.plusDays(30); |
| | | break; |
| | | } |
| | | customerByCode.setIsMember(true); |
| | | customerByCode.setMemberOvertime(memberOvertime); |
| | | customerService.updateMemberInfo(customerByCode); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |