@ -0,0 +1,13 @@
|
||||
package com.example.recommend.common;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Target({ElementType.METHOD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface AdminPermission {
|
||||
String produceType() default "text/html";
|
||||
}
|
||||
|
@ -0,0 +1,50 @@
|
||||
package com.example.recommend.common;
|
||||
|
||||
import com.example.recommend.controller.admin.AdminController;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@Aspect
|
||||
@Configuration
|
||||
public class ControllerAspect {
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest httpServletRequest;
|
||||
|
||||
@Autowired
|
||||
private HttpServletResponse httpServletResponse;
|
||||
|
||||
@Around("execution(* com.example.recommend.controller.admin.*.*(..)) && @annotation(org.springframework.web.bind.annotation.RequestMapping)")
|
||||
public Object adminControllerBeforeValidation(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
|
||||
AdminPermission adminPermission = method.getAnnotation(AdminPermission.class);
|
||||
if (adminPermission == null) {
|
||||
//公共方法
|
||||
Object resultObject = joinPoint.proceed();
|
||||
return resultObject;
|
||||
}
|
||||
//判断当前管理员是否登录
|
||||
String email = (String) httpServletRequest.getSession().getAttribute(AdminController.CURRENT_ADMIN_SESSION);
|
||||
if (email == null) {
|
||||
if (adminPermission.produceType().equals("text/html")) {
|
||||
httpServletResponse.sendRedirect("/admin/admin/loginpage");
|
||||
return null;
|
||||
} else {
|
||||
CommonError commonError = new CommonError(EmBusinessError.ADMIN_SHOULD_LOGIN);
|
||||
return CommonRes.create(commonError, "fail");
|
||||
}
|
||||
|
||||
} else {
|
||||
Object resultObject = joinPoint.proceed();
|
||||
return resultObject;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
package com.example.recommend.controller.admin;
|
||||
|
||||
import com.example.recommend.common.AdminPermission;
|
||||
import com.example.recommend.common.BusinessException;
|
||||
import com.example.recommend.common.EmBusinessError;
|
||||
import com.example.recommend.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import sun.misc.BASE64Encoder;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
@Controller("/admin/admin")
|
||||
@RequestMapping("/admin/admin")
|
||||
public class AdminController {
|
||||
|
||||
@Value("${admin.email}")
|
||||
private String email;
|
||||
|
||||
|
||||
@Value("${admin.encryptPassword}")
|
||||
private String encrptyPassord;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest httpServletRequest;
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
public static final String CURRENT_ADMIN_SESSION = "currentAdminSession";
|
||||
|
||||
@RequestMapping("/index")
|
||||
@AdminPermission
|
||||
public ModelAndView index() {
|
||||
ModelAndView modelAndView = new ModelAndView("/admin/admin/index");
|
||||
modelAndView.addObject("userCount", userService.countAllUser());
|
||||
modelAndView.addObject("CONTROLLER_NAME", "admin");
|
||||
modelAndView.addObject("ACTION_NAME", "index");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/loginpage")
|
||||
public ModelAndView loginpage() {
|
||||
ModelAndView modelAndView = new ModelAndView("/admin/admin/login");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/login", method = RequestMethod.POST)
|
||||
public String login(@RequestParam(name = "email") String email,
|
||||
@RequestParam(name = "password") String password) throws BusinessException, UnsupportedEncodingException, NoSuchAlgorithmException {
|
||||
if (StringUtils.isEmpty(email) || StringUtils.isEmpty(password)) {
|
||||
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "用户名密码不能为空");
|
||||
}
|
||||
if (email.equals(this.email) && encodeByMd5(password).equals(this.encrptyPassord)) {
|
||||
//登录成功
|
||||
httpServletRequest.getSession().setAttribute(CURRENT_ADMIN_SESSION, email);
|
||||
return "redirect:/admin/admin/index";
|
||||
} else {
|
||||
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, "用户名密码错误");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private String encodeByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException {
|
||||
//确认计算方法MD5
|
||||
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
|
||||
BASE64Encoder base64Encoder = new BASE64Encoder();
|
||||
return base64Encoder.encode(messageDigest.digest(str.getBytes("utf-8")));
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package com.example.recommend.controller.admin;
|
||||
|
||||
import com.example.recommend.common.*;
|
||||
import com.example.recommend.model.SellerModel;
|
||||
import com.example.recommend.request.PageQuery;
|
||||
import com.example.recommend.request.SellerCreateReq;
|
||||
import com.example.recommend.service.SellerService;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Controller("/admin/seller")
|
||||
@RequestMapping("/admin/seller")
|
||||
public class SellerController {
|
||||
|
||||
@Autowired
|
||||
private SellerService sellerService;
|
||||
|
||||
//商户列表
|
||||
@RequestMapping("/index")
|
||||
@AdminPermission
|
||||
public ModelAndView index(PageQuery pageQuery) {
|
||||
PageHelper.startPage(pageQuery.getPage(), pageQuery.getSize());
|
||||
List<SellerModel> sellerModelList = sellerService.selectAll();
|
||||
PageInfo<SellerModel> sellerModelPageInfo = new PageInfo<>(sellerModelList);
|
||||
ModelAndView modelAndView = new ModelAndView("/admin/seller/index.html");
|
||||
modelAndView.addObject("data", sellerModelPageInfo);
|
||||
modelAndView.addObject("CONTROLLER_NAME", "seller");
|
||||
modelAndView.addObject("ACTION_NAME", "index");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping("/createpage")
|
||||
@AdminPermission
|
||||
public ModelAndView createPage() {
|
||||
ModelAndView modelAndView = new ModelAndView("/admin/seller/create.html");
|
||||
modelAndView.addObject("CONTROLLER_NAME", "seller");
|
||||
modelAndView.addObject("ACTION_NAME", "create");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/create", method = RequestMethod.POST)
|
||||
@AdminPermission
|
||||
public String create(@Valid SellerCreateReq sellerCreateReq, BindingResult bindingResult) throws BusinessException {
|
||||
if (bindingResult.hasErrors()) {
|
||||
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR, CommonUtil.processErrorString(bindingResult));
|
||||
}
|
||||
|
||||
SellerModel sellerModel = new SellerModel();
|
||||
sellerModel.setName(sellerCreateReq.getName());
|
||||
sellerService.create(sellerModel);
|
||||
|
||||
return "redirect:/admin/seller/index";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "down", method = RequestMethod.POST)
|
||||
@AdminPermission
|
||||
@ResponseBody
|
||||
public CommonRes down(@RequestParam(value = "id") Integer id) throws BusinessException {
|
||||
SellerModel sellerModel = sellerService.changeStatus(id, 1);
|
||||
return CommonRes.create(sellerModel);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "up", method = RequestMethod.POST)
|
||||
@AdminPermission
|
||||
@ResponseBody
|
||||
public CommonRes up(@RequestParam(value = "id") Integer id) throws BusinessException {
|
||||
SellerModel sellerModel = sellerService.changeStatus(id, 0);
|
||||
return CommonRes.create(sellerModel);
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package com.example.recommend.dal;
|
||||
|
||||
import com.example.recommend.model.SellerModel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SellerModelMapper {
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
int insert(SellerModel record);
|
||||
|
||||
List<SellerModel> selectAll();
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
int insertSelective(SellerModel record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
SellerModel selectByPrimaryKey(Integer id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
int updateByPrimaryKeySelective(SellerModel record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table seller
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
int updateByPrimaryKey(SellerModel record);
|
||||
}
|
@ -0,0 +1,204 @@
|
||||
package com.example.recommend.model;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
public class SellerModel {
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.id
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.name
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.created_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private Date createdAt;
|
||||
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.updated_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private Date updatedAt;
|
||||
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.remark_score
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private BigDecimal remarkScore;
|
||||
|
||||
/**
|
||||
*
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column seller.disabled_flag
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
private Integer disabledFlag;
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.id
|
||||
*
|
||||
* @return the value of seller.id
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.id
|
||||
*
|
||||
* @param id the value for seller.id
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.name
|
||||
*
|
||||
* @return the value of seller.name
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.name
|
||||
*
|
||||
* @param name the value for seller.name
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name == null ? null : name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.created_at
|
||||
*
|
||||
* @return the value of seller.created_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public Date getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.created_at
|
||||
*
|
||||
* @param createdAt the value for seller.created_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setCreatedAt(Date createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.updated_at
|
||||
*
|
||||
* @return the value of seller.updated_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public Date getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.updated_at
|
||||
*
|
||||
* @param updatedAt the value for seller.updated_at
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setUpdatedAt(Date updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.remark_score
|
||||
*
|
||||
* @return the value of seller.remark_score
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public BigDecimal getRemarkScore() {
|
||||
return remarkScore;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.remark_score
|
||||
*
|
||||
* @param remarkScore the value for seller.remark_score
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setRemarkScore(BigDecimal remarkScore) {
|
||||
this.remarkScore = remarkScore;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column seller.disabled_flag
|
||||
*
|
||||
* @return the value of seller.disabled_flag
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public Integer getDisabledFlag() {
|
||||
return disabledFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column seller.disabled_flag
|
||||
*
|
||||
* @param disabledFlag the value for seller.disabled_flag
|
||||
*
|
||||
* @mbg.generated Mon Oct 09 23:38:39 CST 2023
|
||||
*/
|
||||
public void setDisabledFlag(Integer disabledFlag) {
|
||||
this.disabledFlag = disabledFlag;
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.example.recommend.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
public class LoginReq {
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
private String telephone;
|
||||
@NotBlank(message = "密码不能为空")
|
||||
private String password;
|
||||
|
||||
public String getTelephone() {
|
||||
return telephone;
|
||||
}
|
||||
|
||||
public void setTelephone(String telephone) {
|
||||
this.telephone = telephone;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.example.recommend.request;
|
||||
|
||||
public class PageQuery {
|
||||
|
||||
private Integer page = 1;
|
||||
|
||||
private Integer size = 20;
|
||||
|
||||
public Integer getPage() {
|
||||
return page;
|
||||
}
|
||||
|
||||
public void setPage(Integer page) {
|
||||
this.page = page;
|
||||
}
|
||||
|
||||
public Integer getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public void setSize(Integer size) {
|
||||
this.size = size;
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.example.recommend.request;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
public class SellerCreateReq {
|
||||
|
||||
@NotBlank(message = "商户名不能为空")
|
||||
private String name;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.example.recommend.service;
|
||||
|
||||
import com.example.recommend.common.BusinessException;
|
||||
import com.example.recommend.model.SellerModel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SellerService {
|
||||
SellerModel create(SellerModel sellerModel);
|
||||
|
||||
SellerModel get(Integer id);
|
||||
|
||||
List<SellerModel> selectAll();
|
||||
|
||||
SellerModel changeStatus(Integer id, Integer disabledFlag) throws BusinessException;
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package com.example.recommend.service.impl;
|
||||
|
||||
import com.example.recommend.common.BusinessException;
|
||||
import com.example.recommend.common.EmBusinessError;
|
||||
import com.example.recommend.dal.SellerModelMapper;
|
||||
import com.example.recommend.model.SellerModel;
|
||||
import com.example.recommend.service.SellerService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SellerServiceImpl implements SellerService {
|
||||
|
||||
@Autowired
|
||||
private SellerModelMapper sellerModelMapper;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public SellerModel create(SellerModel sellerModel) {
|
||||
sellerModel.setCreatedAt(new Date());
|
||||
sellerModel.setUpdatedAt(new Date());
|
||||
sellerModel.setRemarkScore(new BigDecimal(0));
|
||||
sellerModel.setDisabledFlag(0);
|
||||
sellerModelMapper.insertSelective(sellerModel);
|
||||
return get(sellerModel.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SellerModel get(Integer id) {
|
||||
return sellerModelMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SellerModel> selectAll() {
|
||||
return sellerModelMapper.selectAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SellerModel changeStatus(Integer id, Integer disabledFlag) throws BusinessException {
|
||||
SellerModel sellerModel = get(id);
|
||||
if (sellerModel == null) {
|
||||
throw new BusinessException(EmBusinessError.PARAMETER_VALIDATION_ERROR);
|
||||
}
|
||||
sellerModel.setDisabledFlag(disabledFlag);
|
||||
sellerModelMapper.updateByPrimaryKeySelective(sellerModel);
|
||||
return sellerModel;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.example.recommend.dal.SellerModelMapper">
|
||||
<resultMap id="BaseResultMap" type="com.example.recommend.model.SellerModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
<id column="id" jdbcType="INTEGER" property="id"/>
|
||||
<result column="name" jdbcType="VARCHAR" property="name"/>
|
||||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt"/>
|
||||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt"/>
|
||||
<result column="remark_score" jdbcType="DECIMAL" property="remarkScore"/>
|
||||
<result column="disabled_flag" jdbcType="INTEGER" property="disabledFlag"/>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
id, name, created_at, updated_at, remark_score, disabled_flag
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from seller
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</select>
|
||||
<select id="selectAll" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from seller
|
||||
order by id ASC
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
delete from seller
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.example.recommend.model.SellerModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into seller (name, created_at, updated_at,
|
||||
remark_score, disabled_flag)
|
||||
values (#{name,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
|
||||
#{remarkScore,jdbcType=DECIMAL}, #{disabledFlag,jdbcType=INTEGER})
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.example.recommend.model.SellerModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into seller
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">
|
||||
name,
|
||||
</if>
|
||||
<if test="createdAt != null">
|
||||
created_at,
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
updated_at,
|
||||
</if>
|
||||
<if test="remarkScore != null">
|
||||
remark_score,
|
||||
</if>
|
||||
<if test="disabledFlag != null">
|
||||
disabled_flag,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="name != null">
|
||||
#{name,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createdAt != null">
|
||||
#{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
#{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="remarkScore != null">
|
||||
#{remarkScore,jdbcType=DECIMAL},
|
||||
</if>
|
||||
<if test="disabledFlag != null">
|
||||
#{disabledFlag,jdbcType=INTEGER},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.example.recommend.model.SellerModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
update seller
|
||||
<set>
|
||||
<if test="name != null">
|
||||
name = #{name,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createdAt != null">
|
||||
created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="remarkScore != null">
|
||||
remark_score = #{remarkScore,jdbcType=DECIMAL},
|
||||
</if>
|
||||
<if test="disabledFlag != null">
|
||||
disabled_flag = #{disabledFlag,jdbcType=INTEGER},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.example.recommend.model.SellerModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 23:38:39 CST 2023.
|
||||
-->
|
||||
update seller
|
||||
set name = #{name,jdbcType=VARCHAR},
|
||||
created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
|
||||
remark_score = #{remarkScore,jdbcType=DECIMAL},
|
||||
disabled_flag = #{disabledFlag,jdbcType=INTEGER}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
</mapper>
|
@ -1,157 +1,168 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.example.recommend.dal.UserModelMapper">
|
||||
<resultMap id="BaseResultMap" type="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<id column="id" jdbcType="INTEGER" property="id" />
|
||||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
|
||||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
|
||||
<result column="telephone" jdbcType="VARCHAR" property="telephone" />
|
||||
<result column="password" jdbcType="VARCHAR" property="password" />
|
||||
<result column="nick_name" jdbcType="VARCHAR" property="nickName" />
|
||||
<result column="gender" jdbcType="INTEGER" property="gender" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
id, created_at, updated_at, telephone, password, nick_name, gender
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from user
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
delete from user
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into user (created_at, updated_at, telephone,
|
||||
password, nick_name, gender
|
||||
)
|
||||
values (#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{telephone,jdbcType=VARCHAR},
|
||||
#{password,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into user
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="createdAt != null">
|
||||
created_at,
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
updated_at,
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
telephone,
|
||||
</if>
|
||||
<if test="password != null">
|
||||
password,
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
nick_name,
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
gender,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="createdAt != null">
|
||||
#{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
#{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
#{telephone,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
#{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
#{nickName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
#{gender,jdbcType=INTEGER},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
update user
|
||||
<set>
|
||||
<if test="createdAt != null">
|
||||
created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
<resultMap id="BaseResultMap" type="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<id column="id" jdbcType="INTEGER" property="id"/>
|
||||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt"/>
|
||||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt"/>
|
||||
<result column="telephone" jdbcType="VARCHAR" property="telephone"/>
|
||||
<result column="password" jdbcType="VARCHAR" property="password"/>
|
||||
<result column="nick_name" jdbcType="VARCHAR" property="nickName"/>
|
||||
<result column="gender" jdbcType="INTEGER" property="gender"/>
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
id, created_at, updated_at, telephone, password, nick_name, gender
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from user
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
delete from user
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</delete>
|
||||
<insert id="insert" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into user (created_at, updated_at, telephone,
|
||||
password, nick_name, gender
|
||||
)
|
||||
values (#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{telephone,jdbcType=VARCHAR},
|
||||
#{password,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into user
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="createdAt != null">
|
||||
created_at,
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
updated_at,
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
telephone,
|
||||
</if>
|
||||
<if test="password != null">
|
||||
password,
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
nick_name,
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
gender,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="createdAt != null">
|
||||
#{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
#{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
#{telephone,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
#{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
#{nickName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
#{gender,jdbcType=INTEGER},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
update user
|
||||
<set>
|
||||
<if test="createdAt != null">
|
||||
created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updatedAt != null">
|
||||
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
telephone = #{telephone,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
password = #{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
nick_name = #{nickName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
gender = #{gender,jdbcType=INTEGER},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
update user
|
||||
set created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="telephone != null">
|
||||
telephone = #{telephone,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
password = #{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="nickName != null">
|
||||
nick_name = #{nickName,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="gender != null">
|
||||
gender = #{gender,jdbcType=INTEGER},
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.example.recommend.model.UserModel">
|
||||
<!--
|
||||
WARNING - @mbg.generated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
This element was generated on Mon Oct 09 13:50:54 CST 2023.
|
||||
-->
|
||||
update user
|
||||
set created_at = #{createdAt,jdbcType=TIMESTAMP},
|
||||
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
|
||||
telephone = #{telephone,jdbcType=VARCHAR},
|
||||
password = #{password,jdbcType=VARCHAR},
|
||||
nick_name = #{nickName,jdbcType=VARCHAR},
|
||||
gender = #{gender,jdbcType=INTEGER}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
gender = #{gender,jdbcType=INTEGER}
|
||||
where id = #{id,jdbcType=INTEGER}
|
||||
</update>
|
||||
|
||||
<select id="selectByTelephoneAndPassword" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
from user where telephone=#{telephone} and password = #{password}
|
||||
</select>
|
||||
|
||||
<select id="countAllUser" resultType="java.lang.Integer">
|
||||
SELECT count(1)
|
||||
from user
|
||||
</select>
|
||||
</mapper>
|
After Width: | Height: | Size: 162 B |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 299 B |
After Width: | Height: | Size: 643 B |
After Width: | Height: | Size: 408 B |
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 591 B |
After Width: | Height: | Size: 643 B |
After Width: | Height: | Size: 600 B |
After Width: | Height: | Size: 497 B |
After Width: | Height: | Size: 488 B |
After Width: | Height: | Size: 428 B |
After Width: | Height: | Size: 506 B |
After Width: | Height: | Size: 647 B |
After Width: | Height: | Size: 403 B |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 524 B |
After Width: | Height: | Size: 663 B |
After Width: | Height: | Size: 589 B |
After Width: | Height: | Size: 593 B |
After Width: | Height: | Size: 585 B |
After Width: | Height: | Size: 504 B |
After Width: | Height: | Size: 449 B |
After Width: | Height: | Size: 497 B |
After Width: | Height: | Size: 462 B |
After Width: | Height: | Size: 457 B |
After Width: | Height: | Size: 675 B |
After Width: | Height: | Size: 486 B |
After Width: | Height: | Size: 611 B |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 500 B |
After Width: | Height: | Size: 593 B |
After Width: | Height: | Size: 526 B |
After Width: | Height: | Size: 631 B |
After Width: | Height: | Size: 512 B |
After Width: | Height: | Size: 443 B |
After Width: | Height: | Size: 514 B |
After Width: | Height: | Size: 600 B |
After Width: | Height: | Size: 628 B |
After Width: | Height: | Size: 398 B |
After Width: | Height: | Size: 625 B |
After Width: | Height: | Size: 528 B |
After Width: | Height: | Size: 614 B |
After Width: | Height: | Size: 521 B |
After Width: | Height: | Size: 367 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 586 B |
After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 525 B |
After Width: | Height: | Size: 472 B |
After Width: | Height: | Size: 483 B |
After Width: | Height: | Size: 477 B |
After Width: | Height: | Size: 439 B |
After Width: | Height: | Size: 563 B |
After Width: | Height: | Size: 529 B |
After Width: | Height: | Size: 608 B |
After Width: | Height: | Size: 428 B |
After Width: | Height: | Size: 476 B |
After Width: | Height: | Size: 545 B |
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 495 B |
After Width: | Height: | Size: 620 B |
After Width: | Height: | Size: 508 B |
After Width: | Height: | Size: 582 B |
After Width: | Height: | Size: 500 B |
After Width: | Height: | Size: 429 B |
After Width: | Height: | Size: 465 B |
After Width: | Height: | Size: 508 B |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 469 B |
After Width: | Height: | Size: 592 B |
After Width: | Height: | Size: 479 B |