class RewardMgmtService {

    /**
     * Logger.
     */
    private static final Logger LOGGER = LogManager.getLogger(RewardMgmtService.class);

    /**
     * Reward repository.
     */
    @Inject
    private RewardRepository rewardRepository;

    /**
     * Adds a reward with the specified request json object.
     *
     * @param requestJSONObject the specified request json object, for example,
     *                          {
     *                          "senderId"; "",
     *                          "dataId": "",
     *                          "type": int
     *                          }
     * @return reward id
     * @throws ServiceException service exception
     */
    @Transactional
    public String addReward(final JSONObject requestJSONObject) throws ServiceException {<FILL_FUNCTION_BODY>}
}

        try {
            return rewardRepository.add(requestJSONObject);
        } catch (final RepositoryException e) {
            final String msg = "Adds reward failed";
            LOGGER.log(Level.ERROR, msg, e);

            throw new ServiceException(msg);
        }
    
<no_super_class>