基于javaweb+mysql的springboot在线拍卖竞价系统(java+springboot+freemarker+mysql)

基于javaweb+mysql的springboot在线拍卖竞价系统(java+springboot+freemarker+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot在线拍卖竞价系统(java+springboot+freemarker+mysql)

超级管理员:系统管理、用户管理(冻结等)、审批竞拍标的物管理、竞标类型管理、审批机构、个人提现管理(审核)、企业提现管理(审批)等。

普通用户:注册登录、个人信息管理(个人资料、密码修改等)、留言管理、竞价管理、竞拍收藏、订单查询(物流信息查询)、银行卡管理、提现管理等、竞拍物品展示查询(列表搜索、详情展示、报名记录、竞价记录)。

企业用户:注册登录、发布竞拍、竞拍管理、充值订单、银行卡管理、提现记录。

            return Result.error(validate);
        }
        if(StringUtils.isEmpty(account.getPmPwd())){
            return Result.error(CodeMsg.ADMIN_ACCOUNT_PMPWD_ERROR);
        }
        //查找是否用户名已存在
        if(accountService.isExistUsername(account.getUsername(), account.getId())){
            return Result.error(CodeMsg.HOME_ACCOUNT_USERNAME_EXIST);
        }
        //根据Id查询
        Account findAccount = accountService.find(account.getId());
        if(findAccount==null){
            return Result.error(CodeMsg.HOME_ACCOUNT_NOT_EXIST_ERROR);
        }
        BeanUtils.copyProperties(account,findAccount,"id","createTime","updateTime","balance","creditScore");
        if(accountService.save(findAccount)==null){
            return Result.error(CodeMsg.ADMIN_ACCOUNT_EDIT_ERROR);
        }
        operaterLogService.add("编辑前台用户,用户名:" + account.getUsername());
        return Result.success(true);
    }

    /**
     * 删除操作
     * @param id
     * @return
     */
    @ResponseBody
    @PostMapping("/delete")
    public Result<Boolean> delete(@RequestParam(name = "id",required = true)Long id){
        try {
            accountService.delete(id);
        } catch (Exception e) {
            return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
        }
        operaterLogService.add("删除用户,用户ID:" + id);
        return Result.success(true);
    }

}


/**
 * 登录拦截器
 *
 */
@Component
public class AdminLoginInterceptor implements HandlerInterceptor{

	private Logger log = LoggerFactory.getLogger(AdminLoginInterceptor.class);
	@Autowired
	private SiteConfig siteConfig;
	
	@Override
	public boolean  preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
		String requestURI = request.getRequestURI();
		HttpSession session = request.getSession();
		session.setAttribute(SessionConstant.SESSION_USER_AUTH_KEY, AppConfig.ORDER_AUTH);
		Object type = session.getAttribute("type");
		Object attribute = null;
		if(type != null){
			if((Integer) type == LoginType.ADMINISTRATOR.getCode()){
				attribute = session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY);
			}else if((Integer)type == LoginType.ORGANIZATION.getCode()){
				attribute = session.getAttribute(SessionConstant.SESSION_USER_ORGANIZATION);
			}
		}
		if(attribute == null){
			log.info("用户还未登录或者session失效,重定向到登录页面,当前URL=" + requestURI);
			//首先判断是否是ajax请求
			if(StringUtil.isAjax(request)){
				//表示是ajax请求
		return mac.toUpperCase();
	}

	public static boolean authOrder(String orderSn,String phone){
		Map<String, String> headerParaMap = new HashMap<String, String>();
		String mac = getMac();
		String paramToken = DESUtil.encrypt(orderSn, mac+"#"+orderSn+"#"+phone);
		headerParaMap.put("paramToken", paramToken);
		String timeToken = DESUtil.encrypt("muyi_ylrc", System.currentTimeMillis()+"");
		headerParaMap.put("timeToken", timeToken);
		String sendPost = HttpUtil.sendPost("http://120.25.120.129:8081/order_auth/verify",headerParaMap,"orderSn="+orderSn+"&phone="+phone+"&mac="+mac);
		JSONObject parseObject = JSONObject.parseObject(sendPost);
		if(parseObject.getIntValue("code") != CodeMsg.SUCCESS.getCode()){
			return false;
		}
		return true;
	}

	public static String readFileToString(File file){
		String string = "";
		if(file != null){
			try {
				BufferedReader br = new BufferedReader(new FileReader(file));
				String line = null;
				while ((line = br.readLine()) != null) {
					string += line;
				}
				br.close();
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
		return string;
	}
}

        model.addAttribute("currentCategory",biddingProject.getProjectCategory()==null?-1:biddingProject.getProjectCategory().getId());
        return "admin/bidding_record/list";
    }

    /**
     * 竞价记录列表
     * @param biddingRecord
     * @Param pageBean
     * @param model
     * @return
     */
    @GetMapping("/record_list")
    public String recordsList(BiddingRecord biddingRecord, PageBean<BiddingRecord> pageBean,Model model){
        BiddingProject biddingProject = projectService.find(biddingRecord.getBiddingProject().getId());
        if(biddingProject==null){
            model.addAttribute("msg","未找到该商品");
        }
        PageBean<BiddingRecord> biddingRecordList = biddingRecordService.findByOraganizationList(biddingProject.getId(), pageBean);
        model.addAttribute("biddingRecordList",biddingRecordList);
        model.addAttribute("title","竞价记录列表");
        return "admin/bidding_record/bidding_record_view_list";
    }

    /**
     * 确认交易操作
     * @param rid
     * @return
     */
    @ResponseBody
    @PostMapping("/transaction")
    public Result<Boolean> transaction(@RequestParam(name = "rid",required = true)Long rid){
        BiddingRecord biddingRecord = biddingRecordService.find(rid);
        if(biddingRecord==null){
            return Result.error(CodeMsg.ADMIN_PROJECT_BIDDINGRECORD_NOT_EXIST);
        }
        //清空本次商品的所有竞拍记录
        return biddingRecordService.updateRecordTransaction(biddingRecord);
    }

    /**
     * 用户未支付 逾期操作
     * @param accountId
     * @return
     */
    @ResponseBody
    @PostMapping("/overdue")
    public Result<Boolean> overdue(@RequestParam(name = "accountId")Long accountId,@RequestParam(name = "recordId")Long recordId){

/**
 * 项目通用工具类
 *
 */
public class StringUtil {
	
	
	/**
	 * 返回指定格式的日期字符串
	 * @param date
	 * @param formatter
	 * @return
	 */
	public static String getFormatterDate(Date date,String formatter){
		SimpleDateFormat sdf = new SimpleDateFormat(formatter);
		return sdf.format(date);
	}
	
	/**
	 * 判断请求是否是ajax
	 * @param request
	 * @return
	 */
	public static boolean isAjax(HttpServletRequest request){
		String header = request.getHeader("X-Requested-With");
		if("XMLHttpRequest".equals(header))return true;
		return false;
	}
	
	/**
	 * 从流读取字符串
	 * @param inputStream
	 * @return
	 */
	public static String getStringFromInputStream(InputStream inputStream){
		String string = "";
		try {
			BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"GB2312"));
	}
	
	/**
	 * 角色修改表单提交处理
	 * @param request
	 * @param role
	 * @return
	 */
	@RequestMapping(value="/edit",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> edit(Role role){
		//用统一验证实体方法验证是否合法
		CodeMsg validate = ValidateEntityUtil.validate(role);
		if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
			return Result.error(validate);
		}
		Role existRole = roleService.find(role.getId());
		if(existRole == null){
			return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);
		}
		existRole.setName(role.getName());
		existRole.setRemark(role.getRemark());
		existRole.setStatus(role.getStatus());
		existRole.setAuthorities(role.getAuthorities());
		if(roleService.save(existRole) == null){
			return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);
		}
		log.info("编辑角色【"+role+"】");
		operaterLogService.add("编辑角色【"+role.getName()+"】");
		return Result.success(true);
	}
	
	/**
	 * 删除角色
	 * @param request
	 * @param id
	 * @return
	 */
	@RequestMapping(value="delete",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
		try {
			roleService.delete(id);
		} catch (Exception e) {
			// TODO: handle exception
			return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
		}
		log.info("编辑角色ID【"+id+"】");
		operaterLogService.add("删除角色ID【"+id+"】");
        if(!biddingProject.getStartTime().before(biddingProject.getBiddingEndTime())){
            return Result.error(CodeMsg.ADMIN_BIDDING_PROJECT_BIDDING_END_DATE_ERROR);
        }
        String describes = biddingProject.getDescribes();
        biddingProject.setDescribes(describes.trim());
        BeanUtils.copyProperties(biddingProject, currentProject, "id", "createTime", "updateTime", "projectNumber", "transactionPrice", "applicantsNumber","auctionTimes","account","organization","rate","viewsNumber");
        if (projectService.save(currentProject) == null) {
            return Result.error(CodeMsg.ADMIN_BIDDING_PROJECT_EDIT_ERROR);
        }
        operaterLogService.add("编辑商品,商品名称:" + biddingProject.getName());
        return Result.success(true);
    }

    /**
     * 删除竞拍商品操作
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/delete", method = RequestMethod.POST)
    @ResponseBody
    public Result<Boolean> delete(@RequestParam(name = "id", required = true) Long id) {
        try {
            projectService.delete(id);
        } catch (Exception e) {
            return Result.error(CodeMsg.ADMIN_BIDDING_PROJECT_DELETE_ERROR);
        }
        operaterLogService.add("删除竞拍商品,竞拍商品ID:" + id);
        return Result.success(true);
    }

    /**
     * 查看商品详情页面
     * @param id
     * @param model
     * @return
     */
    @GetMapping("/project_detail")
    public String projectDetail(@RequestParam("id")Long id,Model model){
        BiddingProject biddingProject = projectService.find(id);
        if (biddingProject == null) {
            model.addAttribute("msg", "不要搞破坏哦,乖!");
            return "/error/404";
        }
        model.addAttribute("biddingProject", biddingProject);
			request.getSession().setAttribute("admin_login", null);

			//将登陆记录写入日志库
			operaterLogService.add("拍卖者【"+byMobile.getName()+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");
			log.info("拍卖者成功登录,judge = " + byMobile);
		}

		return Result.success(true);
	}
	
	/**
	 * 登录成功后的系统主页
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/index")
	public String index(Model model){
		model.addAttribute("operatorLogs", operaterLogService.findLastestLog(10));
		model.addAttribute("userTotal", userService.total());
		model.addAttribute("operatorLogTotal", operaterLogService.total());
		model.addAttribute("databaseBackupTotal", 0);
		model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount);
		model.addAttribute("showTipsText", showTipsText);
		model.addAttribute("showTipsUrlText", showTipsUrlText);
		model.addAttribute("showTipsUtl", showTipsUtl);
		model.addAttribute("showTipsBtnText", showTipsBtnText);
		return "admin/system/index";
	}
	
	/**
	 * 注销登录
	 * @return
	 */
	@RequestMapping(value="/logout")
	public String logout(){
		Integer type = (Integer) SessionUtil.get("type");
		if(type==(LoginType.ADMINISTRATOR.getCode())){
			User loginedUser = SessionUtil.getLoginedUser();
			if(loginedUser != null){
				SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null);
			}
		}else if(type == LoginType.ORGANIZATION.getCode()){
			Organization loginedJudge = SessionUtil.getOraganization();
			if(loginedJudge != null){
				SessionUtil.set(SessionConstant.SESSION_USER_ORGANIZATION,null);
    /**
     * 查询自己的报名记录
     *
     * @param
     * @return
     */
    @GetMapping("/apply_list")
    public String projectApply(Model model) {
        Account account = SessionUtil.getAccount();
        List<BiddingApply> applyList = biddingApplyService.findByAccountId(account.getId());
        model.addAttribute("projectApplyList", applyList);
        model.addAttribute("activeType", "profile");
        return "home/personal/profile_apply_list";
    }

    /**
     * 查询自己的竞价记录
     *
     * @param model
     * @return
     */
    @GetMapping("/bidding_record_list")
    public String projectBiddingRecord(Model model) {
        Account account = SessionUtil.getAccount();
        List<BiddingRecord> recordList = biddingRecordService.findByAccountIdOrderByBidDesc(account.getId());
        model.addAttribute("recordList", recordList);
        model.addAttribute("activeType", "profile");
        return "home/personal/profile_bidding_record_list";
    }

    /**
     * 查询出自己的竞价成功的记录
     *
     * @param model
     * @return
     */
    @GetMapping("/success_bidding_list")
    public String successBiddingList(Model model) {
        Account account = SessionUtil.getAccount();
        List<BiddingRecord> biddingRecordsList = biddingRecordService.findByAccountIdAndPayStatus(account.getId(), BiddingRecord.STATUS_YES);
        model.addAttribute("biddingRecordsList", biddingRecordsList);
        model.addAttribute("activeType", "profile");
        return "home/personal/profile_success_bidding_list";
    }
}

			byte[] hardwareAddress = NetworkInterface.getByInetAddress(localHost).getHardwareAddress();
			StringBuffer sb = new StringBuffer("");
			for(int i=0; i<hardwareAddress.length; i++) {
				//字节转换为整数
				int temp = hardwareAddress[i]&0xff;
				String str = Integer.toHexString(temp);
				//System.out.println("每8位:"+str);
				if(str.length()==1) {
					sb.append("0"+str);
				}else {
					sb.append(str);
				}
			}
			mac = sb.toString();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return mac.toUpperCase();
	}

	public static boolean authOrder(String orderSn,String phone){
		Map<String, String> headerParaMap = new HashMap<String, String>();
		String mac = getMac();
		String paramToken = DESUtil.encrypt(orderSn, mac+"#"+orderSn+"#"+phone);
		headerParaMap.put("paramToken", paramToken);
		String timeToken = DESUtil.encrypt("muyi_ylrc", System.currentTimeMillis()+"");
		headerParaMap.put("timeToken", timeToken);
		String sendPost = HttpUtil.sendPost("http://120.25.120.129:8081/order_auth/verify",headerParaMap,"orderSn="+orderSn+"&phone="+phone+"&mac="+mac);
		JSONObject parseObject = JSONObject.parseObject(sendPost);
		if(parseObject.getIntValue("code") != CodeMsg.SUCCESS.getCode()){
			return false;
		}
		return true;
	}

	public static String readFileToString(File file){
		String string = "";
		if(file != null){
			try {
				BufferedReader br = new BufferedReader(new FileReader(file));
				String line = null;
				while ((line = br.readLine()) != null) {
					string += line;
				}
				br.close();
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
    @Autowired
    private ProjectService projectService;

    @Autowired
    private ProjectCategoryService projectCategoryService;

    @Autowired
    private BiddingRecordService biddingRecordService;

    @Autowired
    private BiddingApplyService biddingApplyService;

    @Autowired
    private ProjectEvaluateService projectEvaluateService;

    /**
     * 前台商品列表
     *
     * @param model
     * @return
     */
    @GetMapping("/list")
    public String index(Model model, BiddingProject biddingProject, PageBean<BiddingProject> pageBean) {
        Date date = new Date();
        model.addAttribute("activeType", "project");
        PageBean<BiddingProject> biddingProjectPageBean = projectService.homeFindList(biddingProject, pageBean);
        for (BiddingProject project : biddingProjectPageBean.getContent()) {
            projectService.status(project, date);
        }
        model.addAttribute("pageBean", biddingProjectPageBean);
        model.addAttribute("newProjectTop4", projectService.findTop4ByProjectStatusOrderByCreateTime());
        model.addAttribute("projectStatus", HomeProjectStatus.values());
        model.addAttribute("projectCategoryList", projectCategoryService.findByStatus(CategoryStatus.AVAILABLE));
        model.addAttribute("projectName", biddingProject.getName() == null ? "" : biddingProject.getName());
        model.addAttribute("currentStatus", biddingProject.getProjectStatus());
        model.addAttribute("currentCategory", biddingProject.getProjectCategory() == null ? -1 : biddingProject.getProjectCategory().getId());
        return "home/project/project_list";
    }

    /**
     * 商品详情页面
     * 确认交易操作
     * @param rid
     * @return
     */
    @ResponseBody
    @PostMapping("/transaction")
    public Result<Boolean> transaction(@RequestParam(name = "rid",required = true)Long rid){
        BiddingRecord biddingRecord = biddingRecordService.find(rid);
        if(biddingRecord==null){
            return Result.error(CodeMsg.ADMIN_PROJECT_BIDDINGRECORD_NOT_EXIST);
        }
        //清空本次商品的所有竞拍记录
        return biddingRecordService.updateRecordTransaction(biddingRecord);
    }

    /**
     * 用户未支付 逾期操作
     * @param accountId
     * @return
     */
    @ResponseBody
    @PostMapping("/overdue")
    public Result<Boolean> overdue(@RequestParam(name = "accountId")Long accountId,@RequestParam(name = "recordId")Long recordId){
        Account account = accountService.find(accountId);
        if(account==null){
            return Result.error(CodeMsg.HOME_ACCOUNT_NOT_EXIST_ERROR);
        }
        if(biddingRecordService.find(recordId)==null){
            return Result.error(CodeMsg.ADMIN_PROJECT_BIDDINGRECORD_NOT_EXIST);
        }
        int creditScore = account.getCreditScore();
        if(accountService.updateCreditScore(creditScore - 5, accountId)<=0){
            return Result.error(CodeMsg.ADMIN_PROJECT_BIDDINGRECORD_CREDITSCORE_SUBTRACT_ERROR);
        }
        //更改状态为未支付 未交易
        if(biddingRecordService.updatePayStatusAndBiddingStatus(recordId,BiddingRecord.STATUS_NO,BiddingRecord.BIDDING_STATUS_DEFAULT)<=0){
            return Result.error(CodeMsg.ADMIN_ORGANIZATION_STATUS_EDIT_ERROR);
        }
        return Result.success(true);
    }
}

    /**
     * 文件名称验证
     * 
     * @param filename 文件名称
     * @return true 正常 false 非法
     */
    public static boolean isValidFilename(String filename)
    {
        return filename.matches(FILENAME_PATTERN);
    }

    /**
     * 下载文件名重新编码
     * 
     * @param request 请求对象
     * @param fileName 文件名
     * @return 编码后的文件名
     */
    public static String setFileDownloadHeader(HttpServletRequest request, String fileName)
            throws UnsupportedEncodingException
    {
        final String agent = request.getHeader("USER-AGENT");
        String filename = fileName;
        if (agent.contains("MSIE"))
        {
            // IE浏览器
            filename = URLEncoder.encode(filename, "utf-8");
            filename = filename.replace("+", " ");
        }
        else if (agent.contains("Firefox"))
        {
            // 火狐浏览器
            filename = new String(fileName.getBytes(), "ISO8859-1");
        }
        else if (agent.contains("Chrome"))
        {
            // google浏览器
            filename = URLEncoder.encode(filename, "utf-8");
        }
        else
        return Result.success(true);
    }

}

/**
 * 后台项目竞价列表控制器
 *
 */
@RequestMapping("/admin/bidding_record")
@Controller
public class ProjectRecordController {

    @Autowired
    private ProjectService projectService;

    @Autowired
    private ProjectCategoryService projectCategoryService;

    @Autowired
    private BiddingRecordService biddingRecordService;

    @Autowired
    private OperaterLogService operaterLogService;

            if (biddingApplyService.save(biddingApply) == null) {
                return Result.error(CodeMsg.HOME_PROJECT_SIGN_UP_ERROR);
            }
            //更新报名次数
            if (projectService.updateApplicantsNumber(biddingProject.getApplicantsNumber() + 1, pid) <= 0) {
                return Result.error(CodeMsg.HOME_BIDDING_PROJECT_APPLICANTSNUMBER_UPDATE_ERROR);
            }
        } else {
            //报名过
            return Result.error(CodeMsg.HOME_SIGN_UP_EXIST_ERROR);
        }
        return Result.success(true);
    }

    /**
     * 确定拍价
     *
     * @param pid
     * @param quantity
     * @param money
     * @return
     */
    @ResponseBody
    @PostMapping("/auction_price")
    public Result<Boolean> auctionPrice(@RequestParam(name = "id", required = true) Long pid, @RequestParam(name = "quantity", required = true) int quantity, @RequestParam(name = "money", required = true) int money) {
        Account account = SessionUtil.getAccount();
        //首先要根据项目id找到项目
        BiddingProject biddingProject = projectService.find(pid);
        if (biddingProject == null) {
            return Result.error(CodeMsg.ADMIN_PROJECT_SHOPING_NOT_EXIST);
        }
        //查询有没有报名
        BiddingApply biddingApply = biddingApplyService.findByBiddingProjectIdAndAccountId(pid, account.getId());
        if (biddingApply == null) {
            return Result.error(CodeMsg.HOME_SIGN_UP_NOT_EXIST_ERROR);
        }
        if (quantity > biddingProject.getQuantity()) {
            return Result.error(CodeMsg.HOME_PROJECT_QUANTITY_ERROR);
        }
        if (money < biddingProject.getStartPrice()) {
            return Result.error(CodeMsg.HOME_PROJECT_MINMONEY_ERROR);
        }
        //更新竞拍次数
        if (projectService.updateAuctionTimes(biddingProject.getAuctionTimes() + 1, pid) <= 0) {
            return Result.error(CodeMsg.HOME_BIDDING_PROJECT_AUCTIONTIMES_ADD_ERROR);
        }
        if (biddingProject.getTransactionPrice() < money) {
            //更新竞拍最高价
            if (projectService.updateMaxMoney(money, pid) <= 0) {
                return Result.error(CodeMsg.HOME_BIDDING_PROJECT_EDIT_MAX_MONEY_ERROR);
            }
	 * @return
	 */
	@RequestMapping(value="/delete_operator_log",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> delete(String ids){
		if(!StringUtils.isEmpty(ids)){
			String[] splitIds = ids.split(",");
			for(String id : splitIds){
				operaterLogService.delete(Long.valueOf(id));
			}
		}
		return Result.success(true);
	}
	/**
	 * 验证订单
	 * @param orderSn
	 * @param phone
	 * @return
	 */
	@RequestMapping(value="/auth_order",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> authOrder(@RequestParam(name="orderSn",required=true)String orderSn,@RequestParam(name="phone",required=true)String phone){
		if(orderSn.length() < 18){
			return Result.error(CodeMsg.ORDER_SN_ERROR);
		}
		if(phone.length() < 11){
			return Result.error(CodeMsg.PHONE_ERROR);
		}
		if(!StringUtil.authOrder(orderSn, phone)){
			return Result.error(CodeMsg.ORDER_AUTH_ERROR);
		}
		OrderAuth orderAuth = new OrderAuth();
		orderAuth.setMac(StringUtil.getMac());
		orderAuth.setOrderSn(orderSn);
		orderAuth.setPhone(phone);
		orderAuthService.save(orderAuth);
		AppConfig.ORDER_AUTH = 1;
		return Result.success(true);
	}
	/**
	 * 清空整个日志
	 * @return
	 */
	@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> deleteAll(){
	@RequestMapping(value="/auth_order",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> authOrder(@RequestParam(name="orderSn",required=true)String orderSn,@RequestParam(name="phone",required=true)String phone){
		if(orderSn.length() < 18){
			return Result.error(CodeMsg.ORDER_SN_ERROR);
		}
		if(phone.length() < 11){
			return Result.error(CodeMsg.PHONE_ERROR);
		}
		if(!StringUtil.authOrder(orderSn, phone)){
			return Result.error(CodeMsg.ORDER_AUTH_ERROR);
		}
		OrderAuth orderAuth = new OrderAuth();
		orderAuth.setMac(StringUtil.getMac());
		orderAuth.setOrderSn(orderSn);
		orderAuth.setPhone(phone);
		orderAuthService.save(orderAuth);
		AppConfig.ORDER_AUTH = 1;
		return Result.success(true);
	}
	/**
	 * 清空整个日志
	 * @return
	 */
	@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> deleteAll(){
		operaterLogService.deleteAll();
		return Result.success(true);
	}
}

    }

    /**
     * 拍卖者注册操作
     *
     * @param organization
     * @param
     * @return
     * @throws Exception
     */
    @PostMapping("/register")
    @ResponseBody
    public Result<Boolean> register(Organization organization) {
        organization.setRole(organizationService.findOrganizationRole());
        CodeMsg codeMsg = ValidateEntityUtil.validate(organization);
        if (codeMsg.getCode() != CodeMsg.SUCCESS.getCode())
            return Result.error(codeMsg);
        //验证邮箱
        if (!StringUtil.emailFormat(organization.getEmail()))
            return Result.error(CodeMsg.HOME_ACCOUNT_EMAIL_ERROR);
        //验证手机号
        if (!StringUtil.isMobile(organization.getMobile()))
            return Result.error(CodeMsg.COMMON_PHONE_FORMAET_ERROR);
        //判断手机号是否注册过和邮箱
        if (organizationService.findByEmail(organization.getEmail()) != null)
            return Result.error(CodeMsg.COMMON_EMAIL_EXSITER_ERROR);

        if (organizationService.findByPhone(organization.getMobile()) != null)
            return Result.error(CodeMsg.COMMON_PHONE_EXSITER_ERROR);
        //判断拍卖者名称
        if (organizationService.findByName(organization.getName()) != null)
            return Result.error(CodeMsg.ADMIN_ORGANIZATION_NAME_ERROR);
        if (organizationService.save(organization) == null) {
            return Result.error(CodeMsg.ADMIN_REGISTER_ERROR);
        }
        return Result.success(true);
    }

    /**
     * 改变拍卖者状态
     * @param id

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值