applet/src/main/java/com/jilongda/applet/config/WebSecurityConfig.java
@@ -1,5 +1,7 @@ package com.jilongda.applet.config; import com.jilongda.applet.security.AuthenticationProvider; import com.jilongda.applet.security.SysUserDetailsService; import com.jilongda.common.basic.Constant; import com.jilongda.common.cache.CaffineCache; import com.jilongda.common.redis.RedisAutoTemplate; @@ -12,7 +14,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -34,20 +35,18 @@ @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { private final SecurityAuthenticationEntryPoint securityAuthenticationEntryPoint; private final RedisAutoTemplate redisAutoTemplate; private final CaffineCache<String> accessTokenCache; private final CaffineCache<String> refreshTokenCache; private final PasswordEncoder passwordEncoder; @Autowired public WebSecurityConfig(SecurityAuthenticationEntryPoint securityAuthenticationEntryPoint, RedisAutoTemplate redisAutoTemplate, CaffineCache<String> accessTokenCache, CaffineCache<String> refreshTokenCache, PasswordEncoder passwordEncoder) { this.securityAuthenticationEntryPoint = securityAuthenticationEntryPoint; this.redisAutoTemplate = redisAutoTemplate; this.accessTokenCache = accessTokenCache; this.refreshTokenCache = refreshTokenCache; this.passwordEncoder = passwordEncoder; } private SecurityAuthenticationEntryPoint securityAuthenticationEntryPoint; @Autowired private RedisAutoTemplate redisAutoTemplate; @Autowired private CaffineCache<String> accessTokenCache; @Autowired private CaffineCache<String> refreshTokenCache; @Autowired private PasswordEncoder passwordEncoder; @Autowired private SysUserDetailsService loadUserDetailsService; /** @@ -83,7 +82,7 @@ */ @Override public void configure(AuthenticationManagerBuilder auth) { // auth.authenticationProvider(new AuthenticationProvider()); auth.authenticationProvider(new AuthenticationProvider(loadUserDetailsService,passwordEncoder)); } applet/src/main/java/com/jilongda/applet/controller/LoginController.java
@@ -63,8 +63,8 @@ } AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey, data.getIv()); appletUserDecodeData.setOpenId(openid); appUserService.wxLogin(appletUserDecodeData); Map<String, Object> tokenInfos = securityUtils.login(null, null, authenticationManager, TAppUser.class, 3); TAppUser appUser = appUserService.wxLogin(appletUserDecodeData); Map<String, Object> tokenInfos = securityUtils.login(openid, appUser, authenticationManager, TAppUser.class, 3); return ApiResult.success(tokenInfos); } applet/src/main/java/com/jilongda/applet/mapper/TAppUserMapper.java
@@ -2,6 +2,7 @@ import com.jilongda.applet.model.TAppUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; /** * <p> @@ -11,6 +12,7 @@ * @author 无关风月 * @since 2024-12-09 */ @Mapper public interface TAppUserMapper extends BaseMapper<TAppUser> { } applet/src/main/java/com/jilongda/applet/model/SecUser.java
New file @@ -0,0 +1,136 @@ package com.jilongda.applet.model; import cn.afterturn.easypoi.excel.annotation.Excel; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.jilongda.common.pojo.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import java.time.LocalDateTime; /** * <p> * * </p> * * @author xiaochen * @since 2022-06-10 */ @Data @EqualsAndHashCode(callSuper = true) @TableName("sec_user") @ApiModel(value = "SecUser对象", description = "") public class SecUser extends BaseModel { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "账户") @Length(max = 18, message = "账户最多输入18个字符") @TableField("account") @Excel(name = "账号_唯一:中英文1-10个字符:禁止回车、空格等特殊字符", width = 15, orderNum = "1") private String account; @ApiModelProperty(value = "密码") @TableField("password") @Length(min = 6, max = 16, message = "密码可输入6~16个字符") @Excel(name = "密码_中英文1-10个字符", width = 15, orderNum = "2") private String password; @ApiModelProperty(value = "用户描述") @TableField("description") private String description; @ApiModelProperty(value = "手机号码") @TableField("phone") @Length(min = 6, max = 11, message = "手机号码可输入6~11位") @NotNull(message = "手机号不可为空") @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误") @Excel(name = "手机号", width = 15, orderNum = "4") private String phone; @ApiModelProperty(value = "账户状态 是否禁用") @TableField("state") private Boolean state; @ApiModelProperty(value = "最近一次登陆时间") @TableField("last_login_time") private LocalDateTime lastLoginTime; @ApiModelProperty(value = "用户昵称") @TableField("nick_name") private String nickName; @ApiModelProperty(value = "微信头像地址") @TableField("avatar_url") private String avatarUrl; @ApiModelProperty(value = "省") @TableField("province") private String province; @ApiModelProperty(value = "市") @TableField("city") private String city; @ApiModelProperty(value = "区") @TableField("area") private String area; @ApiModelProperty(value = "详细地址") @TableField("address") private String address; @ApiModelProperty(value = "生日") @TableField("birthday") private LocalDateTime birthday; @ApiModelProperty(value = "1男2女0未知") @TableField("gender") private Integer gender; @ApiModelProperty(value = "部门id") @TableField("deptId") private Long deptId; @ApiModelProperty(value = "类型1平台管理员2验光师3员工") @TableField("userType") private Integer userType; @ApiModelProperty(value = "门店id") @TableField("storeId") private Integer storeId; @ApiModelProperty(value = "省code") @TableField("provinceCode") private String provinceCode; @ApiModelProperty(value = "市code") @TableField("cityCode") private String cityCode; @ApiModelProperty(value = "区code") @TableField("areaCode") private String areaCode; @ApiModelProperty(value = "图片") @TableField("pictures") private String pictures; public boolean isAdmin() { return isAdmin(this.id); } public static boolean isAdmin(Long userId) { return userId != null && 1L == userId; } } applet/src/main/java/com/jilongda/applet/security/AuthenticationProvider.java
New file @@ -0,0 +1,88 @@ package com.jilongda.applet.security; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.*; import org.springframework.security.authentication.dao.DaoAuthenticationProvider; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; import java.util.Objects; /** * 身份验证提供者--->登录验证逻辑 * <p> * 不管是 implements AuthenticationProvider 还是 extends DaoAuthenticationProvider 区别不大 * <p> * DaoAuthenticationProvider 实现了 AuthenticationProvider 类 * <p> * 验证逻辑都是在 public Authentication authenticate(Authentication authentication) throws AuthenticationException {} 方法中 * * @author xiaochen * @date 2021-01-02 20:17 */ @Slf4j public class AuthenticationProvider extends DaoAuthenticationProvider { private SysUserDetailsService loadUserDetailsService; private PasswordEncoder passwordEncoder; public AuthenticationProvider(SysUserDetailsService loadUserDetailsService, PasswordEncoder passwordEncoder) { this.loadUserDetailsService = loadUserDetailsService; this.passwordEncoder = passwordEncoder; setUserDetailsService(loadUserDetailsService); setPasswordEncoder(passwordEncoder); } @Override public Authentication authenticate(Authentication authentication) { // 可以在此处覆写整个登录认证逻辑 // [1] 获取 username 和 password String userName = (String) authentication.getPrincipal(); String password = (String) authentication.getCredentials(); log.info("用户数据查询======================================"); // [2] 使用用户名从数据库读取用户信息 SecurityUserDetails userDetails = this.loadUserDetailsService.loadUserByUsername(userName); log.info("用户数据查询======================================:{}", userDetails); // 判断是否被封禁 // userDetails.setEnabled(userDetails.getState()); // [3] 检查用户信息 if (Objects.isNull(userDetails)) { throw new UsernameNotFoundException("用户账户不存在"); // } else if (userDetails.isEnabled() || userDetails.getState()) { // throw new DisabledException(userName + " 用户已被禁用或删除,请联系管理员"); } else if (!userDetails.isAccountNonExpired()) { throw new AccountExpiredException(userName + " 账号已过期"); } else if (!userDetails.isAccountNonLocked()) { throw new LockedException(userName + " 账号已被锁定"); } else if (!userDetails.isCredentialsNonExpired()) { throw new LockedException(userName + " 凭证已过期"); } // [4] 数据库用户的密码,一般都是加密过的 String encryptedPassword = userDetails.getPassword(); // 根据加密算法加密用户输入的密码,然后和数据库中保存的密码进行比较 if (!this.passwordEncoder.matches(password, encryptedPassword)) { throw new BadCredentialsException("密码错误"); } // [5] 成功登陆,把用户信息提交给 Spring Security // 把 userDetails 作为 principal 的好处是可以放自定义的 UserDetails,这样可以存储更多有用的信息,而不只是 username, // 默认只有 username,这里的密码使用数据库中保存的密码,而不是用户输入的明文密码,否则就暴露了密码的明文 // 不暴露密码 // userDetails.setPassword(null); UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken(userDetails.getUsername(), null, null); // 设置详情 //String userInfo = JsonUtils.toJsonString(userDetails); usernamePasswordAuthenticationToken.setDetails(userDetails); return usernamePasswordAuthenticationToken; } @Override protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { // 可以在此处覆写密码验证逻辑 super.additionalAuthenticationChecks(userDetails, authentication); } } applet/src/main/java/com/jilongda/applet/security/RbacAuthorityService.java
New file @@ -0,0 +1,16 @@ package com.jilongda.applet.security; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * @author xiaochen * @ClassName RbacAuthorityService * @Description * @date 2020-09-23 11:32 */ @Component @Slf4j public class RbacAuthorityService { } applet/src/main/java/com/jilongda/applet/security/SecurityAccessDeniedHandler.java
New file @@ -0,0 +1,32 @@ package com.jilongda.applet.security; import com.jilongda.common.basic.ApiResult; import com.jilongda.common.swagger.GlobalResultEnum; import com.jilongda.common.utils.ResponseUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 认证过的用户访问没有权限资源的处理 * * @author xiaochen * @date */ @Component @Slf4j public class SecurityAccessDeniedHandler implements AccessDeniedHandler { @Override public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) { log.info(request.getRequestURL() + "没有权限"); response.setCharacterEncoding("utf-8"); response.setContentType(MediaType.APPLICATION_JSON_VALUE); ResponseUtils.renderJson(response, ApiResult.status(GlobalResultEnum.FORBIDDEN)); } } applet/src/main/java/com/jilongda/applet/security/SecurityUserDetails.java
New file @@ -0,0 +1,73 @@ package com.jilongda.applet.security; import com.jilongda.applet.model.TAppUser; import lombok.Data; import lombok.Setter; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import java.io.Serializable; import java.util.Collection; /** * @author xiaochen * @ClassName DinePeopleDetails * @Description * @date 2020-08-20 20:36 */ @Data public class SecurityUserDetails extends TAppUser implements UserDetails, Serializable { private static final long serialVersionUID = 8154896751339152731L; @Setter private Boolean accountNonExpired = true; @Setter private Boolean accountNonLocked = true; @Setter private Boolean credentialsNonExpired = true; @Setter private Boolean enabled = true; /** * 不在此处做权限校验 * * @return */ @Override public Collection<? extends GrantedAuthority> getAuthorities() { return null; } @Override public String getPassword() { // return super.getPassword(); return null; } @Override public String getUsername() { // return super.getAccount(); return super.getOpenId(); } @Override public boolean isAccountNonExpired() { return this.accountNonExpired; } @Override public boolean isAccountNonLocked() { return this.accountNonLocked; } @Override public boolean isCredentialsNonExpired() { return this.credentialsNonExpired; } @Override public boolean isEnabled() { return this.enabled; } } applet/src/main/java/com/jilongda/applet/security/SecurityUserRoleResouce.java
New file @@ -0,0 +1,17 @@ package com.jilongda.applet.security; import com.jilongda.applet.model.SecUser; import lombok.Data; import java.io.Serializable; import java.util.List; /** * @author xiaochen * @ClassName SysUserRoleResouce * @Description * @date 2021-05-20 15:10 */ @Data public class SecurityUserRoleResouce extends SecUser implements Serializable { } applet/src/main/java/com/jilongda/applet/security/SysUserDetailsService.java
New file @@ -0,0 +1,64 @@ package com.jilongda.applet.security; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jilongda.applet.mapper.TAppUserMapper; import com.jilongda.applet.model.SecUser; import com.jilongda.applet.model.TAppUser; import com.jilongda.common.basic.Constant; import com.jilongda.common.utils.SpringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 用户登录认证信息查询 * * @author xiaochen * @date Jun 29, 2019 */ @Component("loadUserDetailsService") public class SysUserDetailsService implements UserDetailsService { @Autowired private TAppUserMapper appUserMapper; @Override public SecurityUserDetails loadUserByUsername(String openId) throws UsernameNotFoundException { TAppUser user = appUserMapper.selectOne(Wrappers.lambdaQuery(TAppUser.class).eq(TAppUser::getOpenId, openId).last(" LIMIT 1")); if (Objects.isNull(user)) { throw new UsernameNotFoundException("该用户不存在"); } SecurityUserDetails vo = SpringUtils.beanCopy(user, SecurityUserDetails.class); // if (user.getAccount().equals(Constant.ADMIN)) { // getAdminPermission(vo); // } else { // List<SecRole> roles = secRoleMapper.selectRolesByUid(user.getId()); // List<Long> roleIds = roles.stream().map(SecRole::getId).collect(Collectors.toList()); // List<SecResourceVO> resources; // if (CollectionUtils.isEmpty(roleIds)) { // resources = new ArrayList<>(); // } else { // resources = secUserService.getResourceTag(user.getId()); // } // vo.setRoles(roles); // vo.setResources(resources); // } // // 更新登录时间 // SecurityUserDetails securityUserDetails = new SecurityUserDetails(); // securityUserDetails.setId(user.getId()); // securityUserDetails.setLastLoginTime(LocalDateTime.now()); // secUserMapper.updateById(securityUserDetails); return vo; } } applet/src/main/java/com/jilongda/applet/service/TAppUserService.java
@@ -19,5 +19,5 @@ * 微信小程序登录用户封装 * @param appletUserDecodeData */ void wxLogin(AppletUserDecodeData appletUserDecodeData); TAppUser wxLogin(AppletUserDecodeData appletUserDecodeData); } applet/src/main/java/com/jilongda/applet/service/impl/TAppUserServiceImpl.java
@@ -27,7 +27,7 @@ @Service public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService { @Override public void wxLogin(AppletUserDecodeData appletUserDecodeData) { public TAppUser wxLogin(AppletUserDecodeData appletUserDecodeData) { // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getOpenId, appletUserDecodeData.getOpenId()) @@ -44,5 +44,6 @@ throw new ServiceException("账号被冻结,请联系管理员"); } } return appUser; } } applet/src/main/java/com/jilongda/applet/utils/LoginInfoUtil.java
@@ -17,13 +17,13 @@ public Integer getUserId(){ String username = JwtTokenUtils.getUsername(); TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", username).eq("isDelete",0)); TAppUser appUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", username).eq("isDelete",0)); return appUser.getId(); } public TAppUser getLoginUser(){ String username = JwtTokenUtils.getUsername(); TAppUser TAppUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", username).eq("isDelete",0)); TAppUser TAppUser = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", username).eq("isDelete",0)); return TAppUser; } @@ -36,13 +36,13 @@ */ public void logoff(){ String username = JwtTokenUtils.getUsername(); TAppUser userName = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", username).eq("isDelete",0)); TAppUser userName = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", username).eq("isDelete",0)); userName.setIsDelete(true); appUserService.saveOrUpdate(userName); } public Boolean checkPhoneExits(String phone){ TAppUser userName = appUserService.getOne(new QueryWrapper<TAppUser>().eq("phone", phone).eq("isDelete",0)); TAppUser userName = appUserService.getOne(new QueryWrapper<TAppUser>().eq("openId", phone).eq("isDelete",0)); if(userName!=null){ return true; }else{ optometry/pom.xml
File was deleted optometry/src/main/java/com/jilongda/optometry/AppletApplication.java
File was deleted optometry/src/main/java/com/jilongda/optometry/aspect/StateAspect.java
File was deleted optometry/src/main/java/com/jilongda/optometry/config/AuthenticationFilter1.java
File was deleted optometry/src/main/java/com/jilongda/optometry/config/GlobalResultEnum.java
File was deleted optometry/src/main/java/com/jilongda/optometry/config/WebSecurityConfig.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/LoginController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecFeeItemsController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecResourcesController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecRoleController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecRoleResourceController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecSettingController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecUserController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/SecUserRoleController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TAppUserController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TBrandController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TCouponController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TCouponReceiveController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TFrameWarehousingDetailController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TInventoryController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TInventoryFrameDetailController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TInventoryLensDetailController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TLensSeriesController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TLensWarehousingDetailController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TLineUpController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TMaterialController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TModelController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOptometristController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOptometryController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOptometryDetailController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOrderAccountingController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOrderAftersalesController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TOrderController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TStoreController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TSupplierController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TTicketController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/controller/TWarehousingController.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/AliSms.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/AppCustomerPageDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/AppGoodsSpecDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/AppOrderPageDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/AppPassOrderDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/Btn.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/LoginCodeDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/LoginDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/Meta.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/OptometryLoginDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/ResetPasswordDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecResDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecRoleDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecRoleResDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecRolesDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecUserDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecUserQueryDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecUserRoleDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SecUsersDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SysSourcesDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/SysSourcesListDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/dto/VerificationCodeDTO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/log/LoginLogAspect.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/LoginLogMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecFeeItemsMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecResourcesMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecRoleMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecRoleResourceMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecSettingMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecUserMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/SecUserRoleMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TAppUserMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TBrandMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TCouponMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TCouponReceiveMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TFrameWarehousingDetailMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TInventoryFrameDetailMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TInventoryLensDetailMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TInventoryMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TLensSeriesMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TLensWarehousingDetailMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TLineUpMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TMaterialMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TModelMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOptometristMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOptometryDetailMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOptometryMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOrderAccountingMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOrderAftersalesMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TOrderMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TStoreMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TSupplierMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TTicketMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TUserMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/mapper/TWarehousingMapper.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecFeeItems.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecResources.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecRole.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecRoleResource.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecSetting.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecUser.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/SecUserRole.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TAppUser.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TBrand.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TCoupon.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TCouponReceive.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TFrameWarehousingDetail.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TInventory.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TInventoryFrameDetail.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TInventoryLensDetail.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TLensSeries.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TLensWarehousingDetail.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TLineUp.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TMaterial.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TModel.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOptometrist.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOptometry.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOptometryDetail.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOrder.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOrderAccounting.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TOrderAftersales.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TStore.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TSupplier.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TTicket.java
File was deleted optometry/src/main/java/com/jilongda/optometry/model/TWarehousing.java
File was deleted optometry/src/main/java/com/jilongda/optometry/query/LoginLogQuery.java
File was deleted optometry/src/main/java/com/jilongda/optometry/query/OperLogQuery.java
File was deleted optometry/src/main/java/com/jilongda/optometry/schedule/SystemSchedule.java
File was deleted optometry/src/main/java/com/jilongda/optometry/security/AuthenticationProvider.java
File was deleted optometry/src/main/java/com/jilongda/optometry/security/SecurityUserDetails.java
File was deleted optometry/src/main/java/com/jilongda/optometry/security/SecurityUserRoleResouce.java
File was deleted optometry/src/main/java/com/jilongda/optometry/security/SysUserDetailsService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/LoginLogService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecFeeItemsService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecResourcesService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecRoleResourceService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecRoleService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecSettingService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecUserRoleService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/SecUserService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TAppUserService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TBrandService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TCouponReceiveService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TCouponService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TFrameWarehousingDetailService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TInventoryFrameDetailService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TInventoryLensDetailService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TInventoryService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TLensSeriesService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TLensWarehousingDetailService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TLineUpService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TMaterialService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TModelService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOptometristService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOptometryDetailService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOptometryService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOrderAccountingService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOrderAftersalesService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TOrderService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TStoreService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TSupplierService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TTicketService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TUserService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/TWarehousingService.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/LoginLogServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecFeeItemsServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecResourcesServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecRoleResourceServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecRoleServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecSettingServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecUserRoleServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/SecUserServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TAppUserServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TBrandServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TCouponReceiveServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TCouponServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TFrameWarehousingDetailServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TInventoryFrameDetailServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TInventoryLensDetailServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TInventoryServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TLensSeriesServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TLensWarehousingDetailServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TLineUpServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TMaterialServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TModelServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOptometristServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOptometryDetailServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOptometryServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOrderAccountingServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOrderAftersalesServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TOrderServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TStoreServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TSupplierServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TTicketServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TUserServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/service/impl/TWarehousingServiceImpl.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/ALiSendSms.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/DistanceCalculator.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/LoginInfoUtil.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/MsgUtils.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/ObsUploadUtil.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/PayMoneyUtil.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/UUIDUtil.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/dingding/AccessTokenUtil.java
File was deleted optometry/src/main/java/com/jilongda/optometry/utils/dingding/DingTalkAccessTokenRequest.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/AppOrderGoodsVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/AppOrderPageVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/AppOrderVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/AppUserVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/GoodDetailVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/IndexGoodVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/PriceGoodsVo.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/SecResourceVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/SecUserRoleResouceVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/SecUserVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/SecUsersVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/vo/vo/TOrderVO.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/body/resp/AccessTokenRespBody.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/body/resp/Code2SessionRespBody.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/body/resp/RespBody.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/body/resq/Code2SessionResqBody.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/pojo/AppletPhoneEncrypteData.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/pojo/AppletUserDecodeData.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/pojo/AppletUserEncrypteData.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/pojo/Watermark.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/JsonUtils.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/SHA1.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WebUtils.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WeixinProperties.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxAppletTools.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxCache.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxCacheTemplate.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxCaffineCache.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxException.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wx/utils/WxJsonUtils.java
File was deleted optometry/src/main/java/com/jilongda/optometry/wxtemplate/Template.java
File was deleted optometry/src/main/resources/application.yml
File was deleted optometry/src/main/resources/mapping/LoginLogMapper.xml
File was deleted optometry/src/main/resources/mapping/SecFeeItemsMapper.xml
File was deleted optometry/src/main/resources/mapping/SecResourcesMapper.xml
File was deleted optometry/src/main/resources/mapping/SecRoleMapper.xml
File was deleted optometry/src/main/resources/mapping/SecRoleResourceMapper.xml
File was deleted optometry/src/main/resources/mapping/SecSettingMapper.xml
File was deleted optometry/src/main/resources/mapping/SecUserMapper.xml
File was deleted optometry/src/main/resources/mapping/SecUserRoleMapper.xml
File was deleted optometry/src/main/resources/mapping/TAppUserMapper.xml
File was deleted optometry/src/main/resources/mapping/TBrandMapper.xml
File was deleted optometry/src/main/resources/mapping/TCouponMapper.xml
File was deleted optometry/src/main/resources/mapping/TCouponReceiveMapper.xml
File was deleted optometry/src/main/resources/mapping/TFrameWarehousingDetailMapper.xml
File was deleted optometry/src/main/resources/mapping/TInventoryFrameDetailMapper.xml
File was deleted optometry/src/main/resources/mapping/TInventoryLensDetailMapper.xml
File was deleted optometry/src/main/resources/mapping/TInventoryMapper.xml
File was deleted optometry/src/main/resources/mapping/TLensSeriesMapper.xml
File was deleted optometry/src/main/resources/mapping/TLensWarehousingDetailMapper.xml
File was deleted optometry/src/main/resources/mapping/TLineUpMapper.xml
File was deleted optometry/src/main/resources/mapping/TMaterialMapper.xml
File was deleted optometry/src/main/resources/mapping/TModelMapper.xml
File was deleted optometry/src/main/resources/mapping/TOptometristMapper.xml
File was deleted optometry/src/main/resources/mapping/TOptometryDetailMapper.xml
File was deleted optometry/src/main/resources/mapping/TOptometryMapper.xml
File was deleted optometry/src/main/resources/mapping/TOrderAccountingMapper.xml
File was deleted optometry/src/main/resources/mapping/TOrderAftersalesMapper.xml
File was deleted optometry/src/main/resources/mapping/TOrderMapper.xml
File was deleted optometry/src/main/resources/mapping/TStoreMapper.xml
File was deleted optometry/src/main/resources/mapping/TSupplierMapper.xml
File was deleted optometry/src/main/resources/mapping/TTicketMapper.xml
File was deleted optometry/src/main/resources/mapping/TUserMapper.xml
File was deleted optometry/src/main/resources/mapping/TWarehousingMapper.xml
File was deleted optometry/src/main/resources/mybatis-config.xml
File was deleted pom.xml
@@ -8,7 +8,6 @@ <module>common</module> <module>applet</module> <module>manage</module> <module>optometry</module> </modules> <parent> <groupId>org.springframework.boot</groupId>