package com.goafanti.achievement.service;

import java.util.List;

import com.goafanti.achievement.bo.AchievementOrderListBo;
import com.goafanti.achievement.bo.OrgAchievementOrderListBo;
import com.goafanti.achievement.bo.UserAchievementOrderListBo;
import com.goafanti.common.model.AchievementOrder;
import com.goafanti.common.model.AchievementOrderLog;
import com.goafanti.core.mybatis.page.Pagination;

public interface AchievementOrderService {

	List<AchievementOrder> selectAchievementOrderByUidAndAchievementId(String userId, String achievementId);

	void saveAchievementOrder(AchievementOrder order, AchievementOrderLog aol);

	Pagination<AchievementOrderListBo> listOrderList(Integer status, Integer pNo, Integer pSize);

	AchievementOrder selectByPrimaryKey(String id);

	int updateShutdownByUser(AchievementOrder order);

	List<AchievementOrder> selectAchievementOrderByAchievementId(String string);

	Pagination<UserAchievementOrderListBo> listUserAchievementOrder(String uid, String username, Integer status, Integer pNo, Integer pSize);

	Pagination<OrgAchievementOrderListBo> listOrgAchievementOrder(String uid, String unitName, Integer status, Integer pNo, Integer pSize);

	int updateAchievementOrder(AchievementOrder achievementOrder, AchievementOrderLog aol,
			String recordTimeFormattedDate);

}
