Skip to content

Commit 924495d

Browse files
committed
vue sample update
1 parent 487d44d commit 924495d

17 files changed

+323
-5
lines changed

mybatisproj/src/main/java/com/robin/basis/dto/EmployeeUserTenantDTO.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88
public class EmployeeUserTenantDTO implements Serializable {
99
private Long id;
1010
private String name;
11+
private String contactPhone;
1112
private Long userId;
1213
private Long tenantId;
1314
private String status;
15+
private String userName;
1416
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.robin.basis.dto.biz;
2+
3+
import lombok.Data;
4+
5+
import java.io.Serializable;
6+
7+
@Data
8+
public class MerchantMemberDTO implements Serializable {
9+
private Long id;
10+
private Long custId;
11+
private String code;
12+
private String name;
13+
private String gender;
14+
private String creditNo;
15+
private String phone;
16+
private String type;
17+
private Integer level;
18+
private Long scores;
19+
}

mybatisproj/src/main/java/com/robin/basis/mapper/TenantUserMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ public interface TenantUserMapper extends BaseMapper<TenantUser> {
1818
List<EmployeeUserTenantDTO> getTenantEmpUser(@Param(Constants.WRAPPER) QueryWrapper<EmployeeUserTenantDTO> wrapper);
1919

2020
@Select("<script>"+
21-
"select * from (select a.id,name,u.id as userId from t_sys_employee a,t_sys_user_info u where a.id=u.employee_id and a.status='1' and b.status='1') t ${ew.customSqlSegment}"+"</script>")
21+
"select * from (select a.id,a.name,a.contact_phone as contactPhone,u.id as userId,u.user_account as userName from t_sys_employee a,t_sys_user_info u where a.id=u.employee_id and a.status='1' and b.status='1') t ${ew.customSqlSegment}"+"</script>")
2222
List<EmployeeUserTenantDTO> getEmployeeUser(@Param(Constants.WRAPPER) QueryWrapper<EmployeeUserTenantDTO> wrapper);
2323
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.robin.basis.mapper.biz;
2+
3+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4+
import com.robin.biz.model.Brand;
5+
import org.apache.ibatis.annotations.Mapper;
6+
7+
@Mapper
8+
public interface BrandMapper extends BaseMapper<Brand> {
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.robin.basis.mapper.biz;
2+
3+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4+
import com.robin.biz.model.Products;
5+
import org.apache.ibatis.annotations.Mapper;
6+
7+
@Mapper
8+
public interface ProductsMapper extends BaseMapper<Products> {
9+
10+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.robin.basis.service.biz;
22

3+
import com.robin.basis.dto.biz.MerchantMemberDTO;
34
import com.robin.biz.model.MerchantMember;
45
import com.robin.core.base.service.IMybatisBaseService;
56

67
public interface IMerchantMemberService extends IMybatisBaseService<MerchantMember,Long> {
8+
boolean saveMember(MerchantMemberDTO dto);
79
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,65 @@
11
package com.robin.basis.service.biz.impl;
22

3+
import cn.hutool.core.util.StrUtil;
4+
import com.robin.basis.dto.biz.MerchantMemberDTO;
35
import com.robin.basis.mapper.biz.MerchantMemberMapper;
6+
import com.robin.basis.model.AbstractMybatisModel;
7+
import com.robin.basis.service.biz.ICustomerService;
48
import com.robin.basis.service.biz.IMerchantMemberService;
9+
import com.robin.basis.utils.IdCardNoIdentifier;
10+
import com.robin.basis.utils.SecurityUtils;
11+
import com.robin.biz.model.Customer;
512
import com.robin.biz.model.MerchantMember;
13+
import com.robin.core.base.exception.ServiceException;
614
import com.robin.core.base.service.AbstractMybatisService;
15+
import com.robin.core.base.util.Const;
16+
import org.springframework.beans.BeanUtils;
717
import org.springframework.stereotype.Service;
18+
import org.springframework.transaction.annotation.Transactional;
19+
import org.springframework.util.ObjectUtils;
20+
21+
import javax.annotation.Resource;
22+
import java.time.LocalDate;
23+
import java.time.LocalDateTime;
24+
import java.time.format.DateTimeFormatter;
25+
import java.util.Map;
826

927
@Service
1028
public class MerchantMemberServiceImpl extends AbstractMybatisService<MerchantMemberMapper, MerchantMember,Long> implements IMerchantMemberService {
29+
@Resource
30+
private ICustomerService customerService;
31+
private static final DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
32+
33+
@Transactional(rollbackFor = RuntimeException.class)
34+
public boolean saveMember(MerchantMemberDTO dto){
35+
Long custId=null;
36+
if(ObjectUtils.isEmpty(dto.getCustId())){
37+
if(customerService.lambdaQuery().eq(Customer::getPhone,dto.getPhone()).eq(AbstractMybatisModel::getStatus, Const.VALID).exists()){
38+
throw new ServiceException("手机号码已存在");
39+
}else{
40+
Customer customer=new Customer();
41+
if(StrUtil.isNotBlank(dto.getCreditNo())){
42+
Map<String,Object> map= IdCardNoIdentifier.identifyByCode(dto.getCreditNo());
43+
if((Boolean) map.get("success")){
44+
customer.setCreditNo(dto.getCreditNo());
45+
customer.setBrithDay(LocalDate.parse(map.get("birthDay").toString()));
46+
customer.setGender(map.get("gender").toString());
47+
customer.setDistrictId(map.get("districtId").toString());
48+
}
49+
customer.setName(dto.getName());
50+
customer.setPhone(dto.getPhone());
51+
customer.setRegTime(LocalDateTime.now());
52+
customer.setRegOrgId(SecurityUtils.getLoginUser().getOrgId());
53+
customerService.save(customer);
54+
custId=customer.getId();
55+
}
56+
}
57+
}else{
58+
custId=dto.getCustId();
59+
}
60+
MerchantMember member=new MerchantMember();
61+
BeanUtils.copyProperties(dto,member);
62+
member.setCustId(custId);
63+
return this.save(member);
64+
}
1165
}

mybatisproj/src/main/java/com/robin/basis/service/biz/impl/MerchantServiceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@
88

99
@Service
1010
public class MerchantServiceImpl extends AbstractMybatisService<MerchantMapper, Merchant,Long> implements IMerchantService {
11+
12+
1113
}

mybatisproj/src/main/java/com/robin/basis/service/system/impl/TenantInfoServiceImpl.java

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.robin.basis.service.system.impl;
22

3+
import cn.hutool.core.util.StrUtil;
34
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
45
import com.baomidou.mybatisplus.core.metadata.IPage;
56
import com.google.common.collect.Lists;
@@ -33,8 +34,8 @@
3334
import org.springframework.web.multipart.MultipartFile;
3435

3536
import javax.annotation.Resource;
36-
import java.util.ArrayList;
37-
import java.util.List;
37+
import java.sql.Timestamp;
38+
import java.util.*;
3839
import java.util.stream.Collectors;
3940

4041
@Service
@@ -179,7 +180,7 @@ public boolean inviteEmployees(Long tenantId,List<Long> empIds){
179180
if(!CollectionUtils.isEmpty(employees)){
180181
List<TenantUserInvite> invites=new ArrayList<>();
181182
for(Employee employee:employees){
182-
String inviteCode= StringUtils.genarateRandomUpperLowerChar(32);
183+
String inviteCode= UUID.randomUUID().toString();
183184
TenantUserInvite invite=new TenantUserInvite();
184185
invite.setPhone(employee.getContactPhone());
185186
invite.setTenantId(tenantId);
@@ -191,4 +192,60 @@ public boolean inviteEmployees(Long tenantId,List<Long> empIds){
191192
}
192193
return false;
193194
}
195+
public Map<String,Object> showTenantInvite(String inviteCode){
196+
List<TenantUserInvite> invites=tenantUserInviteService.lambdaQuery().eq(TenantUserInvite::getInviteCode,inviteCode)
197+
.eq(TenantUserInvite::getAcceptable,Const.VALID).list();
198+
Map<String,Object> retMap=new HashMap<>();
199+
if(!CollectionUtils.isEmpty(invites)){
200+
retMap.put("success",true);
201+
TenantUserInvite invite=invites.get(0);
202+
QueryWrapper<EmployeeUserTenantDTO> queryWrapper=new QueryWrapper<>();
203+
queryWrapper.eq("a.id",invite.getEmpId());
204+
List<EmployeeUserTenantDTO> emps= tenantUserService.getEmployeeUser(queryWrapper);
205+
if(!CollectionUtils.isEmpty(emps)){
206+
retMap.put("userId",emps.get(0).getUserId());
207+
retMap.put("name",emps.get(0).getName());
208+
retMap.put("phone",emps.get(0).getContactPhone());
209+
retMap.put("userName",emps.get(0).getUserName());
210+
}
211+
retMap.put("tenantId",invite.getTenantId());
212+
}else{
213+
retMap.put("success",false);
214+
}
215+
return retMap;
216+
}
217+
public boolean acceptTenantInvite(String inviteCode,String ipAddress,String userName,String cnName,String password){
218+
List<TenantUserInvite> invites=tenantUserInviteService.lambdaQuery().eq(TenantUserInvite::getInviteCode,inviteCode)
219+
.eq(TenantUserInvite::getAcceptable,Const.VALID).list();
220+
if(!CollectionUtils.isEmpty(invites)){
221+
TenantUserInvite invite=invites.get(0);
222+
QueryWrapper<EmployeeUserTenantDTO> queryWrapper=new QueryWrapper<>();
223+
queryWrapper.eq("a.id",invite.getEmpId());
224+
List<EmployeeUserTenantDTO> emps= tenantUserService.getEmployeeUser(queryWrapper);
225+
Long userId;
226+
if(!CollectionUtils.isEmpty(emps)){
227+
userId=emps.get(0).getUserId();
228+
}else{
229+
Assert.isTrue(StrUtil.isNotBlank(userName) && StrUtil.isNotBlank(password));
230+
SysUser user=new SysUser();
231+
user.setUserAccount(userName);
232+
if(!ObjectUtils.isEmpty(cnName)) {
233+
user.setUserName(cnName);
234+
}
235+
user.setUserPassword(SpringContextHolder.getBean(PasswordEncoder.class).encode(password));
236+
user.setAccountType(WebConstant.ACCOUNT_TYPE.ORDINARY.toString());
237+
sysUserService.save(user);
238+
userId=user.getId();
239+
}
240+
TenantUser tuser=new TenantUser();
241+
tuser.setTenantId(invite.getTenantId());
242+
tuser.setUserId(userId);
243+
tuser.setType(WebConstant.TENANT_TYPE.EMPLOYEE.getValue());
244+
tenantUserService.save(tuser);
245+
tenantUserInviteService.lambdaUpdate().set(TenantUserInvite::getAcceptTime,new Timestamp(System.currentTimeMillis())).set(TenantUserInvite::getAcceptIp,ipAddress).set(TenantUserInvite::getAcceptable,Const.INVALID)
246+
.eq(TenantUserInvite::getInviteCode,inviteCode).update();
247+
return true;
248+
}
249+
return false;
250+
}
194251
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.robin.basis.utils;
2+
3+
import cn.hutool.core.util.StrUtil;
4+
import org.springframework.util.Assert;
5+
6+
import java.time.LocalDateTime;
7+
import java.time.format.DateTimeFormatter;
8+
import java.time.temporal.ChronoUnit;
9+
import java.util.HashMap;
10+
import java.util.Map;
11+
12+
public class IdCardNoIdentifier {
13+
private static final DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
14+
public static Map<String,Object> identifyByCode(String code){
15+
Assert.isTrue(StrUtil.isNotBlank(code) && (code.length()==15 || code.length()==18),"");
16+
String year;
17+
String month;
18+
String day;
19+
Map<String,Object> retMap=new HashMap<>();
20+
boolean ifSuccess=false;
21+
long diffYear=0L;
22+
retMap.put("districtId",code.substring(0,5));
23+
if(code.length()==18){
24+
year=code.substring(6,10);
25+
month=code.substring(10,12);
26+
day=code.substring(12,14);
27+
if(Integer.valueOf(month)>11 || Integer.valueOf(day)>31){
28+
ifSuccess=false;
29+
}else{
30+
ifSuccess=true;
31+
diffYear=getAge(year+"-"+month+"-"+day) ;
32+
retMap.put("age",diffYear);
33+
retMap.put("birthDay",year+"-"+month+"-"+day);
34+
}
35+
if(ifSuccess && Integer.parseInt(code.substring(16,17)) %2!=0){
36+
retMap.put("gender","1");
37+
}else{
38+
retMap.put("gender","2");
39+
}
40+
}else{
41+
year="19"+code.substring(6,8);
42+
month=code.substring(8,10);
43+
day=code.substring(10,12);
44+
if(Integer.valueOf(month)>11 || Integer.valueOf(day)>31){
45+
ifSuccess=false;
46+
}else {
47+
ifSuccess = true;
48+
diffYear=getAge(year+"-"+month+"-"+day) ;
49+
retMap.put("age",diffYear);
50+
retMap.put("birthDay",year+"-"+month+"-"+day);
51+
}
52+
if(ifSuccess && Integer.parseInt(code.substring(14,15)) %2!=0){
53+
retMap.put("gender","1");
54+
}else{
55+
retMap.put("gender","2");
56+
}
57+
}
58+
retMap.put("success",ifSuccess);
59+
return retMap;
60+
}
61+
private static Long getAge(String brithDay){
62+
LocalDateTime birthTime=LocalDateTime.parse(brithDay,formatter);
63+
return ChronoUnit.YEARS.between(birthTime,LocalDateTime.now());
64+
}
65+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.robin.biz.model;
2+
3+
import com.robin.basis.model.AbstractMybatisModel;
4+
5+
public class Brand extends AbstractMybatisModel {
6+
private Long id;
7+
private String name;
8+
private String type;
9+
10+
}

mybatisproj/src/main/java/com/robin/biz/model/Customer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.robin.basis.model.AbstractMybatisModel;
55
import lombok.Data;
66

7+
import java.time.LocalDate;
78
import java.time.LocalDateTime;
89

910
@Data
@@ -15,7 +16,7 @@ public class Customer extends AbstractMybatisModel {
1516
private String name;
1617
private String type;
1718
private String gender;
18-
private LocalDateTime brithDay;
19+
private LocalDate brithDay;
1920
private String phone;
2021
private String creditNo;
2122
private String province;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.robin.biz.model;
2+
3+
import com.baomidou.mybatisplus.annotation.TableName;
4+
import com.robin.basis.model.AbstractMybatisModel;
5+
import lombok.Data;
6+
7+
import java.math.BigDecimal;
8+
9+
@Data
10+
@TableName("t_biz_product_inventory")
11+
public class ProductInventory extends AbstractMybatisModel {
12+
private Long id;
13+
private String checkTag;
14+
private Long productId;
15+
private Long salesQuantity;
16+
private Long stockQuantity;
17+
private BigDecimal salesReceivable;
18+
private BigDecimal salesRealReceive;
19+
20+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.robin.biz.model;
2+
3+
import com.baomidou.mybatisplus.annotation.TableName;
4+
import com.robin.basis.model.AbstractMybatisModel;
5+
import lombok.Data;
6+
7+
import java.math.BigDecimal;
8+
import java.time.LocalDateTime;
9+
10+
@Data
11+
@TableName("t_biz_product_purchase")
12+
public class ProductPurchase extends AbstractMybatisModel {
13+
private Long id;
14+
private Long productId;
15+
private Double price;
16+
private BigDecimal total;
17+
private LocalDateTime purchaseTm;
18+
private String operator;
19+
private Long receiver;
20+
private Short type;
21+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.robin.biz.model;
2+
3+
import com.baomidou.mybatisplus.annotation.TableName;
4+
import com.robin.basis.model.AbstractMybatisModel;
5+
import lombok.Data;
6+
7+
@Data
8+
@TableName("t_product_sales")
9+
public class ProductSales extends AbstractMybatisModel {
10+
private Long id;
11+
private Long productId;
12+
private Long orderId;
13+
private Integer quantity;
14+
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.robin.biz.model;
2+
3+
import com.baomidou.mybatisplus.annotation.TableName;
4+
import com.robin.basis.model.AbstractMybatisModel;
5+
import lombok.Data;
6+
7+
@Data
8+
@TableName("t_biz_product_stock")
9+
public class ProductStock extends AbstractMybatisModel {
10+
private Long id;
11+
private Long productId;
12+
private Long quantity;
13+
14+
}

0 commit comments

Comments
 (0)