From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:44:19 +0800 Subject: [PATCH] 删除 --- src/main/java/com/gk/firework/Service/ServiceImpl/CustomerServiceImpl.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 161 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/firework/Service/ServiceImpl/CustomerServiceImpl.java b/src/main/java/com/gk/firework/Service/ServiceImpl/CustomerServiceImpl.java new file mode 100644 index 0000000..f25eeb7 --- /dev/null +++ b/src/main/java/com/gk/firework/Service/ServiceImpl/CustomerServiceImpl.java @@ -0,0 +1,161 @@ +package com.gk.firework.Service.ServiceImpl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gk.firework.Domain.CustomerInfo; +import com.gk.firework.Domain.Exception.BusinessException; +import com.gk.firework.Domain.Utils.Properties; +import com.gk.firework.Domain.Utils.StringUtils; +import com.gk.firework.Domain.Utils.UploadUtil; +import com.gk.firework.Mapper.CustomerInfoMapper; +import com.gk.firework.Service.CustomerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @author : jingjy + * @date : 2021/3/31 14:19 + */ +@Service("CustomerService") +public class CustomerServiceImpl extends ServiceImpl<CustomerInfoMapper, CustomerInfo> implements CustomerService { + @Autowired + private CustomerInfoMapper customerInfoMapper; + @Override + public CustomerInfo createOrUpdate(JSONObject customer, Integer num, Date salesTime) throws ParseException { + //TODO:新增或修改顾客信息 + String idCardNum = customer.getString("idCardNumber"); + String workerName = customer.getString("workerName"); + String nation = customer.getString("nation"); +// String gender = customer.getString("sex"); + String gender = userType(idCardNum); + byte byteGender = 0; + if (CustomerInfo.GENDER_MALE.equals(gender)){ + byteGender = 1; + }else if (CustomerInfo.GENDER_FEMALE.equals(gender)){ + byteGender = 2; + } + + String bornDay = customer.getString("csrq"); + DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); + Date date = new Date(); + Date born = dateFormat.parse(bornDay); + String address = customer.getString("certAddress"); + CustomerInfo customerInfo = customerInfoMapper.selectCustomerByIdCardNum(idCardNum); + if (customerInfo == null){ + customerInfo = new CustomerInfo(workerName,byteGender,idCardNum,nation,born,address); + customerInfo.setFrequency(1); + customerInfo.setCreateddate(date); + customerInfo.setLasttime(salesTime); + customerInfo.setLastnum(num); + customerInfo.setNum(num); + customerInfoMapper.insert(customerInfo); + }else { + if (customerInfo.getLasttime().compareTo(salesTime) < 0){ + customerInfo.setLasttime(salesTime); + customerInfo.setLastnum(num); + } + customerInfo.setFrequency(customerInfo.getFrequency()+1); + customerInfo.setNum(customerInfo.getNum() + num); + customerInfo.setModifieddate(date); + customerInfoMapper.updateById(customerInfo); + } + return customerInfo; + + } + + //根据身份证号分辨男女 + public static String userType(String idNumber) { + String userType = ""; + int gender = 0; + idNumber = idNumber.replaceAll("[\r\n]","").trim(); + if(idNumber.length() == 18){ + //如果身份证号18位,取身份证号倒数第二位 + char c = idNumber.charAt(idNumber.length() - 2); + gender = Integer.parseInt(String.valueOf(c)); + }else if (idNumber.length() == 15){ + //如果身份证号15位,取身份证号最后一位 + char c = idNumber.charAt(idNumber.length() - 1); + gender = Integer.parseInt(String.valueOf(c)); + } + if(gender % 2 == 1){ + userType = "男"; + }else{ + userType = "女"; + } + return userType; + } + + @Override + public CustomerInfo getCustomerByIdCardNum(String idCardNum) { + return customerInfoMapper.selectCustomerByIdCardNum(idCardNum); + } + + @Override + public CustomerInfo getCustomerBySaleOrder(String orderCode) { + return customerInfoMapper.getCustomerBySaleOrder(orderCode); + } + + @Override + public void uploadPhoto(String idCard, MultipartFile file) { + + if (StringUtils.isBlank(idCard)) + throw new BusinessException("身份证参数传递错误,请联系管理员"); + if (file == null) + throw new BusinessException("请上传文件"); + CustomerInfo customer = getCustomerByIdCardNum(idCard); + if (customer == null) + throw new BusinessException("身份证信息不存在,请联系管理员"); + + try { + String name = UploadUtil.uploadFile(file, Properties.customerPath); + customer.setPath(Properties.customer + name); + } catch (Exception e) { + throw new BusinessException("上传文件失败"); + } + this.updateById(customer); + + } + + @Override + public void createOrUpdateCard(String idCardNum, Integer num, Date createdat) throws ParseException { + //TODO:新增或修改顾客信息 + String gender = userType(idCardNum); + byte byteGender = 0; + if (CustomerInfo.GENDER_MALE.equals(gender)){ + byteGender = 1; + }else if (CustomerInfo.GENDER_FEMALE.equals(gender)){ + byteGender = 2; + } + + String bornDay = idCardNum.substring(6,14); + DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); + Date date = new Date(); + Date born = dateFormat.parse(bornDay); + + CustomerInfo customerInfo = customerInfoMapper.selectCustomerByIdCardNum(idCardNum); + if (customerInfo == null){ + customerInfo = new CustomerInfo("",byteGender,idCardNum,"",born,""); + customerInfo.setFrequency(1); + customerInfo.setCreateddate(date); + customerInfo.setLasttime(createdat); + customerInfo.setLastnum(num); + customerInfo.setNum(num); + customerInfoMapper.insert(customerInfo); + }else { + if (customerInfo.getLasttime().compareTo(createdat) < 0){ + customerInfo.setLasttime(createdat); + customerInfo.setLastnum(num); + } + customerInfo.setFrequency(customerInfo.getFrequency()+1); + customerInfo.setNum(customerInfo.getNum() + num); + customerInfo.setModifieddate(date); + customerInfoMapper.updateById(customerInfo); + } + } +} -- Gitblit v1.9.2